]> git.lizzy.rs Git - rust.git/commitdiff
bless mir opt tests
authorNilstrieb <48135649+Nilstrieb@users.noreply.github.com>
Wed, 27 Jul 2022 18:47:42 +0000 (20:47 +0200)
committerNilstrieb <48135649+Nilstrieb@users.noreply.github.com>
Thu, 28 Jul 2022 12:24:44 +0000 (14:24 +0200)
331 files changed:
src/test/mir-opt/76803_regression.encode.SimplifyBranchSame.diff
src/test/mir-opt/address_of.address_of_reborrow.SimplifyCfg-initial.after.mir
src/test/mir-opt/address_of.borrow_and_cast.SimplifyCfg-initial.after.mir
src/test/mir-opt/array_index_is_temporary.main.SimplifyCfg-elaborate-drops.after.32bit.mir
src/test/mir-opt/array_index_is_temporary.main.SimplifyCfg-elaborate-drops.after.64bit.mir
src/test/mir-opt/asm_unwind_panic_abort.main.AbortUnwindingCalls.after.mir
src/test/mir-opt/basic_assignment.main.SimplifyCfg-initial.after.mir
src/test/mir-opt/bool_compare.opt1.InstCombine.diff
src/test/mir-opt/bool_compare.opt2.InstCombine.diff
src/test/mir-opt/bool_compare.opt3.InstCombine.diff
src/test/mir-opt/bool_compare.opt4.InstCombine.diff
src/test/mir-opt/box_expr.main.ElaborateDrops.before.mir
src/test/mir-opt/byte_slice.main.SimplifyCfg-elaborate-drops.after.mir
src/test/mir-opt/combine_array_len.norm2.InstCombine.32bit.diff
src/test/mir-opt/combine_array_len.norm2.InstCombine.64bit.diff
src/test/mir-opt/combine_clone_of_primitives.{impl#0}-clone.InstCombine.diff
src/test/mir-opt/const_allocation.main.ConstProp.after.32bit.mir
src/test/mir-opt/const_allocation.main.ConstProp.after.64bit.mir
src/test/mir-opt/const_allocation2.main.ConstProp.after.32bit.mir
src/test/mir-opt/const_allocation2.main.ConstProp.after.64bit.mir
src/test/mir-opt/const_allocation3.main.ConstProp.after.32bit.mir
src/test/mir-opt/const_allocation3.main.ConstProp.after.64bit.mir
src/test/mir-opt/const_debuginfo.main.ConstDebugInfo.diff
src/test/mir-opt/const_goto.issue_77355_opt.ConstGoto.diff
src/test/mir-opt/const_goto_const_eval_fail.f.ConstGoto.diff
src/test/mir-opt/const_goto_storage.match_nested_if.ConstGoto.diff
src/test/mir-opt/const_promotion_extern_static.BAR-promoted[0].SimplifyCfg-elaborate-drops.after.mir
src/test/mir-opt/const_promotion_extern_static.BAR.PromoteTemps.diff
src/test/mir-opt/const_promotion_extern_static.BOP.mir_map.0.mir
src/test/mir-opt/const_promotion_extern_static.FOO-promoted[0].SimplifyCfg-elaborate-drops.after.mir
src/test/mir-opt/const_promotion_extern_static.FOO.PromoteTemps.diff
src/test/mir-opt/const_prop/aggregate.main.ConstProp.diff
src/test/mir-opt/const_prop/array_index.main.ConstProp.32bit.diff
src/test/mir-opt/const_prop/array_index.main.ConstProp.64bit.diff
src/test/mir-opt/const_prop/bad_op_div_by_zero.main.ConstProp.diff
src/test/mir-opt/const_prop/bad_op_mod_by_zero.main.ConstProp.diff
src/test/mir-opt/const_prop/bad_op_unsafe_oob_for_slices.main.ConstProp.32bit.diff
src/test/mir-opt/const_prop/bad_op_unsafe_oob_for_slices.main.ConstProp.64bit.diff
src/test/mir-opt/const_prop/boolean_identities.test.ConstProp.diff
src/test/mir-opt/const_prop/boxes.main.ConstProp.diff
src/test/mir-opt/const_prop/cast.main.ConstProp.diff
src/test/mir-opt/const_prop/checked_add.main.ConstProp.diff
src/test/mir-opt/const_prop/const_prop_fails_gracefully.main.ConstProp.diff
src/test/mir-opt/const_prop/control_flow_simplification.hello.ConstProp.diff
src/test/mir-opt/const_prop/control_flow_simplification.hello.PreCodegen.before.mir
src/test/mir-opt/const_prop/discriminant.main.ConstProp.32bit.diff
src/test/mir-opt/const_prop/discriminant.main.ConstProp.64bit.diff
src/test/mir-opt/const_prop/indirect.main.ConstProp.diff
src/test/mir-opt/const_prop/invalid_constant.main.ConstProp.diff
src/test/mir-opt/const_prop/issue_66971.main.ConstProp.diff
src/test/mir-opt/const_prop/issue_67019.main.ConstProp.diff
src/test/mir-opt/const_prop/large_array_index.main.ConstProp.32bit.diff
src/test/mir-opt/const_prop/large_array_index.main.ConstProp.64bit.diff
src/test/mir-opt/const_prop/mult_by_zero.test.ConstProp.diff
src/test/mir-opt/const_prop/mutable_variable.main.ConstProp.diff
src/test/mir-opt/const_prop/mutable_variable_aggregate.main.ConstProp.diff
src/test/mir-opt/const_prop/mutable_variable_aggregate_mut_ref.main.ConstProp.diff
src/test/mir-opt/const_prop/mutable_variable_aggregate_partial_read.main.ConstProp.diff
src/test/mir-opt/const_prop/mutable_variable_no_prop.main.ConstProp.diff
src/test/mir-opt/const_prop/mutable_variable_unprop_assign.main.ConstProp.diff
src/test/mir-opt/const_prop/optimizes_into_variable.main.ConstProp.32bit.diff
src/test/mir-opt/const_prop/optimizes_into_variable.main.ConstProp.64bit.diff
src/test/mir-opt/const_prop/optimizes_into_variable.main.SimplifyLocals.after.32bit.mir
src/test/mir-opt/const_prop/optimizes_into_variable.main.SimplifyLocals.after.64bit.mir
src/test/mir-opt/const_prop/read_immutable_static.main.ConstProp.diff
src/test/mir-opt/const_prop/ref_deref.main.ConstProp.diff
src/test/mir-opt/const_prop/ref_deref.main.PromoteTemps.diff
src/test/mir-opt/const_prop/ref_deref_project.main.ConstProp.diff
src/test/mir-opt/const_prop/ref_deref_project.main.PromoteTemps.diff
src/test/mir-opt/const_prop/reify_fn_ptr.main.ConstProp.diff
src/test/mir-opt/const_prop/repeat.main.ConstProp.32bit.diff
src/test/mir-opt/const_prop/repeat.main.ConstProp.64bit.diff
src/test/mir-opt/const_prop/return_place.add.ConstProp.diff
src/test/mir-opt/const_prop/return_place.add.PreCodegen.before.mir
src/test/mir-opt/const_prop/scalar_literal_propagation.main.ConstProp.diff
src/test/mir-opt/const_prop/slice_len.main.ConstProp.32bit.diff
src/test/mir-opt/const_prop/slice_len.main.ConstProp.64bit.diff
src/test/mir-opt/const_prop/switch_int.main.ConstProp.diff
src/test/mir-opt/const_prop/switch_int.main.SimplifyConstCondition-after-const-prop.diff
src/test/mir-opt/const_prop/tuple_literal_propagation.main.ConstProp.diff
src/test/mir-opt/const_prop_miscompile.bar.ConstProp.diff
src/test/mir-opt/const_prop_miscompile.foo.ConstProp.diff
src/test/mir-opt/dead-store-elimination/cycle.cycle.DeadStoreElimination.diff
src/test/mir-opt/dead-store-elimination/provenance_soundness.pointer_to_int.DeadStoreElimination.diff
src/test/mir-opt/dead-store-elimination/provenance_soundness.retags.DeadStoreElimination.diff
src/test/mir-opt/deaggregator_test.bar.Deaggregator.diff
src/test/mir-opt/deaggregator_test_enum.bar.Deaggregator.diff
src/test/mir-opt/deaggregator_test_enum_2.test1.Deaggregator.diff
src/test/mir-opt/deaggregator_test_multiple.test.Deaggregator.diff
src/test/mir-opt/deduplicate_blocks.is_line_doc_comment_2.DeduplicateBlocks.diff
src/test/mir-opt/derefer_complex_case.main.Derefer.diff
src/test/mir-opt/derefer_inline_test.main.Derefer.diff
src/test/mir-opt/derefer_terminator_test.main.Derefer.diff
src/test/mir-opt/derefer_test.main.Derefer.diff
src/test/mir-opt/derefer_test_multiple.main.Derefer.diff
src/test/mir-opt/dest-prop/branch.main.DestinationPropagation.diff
src/test/mir-opt/dest-prop/copy_propagation_arg.arg_src.DestinationPropagation.diff
src/test/mir-opt/dest-prop/copy_propagation_arg.bar.DestinationPropagation.diff
src/test/mir-opt/dest-prop/copy_propagation_arg.baz.DestinationPropagation.diff
src/test/mir-opt/dest-prop/copy_propagation_arg.foo.DestinationPropagation.diff
src/test/mir-opt/dest-prop/cycle.main.DestinationPropagation.diff
src/test/mir-opt/dest-prop/simple.nrvo.DestinationPropagation.diff
src/test/mir-opt/dest-prop/union.main.DestinationPropagation.diff
src/test/mir-opt/early_otherwise_branch.opt1.EarlyOtherwiseBranch.diff
src/test/mir-opt/early_otherwise_branch.opt2.EarlyOtherwiseBranch.diff
src/test/mir-opt/early_otherwise_branch.opt3.EarlyOtherwiseBranch.diff
src/test/mir-opt/early_otherwise_branch_3_element_tuple.opt1.EarlyOtherwiseBranch.diff
src/test/mir-opt/early_otherwise_branch_68867.try_sum.EarlyOtherwiseBranch.before-SimplifyConstCondition-final.after.diff
src/test/mir-opt/early_otherwise_branch_68867.try_sum.EarlyOtherwiseBranch.diff
src/test/mir-opt/early_otherwise_branch_noopt.noopt1.EarlyOtherwiseBranch.diff
src/test/mir-opt/early_otherwise_branch_soundness.no_deref_ptr.EarlyOtherwiseBranch.diff
src/test/mir-opt/early_otherwise_branch_soundness.no_downcast.EarlyOtherwiseBranch.diff
src/test/mir-opt/enum_cast.bar.mir_map.0.mir
src/test/mir-opt/enum_cast.boo.mir_map.0.mir
src/test/mir-opt/enum_cast.droppy.mir_map.0.mir
src/test/mir-opt/enum_cast.foo.mir_map.0.mir
src/test/mir-opt/equal_true.opt.InstCombine.diff
src/test/mir-opt/exponential_or.match_tuple.SimplifyCfg-initial.after.mir
src/test/mir-opt/fn_ptr_shim.core.ops-function-Fn-call.AddMovesForPackedDrops.before.mir
src/test/mir-opt/funky_arms.float_to_exponential_common.ConstProp.diff
src/test/mir-opt/generator_drop_cleanup.main-{closure#0}.generator_drop.0.mir
src/test/mir-opt/generator_storage_dead_unwind.main-{closure#0}.StateTransform.before.mir
src/test/mir-opt/generator_tiny.main-{closure#0}.generator_resume.0.mir
src/test/mir-opt/if_condition_int.dont_opt_bool.SimplifyComparisonIntegral.diff
src/test/mir-opt/if_condition_int.dont_opt_floats.SimplifyComparisonIntegral.diff
src/test/mir-opt/if_condition_int.dont_remove_comparison.SimplifyComparisonIntegral.diff
src/test/mir-opt/if_condition_int.opt_char.SimplifyComparisonIntegral.diff
src/test/mir-opt/if_condition_int.opt_i8.SimplifyComparisonIntegral.diff
src/test/mir-opt/if_condition_int.opt_multiple_ifs.SimplifyComparisonIntegral.diff
src/test/mir-opt/if_condition_int.opt_negative.SimplifyComparisonIntegral.diff
src/test/mir-opt/if_condition_int.opt_u32.SimplifyComparisonIntegral.diff
src/test/mir-opt/inline/caller_with_trivial_bound.foo.Inline.diff
src/test/mir-opt/inline/cycle.f.Inline.diff
src/test/mir-opt/inline/cycle.g.Inline.diff
src/test/mir-opt/inline/cycle.main.Inline.diff
src/test/mir-opt/inline/dyn_trait.get_query.Inline.diff
src/test/mir-opt/inline/dyn_trait.mk_cycle.Inline.diff
src/test/mir-opt/inline/dyn_trait.try_execute_query.Inline.diff
src/test/mir-opt/inline/inline_any_operand.bar.Inline.after.mir
src/test/mir-opt/inline/inline_closure.foo.Inline.after.mir
src/test/mir-opt/inline/inline_closure_borrows_arg.foo.Inline.after.mir
src/test/mir-opt/inline/inline_closure_captures.foo.Inline.after.mir
src/test/mir-opt/inline/inline_compatibility.inlined_no_sanitize.Inline.diff
src/test/mir-opt/inline/inline_compatibility.inlined_target_feature.Inline.diff
src/test/mir-opt/inline/inline_compatibility.not_inlined_c_variadic.Inline.diff
src/test/mir-opt/inline/inline_compatibility.not_inlined_no_sanitize.Inline.diff
src/test/mir-opt/inline/inline_compatibility.not_inlined_target_feature.Inline.diff
src/test/mir-opt/inline/inline_cycle.one.Inline.diff
src/test/mir-opt/inline/inline_cycle.two.Inline.diff
src/test/mir-opt/inline/inline_cycle_generic.main.Inline.diff
src/test/mir-opt/inline/inline_diverging.f.Inline.diff
src/test/mir-opt/inline/inline_diverging.g.Inline.diff
src/test/mir-opt/inline/inline_diverging.h.Inline.diff
src/test/mir-opt/inline/inline_generator.main.Inline.diff
src/test/mir-opt/inline/inline_instruction_set.default.Inline.diff
src/test/mir-opt/inline/inline_instruction_set.t32.Inline.diff
src/test/mir-opt/inline/inline_into_box_place.main.Inline.32bit.diff
src/test/mir-opt/inline/inline_into_box_place.main.Inline.64bit.diff
src/test/mir-opt/inline/inline_options.main.Inline.after.mir
src/test/mir-opt/inline/inline_retag.bar.Inline.after.mir
src/test/mir-opt/inline/inline_shims.clone.Inline.diff
src/test/mir-opt/inline/inline_shims.drop.Inline.diff
src/test/mir-opt/inline/inline_specialization.main.Inline.diff
src/test/mir-opt/inline/inline_trait_method.test.Inline.after.mir
src/test/mir-opt/inline/inline_trait_method_2.test2.Inline.after.mir
src/test/mir-opt/inline/issue_58867_inline_as_ref_as_mut.a.Inline.after.mir
src/test/mir-opt/inline/issue_58867_inline_as_ref_as_mut.b.Inline.after.mir
src/test/mir-opt/inline/issue_58867_inline_as_ref_as_mut.c.Inline.after.mir
src/test/mir-opt/inline/issue_58867_inline_as_ref_as_mut.d.Inline.after.mir
src/test/mir-opt/inline/issue_76997_inline_scopes_parenting.main.Inline.after.mir
src/test/mir-opt/inline/issue_78442.bar.Inline.diff
src/test/mir-opt/inline/issue_78442.bar.RevealAll.diff
src/test/mir-opt/instrument_coverage.bar.InstrumentCoverage.diff
src/test/mir-opt/instrument_coverage.main.InstrumentCoverage.diff
src/test/mir-opt/issue_38669.main.SimplifyCfg-initial.after.mir
src/test/mir-opt/issue_41110.main.ElaborateDrops.after.mir
src/test/mir-opt/issue_41110.test.ElaborateDrops.after.mir
src/test/mir-opt/issue_41697.{impl#0}-{constant#0}.SimplifyCfg-promote-consts.after.32bit.mir
src/test/mir-opt/issue_41697.{impl#0}-{constant#0}.SimplifyCfg-promote-consts.after.64bit.mir
src/test/mir-opt/issue_41888.main.ElaborateDrops.after.mir
src/test/mir-opt/issue_49232.main.mir_map.0.mir
src/test/mir-opt/issue_62289.test.ElaborateDrops.before.mir
src/test/mir-opt/issue_72181.bar.mir_map.0.32bit.mir
src/test/mir-opt/issue_72181.bar.mir_map.0.64bit.mir
src/test/mir-opt/issue_72181.foo.mir_map.0.32bit.mir
src/test/mir-opt/issue_72181.foo.mir_map.0.64bit.mir
src/test/mir-opt/issue_72181.main.mir_map.0.32bit.mir
src/test/mir-opt/issue_72181.main.mir_map.0.64bit.mir
src/test/mir-opt/issue_72181_1.f.mir_map.0.mir
src/test/mir-opt/issue_72181_1.main.mir_map.0.mir
src/test/mir-opt/issue_73223.main.PreCodegen.32bit.diff
src/test/mir-opt/issue_73223.main.PreCodegen.64bit.diff
src/test/mir-opt/issue_73223.main.SimplifyArmIdentity.32bit.diff
src/test/mir-opt/issue_73223.main.SimplifyArmIdentity.64bit.diff
src/test/mir-opt/issue_76432.test.SimplifyComparisonIntegral.diff
src/test/mir-opt/issue_78192.f.InstCombine.diff
src/test/mir-opt/issue_99325.main.mir_map.0.mir
src/test/mir-opt/issues/issue_59352.num_to_digit.PreCodegen.after.mir
src/test/mir-opt/issues/issue_75439.foo.MatchBranchSimplification.diff
src/test/mir-opt/loop_test.main.SimplifyCfg-promote-consts.after.mir
src/test/mir-opt/lower_array_len.array_bound.InstCombine.diff
src/test/mir-opt/lower_array_len.array_bound.NormalizeArrayLen.diff
src/test/mir-opt/lower_array_len.array_bound.SimplifyLocals.diff
src/test/mir-opt/lower_array_len.array_bound_mut.InstCombine.diff
src/test/mir-opt/lower_array_len.array_bound_mut.NormalizeArrayLen.diff
src/test/mir-opt/lower_array_len.array_bound_mut.SimplifyLocals.diff
src/test/mir-opt/lower_array_len.array_len.InstCombine.diff
src/test/mir-opt/lower_array_len.array_len.NormalizeArrayLen.diff
src/test/mir-opt/lower_array_len.array_len.SimplifyLocals.diff
src/test/mir-opt/lower_array_len.array_len_by_value.InstCombine.diff
src/test/mir-opt/lower_array_len.array_len_by_value.NormalizeArrayLen.diff
src/test/mir-opt/lower_array_len.array_len_by_value.SimplifyLocals.diff
src/test/mir-opt/lower_intrinsics.align_of.LowerIntrinsics.diff
src/test/mir-opt/lower_intrinsics.discriminant.LowerIntrinsics.diff
src/test/mir-opt/lower_intrinsics.f_u64.PreCodegen.before.mir
src/test/mir-opt/lower_intrinsics.f_unit.PreCodegen.before.mir
src/test/mir-opt/lower_intrinsics.forget.LowerIntrinsics.diff
src/test/mir-opt/lower_intrinsics.non_const.LowerIntrinsics.diff
src/test/mir-opt/lower_intrinsics.size_of.LowerIntrinsics.diff
src/test/mir-opt/lower_intrinsics.unreachable.LowerIntrinsics.diff
src/test/mir-opt/lower_intrinsics.wrapping.LowerIntrinsics.diff
src/test/mir-opt/lower_slice_len.bound.LowerSliceLenCalls.diff
src/test/mir-opt/match_arm_scopes.complicated_match.SimplifyCfg-initial.after-ElaborateDrops.after.diff
src/test/mir-opt/match_false_edges.full_tested_match.PromoteTemps.after.mir
src/test/mir-opt/match_false_edges.full_tested_match2.PromoteTemps.before.mir
src/test/mir-opt/match_false_edges.main.PromoteTemps.before.mir
src/test/mir-opt/match_test.main.SimplifyCfg-initial.after.mir
src/test/mir-opt/matches_reduce_branches.bar.MatchBranchSimplification.32bit.diff
src/test/mir-opt/matches_reduce_branches.bar.MatchBranchSimplification.64bit.diff
src/test/mir-opt/matches_reduce_branches.foo.MatchBranchSimplification.32bit.diff
src/test/mir-opt/matches_reduce_branches.foo.MatchBranchSimplification.64bit.diff
src/test/mir-opt/matches_reduce_branches.foo.PreCodegen.before.32bit.mir
src/test/mir-opt/matches_reduce_branches.foo.PreCodegen.before.64bit.mir
src/test/mir-opt/matches_reduce_branches.match_nested_if.MatchBranchSimplification.32bit.diff
src/test/mir-opt/matches_reduce_branches.match_nested_if.MatchBranchSimplification.64bit.diff
src/test/mir-opt/matches_u8.exhaustive_match.MatchBranchSimplification.32bit.diff
src/test/mir-opt/matches_u8.exhaustive_match.MatchBranchSimplification.64bit.diff
src/test/mir-opt/matches_u8.exhaustive_match_i8.MatchBranchSimplification.32bit.diff
src/test/mir-opt/matches_u8.exhaustive_match_i8.MatchBranchSimplification.64bit.diff
src/test/mir-opt/multiple_return_terminators.test.MultipleReturnTerminators.diff
src/test/mir-opt/nll/named_lifetimes_basic.use_x.nll.0.mir
src/test/mir-opt/nll/region_subtyping_basic.main.nll.0.32bit.mir
src/test/mir-opt/nll/region_subtyping_basic.main.nll.0.64bit.mir
src/test/mir-opt/no_drop_for_inactive_variant.unwrap.SimplifyCfg-elaborate-drops.after.mir
src/test/mir-opt/no_spurious_drop_after_call.main.ElaborateDrops.before.mir
src/test/mir-opt/not_equal_false.opt.InstCombine.diff
src/test/mir-opt/nrvo_simple.nrvo.RenameReturnPlace.diff
src/test/mir-opt/packed_struct_drop_aligned.main.SimplifyCfg-elaborate-drops.after.32bit.mir
src/test/mir-opt/packed_struct_drop_aligned.main.SimplifyCfg-elaborate-drops.after.64bit.mir
src/test/mir-opt/receiver_ptr_mutability.main.mir_map.0.mir
src/test/mir-opt/remove_fake_borrows.match_guard.CleanupNonCodegenStatements.diff
src/test/mir-opt/remove_never_const.no_codegen.PreCodegen.after.mir
src/test/mir-opt/remove_storage_markers.main.RemoveStorageMarkers.diff
src/test/mir-opt/remove_unneeded_drops.cannot_opt_generic.RemoveUnneededDrops.diff
src/test/mir-opt/remove_unneeded_drops.dont_opt.RemoveUnneededDrops.diff
src/test/mir-opt/remove_unneeded_drops.opt.RemoveUnneededDrops.diff
src/test/mir-opt/remove_unneeded_drops.opt_generic_copy.RemoveUnneededDrops.diff
src/test/mir-opt/remove_zsts_dont_touch_unions.get_union.RemoveZsts.after.mir
src/test/mir-opt/retag.array_casts.SimplifyCfg-elaborate-drops.after.mir
src/test/mir-opt/retag.core.ptr-drop_in_place.Test.SimplifyCfg-make_shim.after.mir
src/test/mir-opt/retag.main-{closure#0}.SimplifyCfg-elaborate-drops.after.mir
src/test/mir-opt/retag.main.SimplifyCfg-elaborate-drops.after.mir
src/test/mir-opt/retag.{impl#0}-foo.SimplifyCfg-elaborate-drops.after.mir
src/test/mir-opt/retag.{impl#0}-foo_shr.SimplifyCfg-elaborate-drops.after.mir
src/test/mir-opt/separate_const_switch.identity.ConstProp.diff
src/test/mir-opt/separate_const_switch.identity.PreCodegen.after.mir
src/test/mir-opt/separate_const_switch.identity.SeparateConstSwitch.diff
src/test/mir-opt/separate_const_switch.too_complex.ConstProp.diff
src/test/mir-opt/separate_const_switch.too_complex.PreCodegen.after.mir
src/test/mir-opt/separate_const_switch.too_complex.SeparateConstSwitch.diff
src/test/mir-opt/simple_match.match_bool.mir_map.0.32bit.mir
src/test/mir-opt/simple_match.match_bool.mir_map.0.64bit.mir
src/test/mir-opt/simplify_arm.id.SimplifyArmIdentity.diff
src/test/mir-opt/simplify_arm.id.SimplifyBranchSame.diff
src/test/mir-opt/simplify_arm.id_result.SimplifyArmIdentity.diff
src/test/mir-opt/simplify_arm.id_result.SimplifyBranchSame.diff
src/test/mir-opt/simplify_arm.id_try.SimplifyArmIdentity.diff
src/test/mir-opt/simplify_arm.id_try.SimplifyBranchSame.diff
src/test/mir-opt/simplify_arm_identity.main.SimplifyArmIdentity.32bit.diff
src/test/mir-opt/simplify_arm_identity.main.SimplifyArmIdentity.64bit.diff
src/test/mir-opt/simplify_cfg.main.SimplifyCfg-early-opt.diff
src/test/mir-opt/simplify_cfg.main.SimplifyCfg-initial.diff
src/test/mir-opt/simplify_if.main.SimplifyConstCondition-after-const-prop.diff
src/test/mir-opt/simplify_locals.c.SimplifyLocals.diff
src/test/mir-opt/simplify_locals.d1.SimplifyLocals.diff
src/test/mir-opt/simplify_locals.d2.SimplifyLocals.diff
src/test/mir-opt/simplify_locals.expose_addr.SimplifyLocals.diff
src/test/mir-opt/simplify_locals.r.SimplifyLocals.diff
src/test/mir-opt/simplify_locals.t1.SimplifyLocals.diff
src/test/mir-opt/simplify_locals.t2.SimplifyLocals.diff
src/test/mir-opt/simplify_locals.t3.SimplifyLocals.diff
src/test/mir-opt/simplify_locals.t4.SimplifyLocals.diff
src/test/mir-opt/simplify_locals_fixedpoint.foo.SimplifyLocals.diff
src/test/mir-opt/simplify_locals_removes_unused_consts.main.SimplifyLocals.diff
src/test/mir-opt/simplify_locals_removes_unused_discriminant_reads.map.SimplifyLocals.32bit.diff
src/test/mir-opt/simplify_locals_removes_unused_discriminant_reads.map.SimplifyLocals.64bit.diff
src/test/mir-opt/simplify_match.main.ConstProp.diff
src/test/mir-opt/simplify_try.try_identity.DestinationPropagation.diff
src/test/mir-opt/simplify_try.try_identity.SimplifyArmIdentity.diff
src/test/mir-opt/simplify_try.try_identity.SimplifyBranchSame.after.mir
src/test/mir-opt/simplify_try.try_identity.SimplifyLocals.after.mir
src/test/mir-opt/slice_drop_shim.core.ptr-drop_in_place.[String].AddMovesForPackedDrops.before.32bit.mir
src/test/mir-opt/slice_drop_shim.core.ptr-drop_in_place.[String].AddMovesForPackedDrops.before.64bit.mir
src/test/mir-opt/storage_live_dead_in_statics.XXX.mir_map.0.mir
src/test/mir-opt/storage_ranges.main.nll.0.mir
src/test/mir-opt/tls_access.main.PreCodegen.after.mir
src/test/mir-opt/uniform_array_move_out.move_out_by_subslice.mir_map.0.mir
src/test/mir-opt/uniform_array_move_out.move_out_from_end.mir_map.0.mir
src/test/mir-opt/uninhabited_enum.process_never.SimplifyLocals.after.mir
src/test/mir-opt/uninhabited_enum.process_void.SimplifyLocals.after.mir
src/test/mir-opt/uninhabited_enum_branching.main.SimplifyCfg-after-uninhabited-enum-branching.after.mir
src/test/mir-opt/uninhabited_enum_branching.main.UninhabitedEnumBranching.diff
src/test/mir-opt/uninhabited_enum_branching2.main.SimplifyCfg-after-uninhabited-enum-branching.after.mir
src/test/mir-opt/uninhabited_enum_branching2.main.UninhabitedEnumBranching.diff
src/test/mir-opt/uninhabited_fallthrough_elimination.eliminate_fallthrough.UninhabitedEnumBranching.diff
src/test/mir-opt/uninhabited_fallthrough_elimination.keep_fallthrough.UninhabitedEnumBranching.diff
src/test/mir-opt/unreachable.main.UnreachablePropagation.diff
src/test/mir-opt/unreachable_diverging.main.UnreachablePropagation.diff
src/test/mir-opt/unusual_item_types.E-V-{constant#0}.mir_map.0.32bit.mir
src/test/mir-opt/unusual_item_types.E-V-{constant#0}.mir_map.0.64bit.mir
src/test/mir-opt/unusual_item_types.Test-X-{constructor#0}.mir_map.0.32bit.mir
src/test/mir-opt/unusual_item_types.Test-X-{constructor#0}.mir_map.0.64bit.mir
src/test/mir-opt/unusual_item_types.core.ptr-drop_in_place.Vec_i32_.AddMovesForPackedDrops.before.32bit.mir
src/test/mir-opt/unusual_item_types.core.ptr-drop_in_place.Vec_i32_.AddMovesForPackedDrops.before.64bit.mir
src/test/mir-opt/unusual_item_types.{impl#0}-ASSOCIATED_CONSTANT.mir_map.0.32bit.mir
src/test/mir-opt/unusual_item_types.{impl#0}-ASSOCIATED_CONSTANT.mir_map.0.64bit.mir
src/test/mir-opt/while_let_loops.change_loop_body.ConstProp.32bit.diff
src/test/mir-opt/while_let_loops.change_loop_body.ConstProp.64bit.diff
src/test/mir-opt/while_let_loops.change_loop_body.PreCodegen.after.32bit.mir
src/test/mir-opt/while_let_loops.change_loop_body.PreCodegen.after.64bit.mir
src/test/mir-opt/while_storage.while_loop.PreCodegen.after.mir

index 884275430c8b164eb508de4592651bc8ff3ba407..57e298625f9a086c1e19dac1904153824bafc34f 100644 (file)
@@ -2,28 +2,28 @@
 + // MIR for `encode` after SimplifyBranchSame
   
   fn encode(_1: Type) -> Type {
-      debug v => _1;                       // in scope 0 at $DIR/76803_regression.rs:10:15: 10:16
-      let mut _0: Type;                    // return place in scope 0 at $DIR/76803_regression.rs:10:27: 10:31
-      let mut _2: isize;                   // in scope 0 at $DIR/76803_regression.rs:12:9: 12:16
+      debug v => _1;                       // in scope 0 at $DIR/76803_regression.rs:+0:15: +0:16
+      let mut _0: Type;                    // return place in scope 0 at $DIR/76803_regression.rs:+0:27: +0:31
+      let mut _2: isize;                   // in scope 0 at $DIR/76803_regression.rs:+2:9: +2:16
   
       bb0: {
-          _2 = discriminant(_1);           // scope 0 at $DIR/76803_regression.rs:11:11: 11:12
-          switchInt(move _2) -> [0_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/76803_regression.rs:11:5: 11:12
+          _2 = discriminant(_1);           // scope 0 at $DIR/76803_regression.rs:+1:11: +1:12
+          switchInt(move _2) -> [0_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/76803_regression.rs:+1:5: +1:12
       }
   
       bb1: {
-          _0 = move _1;                    // scope 0 at $DIR/76803_regression.rs:13:14: 13:15
-          goto -> bb3;                     // scope 0 at $DIR/76803_regression.rs:13:14: 13:15
+          _0 = move _1;                    // scope 0 at $DIR/76803_regression.rs:+3:14: +3:15
+          goto -> bb3;                     // scope 0 at $DIR/76803_regression.rs:+3:14: +3:15
       }
   
       bb2: {
-          Deinit(_0);                      // scope 0 at $DIR/76803_regression.rs:12:20: 12:27
-          discriminant(_0) = 1;            // scope 0 at $DIR/76803_regression.rs:12:20: 12:27
-          goto -> bb3;                     // scope 0 at $DIR/76803_regression.rs:12:20: 12:27
+          Deinit(_0);                      // scope 0 at $DIR/76803_regression.rs:+2:20: +2:27
+          discriminant(_0) = 1;            // scope 0 at $DIR/76803_regression.rs:+2:20: +2:27
+          goto -> bb3;                     // scope 0 at $DIR/76803_regression.rs:+2:20: +2:27
       }
   
       bb3: {
-          return;                          // scope 0 at $DIR/76803_regression.rs:15:2: 15:2
+          return;                          // scope 0 at $DIR/76803_regression.rs:+5:2: +5:2
       }
   }
   
index ee8e21781480cb79761bd59b9dd319c1f2ecf423..d41a66871cc438bdf0e6e11d2140f9eb247cac2a 100644 (file)
 | 29: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*mut [i32]) }, span: $DIR/address-of.rs:36:12: 36:22, inferred_ty: *mut [i32]
 |
 fn address_of_reborrow() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/address-of.rs:3:26: 3:26
-    let _1: &[i32; 10];                  // in scope 0 at $DIR/address-of.rs:4:9: 4:10
-    let _2: [i32; 10];                   // in scope 0 at $DIR/address-of.rs:4:14: 4:21
-    let mut _4: [i32; 10];               // in scope 0 at $DIR/address-of.rs:5:22: 5:29
-    let _5: *const [i32; 10];            // in scope 0 at $DIR/address-of.rs:7:5: 7:18
-    let mut _6: *const [i32; 10];        // in scope 0 at $DIR/address-of.rs:7:5: 7:18
-    let _7: *const [i32; 10];            // in scope 0 at $DIR/address-of.rs:8:5: 8:26
-    let _8: *const dyn std::marker::Send; // in scope 0 at $DIR/address-of.rs:9:5: 9:25
-    let mut _9: *const dyn std::marker::Send; // in scope 0 at $DIR/address-of.rs:9:5: 9:25
-    let mut _10: *const [i32; 10];       // in scope 0 at $DIR/address-of.rs:9:5: 9:6
-    let _11: *const [i32];               // in scope 0 at $DIR/address-of.rs:10:5: 10:22
-    let mut _12: *const [i32; 10];       // in scope 0 at $DIR/address-of.rs:10:5: 10:6
-    let _13: *const i32;                 // in scope 0 at $DIR/address-of.rs:11:5: 11:20
-    let mut _14: *const [i32; 10];       // in scope 0 at $DIR/address-of.rs:11:5: 11:6
-    let mut _18: *const [i32; 10];       // in scope 0 at $DIR/address-of.rs:15:30: 15:31
-    let mut _20: *const [i32; 10];       // in scope 0 at $DIR/address-of.rs:16:27: 16:28
-    let _21: *const [i32; 10];           // in scope 0 at $DIR/address-of.rs:18:5: 18:18
-    let mut _22: *const [i32; 10];       // in scope 0 at $DIR/address-of.rs:18:5: 18:18
-    let _23: *const [i32; 10];           // in scope 0 at $DIR/address-of.rs:19:5: 19:26
-    let _24: *const dyn std::marker::Send; // in scope 0 at $DIR/address-of.rs:20:5: 20:25
-    let mut _25: *const dyn std::marker::Send; // in scope 0 at $DIR/address-of.rs:20:5: 20:25
-    let mut _26: *const [i32; 10];       // in scope 0 at $DIR/address-of.rs:20:5: 20:6
-    let _27: *const [i32];               // in scope 0 at $DIR/address-of.rs:21:5: 21:22
-    let mut _28: *const [i32; 10];       // in scope 0 at $DIR/address-of.rs:21:5: 21:6
-    let mut _32: *const [i32; 10];       // in scope 0 at $DIR/address-of.rs:25:30: 25:31
-    let mut _34: *const [i32; 10];       // in scope 0 at $DIR/address-of.rs:26:27: 26:28
-    let _35: *mut [i32; 10];             // in scope 0 at $DIR/address-of.rs:28:5: 28:16
-    let mut _36: *mut [i32; 10];         // in scope 0 at $DIR/address-of.rs:28:5: 28:16
-    let _37: *mut [i32; 10];             // in scope 0 at $DIR/address-of.rs:29:5: 29:24
-    let _38: *mut dyn std::marker::Send; // in scope 0 at $DIR/address-of.rs:30:5: 30:23
-    let mut _39: *mut dyn std::marker::Send; // in scope 0 at $DIR/address-of.rs:30:5: 30:23
-    let mut _40: *mut [i32; 10];         // in scope 0 at $DIR/address-of.rs:30:5: 30:6
-    let _41: *mut [i32];                 // in scope 0 at $DIR/address-of.rs:31:5: 31:20
-    let mut _42: *mut [i32; 10];         // in scope 0 at $DIR/address-of.rs:31:5: 31:6
-    let mut _46: *mut [i32; 10];         // in scope 0 at $DIR/address-of.rs:35:28: 35:29
-    let mut _48: *mut [i32; 10];         // in scope 0 at $DIR/address-of.rs:36:25: 36:26
+    let mut _0: ();                      // return place in scope 0 at $DIR/address-of.rs:+0:26: +0:26
+    let _1: &[i32; 10];                  // in scope 0 at $DIR/address-of.rs:+1:9: +1:10
+    let _2: [i32; 10];                   // in scope 0 at $DIR/address-of.rs:+1:14: +1:21
+    let mut _4: [i32; 10];               // in scope 0 at $DIR/address-of.rs:+2:22: +2:29
+    let _5: *const [i32; 10];            // in scope 0 at $DIR/address-of.rs:+4:5: +4:18
+    let mut _6: *const [i32; 10];        // in scope 0 at $DIR/address-of.rs:+4:5: +4:18
+    let _7: *const [i32; 10];            // in scope 0 at $DIR/address-of.rs:+5:5: +5:26
+    let _8: *const dyn std::marker::Send; // in scope 0 at $DIR/address-of.rs:+6:5: +6:25
+    let mut _9: *const dyn std::marker::Send; // in scope 0 at $DIR/address-of.rs:+6:5: +6:25
+    let mut _10: *const [i32; 10];       // in scope 0 at $DIR/address-of.rs:+6:5: +6:6
+    let _11: *const [i32];               // in scope 0 at $DIR/address-of.rs:+7:5: +7:22
+    let mut _12: *const [i32; 10];       // in scope 0 at $DIR/address-of.rs:+7:5: +7:6
+    let _13: *const i32;                 // in scope 0 at $DIR/address-of.rs:+8:5: +8:20
+    let mut _14: *const [i32; 10];       // in scope 0 at $DIR/address-of.rs:+8:5: +8:6
+    let mut _18: *const [i32; 10];       // in scope 0 at $DIR/address-of.rs:+12:30: +12:31
+    let mut _20: *const [i32; 10];       // in scope 0 at $DIR/address-of.rs:+13:27: +13:28
+    let _21: *const [i32; 10];           // in scope 0 at $DIR/address-of.rs:+15:5: +15:18
+    let mut _22: *const [i32; 10];       // in scope 0 at $DIR/address-of.rs:+15:5: +15:18
+    let _23: *const [i32; 10];           // in scope 0 at $DIR/address-of.rs:+16:5: +16:26
+    let _24: *const dyn std::marker::Send; // in scope 0 at $DIR/address-of.rs:+17:5: +17:25
+    let mut _25: *const dyn std::marker::Send; // in scope 0 at $DIR/address-of.rs:+17:5: +17:25
+    let mut _26: *const [i32; 10];       // in scope 0 at $DIR/address-of.rs:+17:5: +17:6
+    let _27: *const [i32];               // in scope 0 at $DIR/address-of.rs:+18:5: +18:22
+    let mut _28: *const [i32; 10];       // in scope 0 at $DIR/address-of.rs:+18:5: +18:6
+    let mut _32: *const [i32; 10];       // in scope 0 at $DIR/address-of.rs:+22:30: +22:31
+    let mut _34: *const [i32; 10];       // in scope 0 at $DIR/address-of.rs:+23:27: +23:28
+    let _35: *mut [i32; 10];             // in scope 0 at $DIR/address-of.rs:+25:5: +25:16
+    let mut _36: *mut [i32; 10];         // in scope 0 at $DIR/address-of.rs:+25:5: +25:16
+    let _37: *mut [i32; 10];             // in scope 0 at $DIR/address-of.rs:+26:5: +26:24
+    let _38: *mut dyn std::marker::Send; // in scope 0 at $DIR/address-of.rs:+27:5: +27:23
+    let mut _39: *mut dyn std::marker::Send; // in scope 0 at $DIR/address-of.rs:+27:5: +27:23
+    let mut _40: *mut [i32; 10];         // in scope 0 at $DIR/address-of.rs:+27:5: +27:6
+    let _41: *mut [i32];                 // in scope 0 at $DIR/address-of.rs:+28:5: +28:20
+    let mut _42: *mut [i32; 10];         // in scope 0 at $DIR/address-of.rs:+28:5: +28:6
+    let mut _46: *mut [i32; 10];         // in scope 0 at $DIR/address-of.rs:+32:28: +32:29
+    let mut _48: *mut [i32; 10];         // in scope 0 at $DIR/address-of.rs:+33:25: +33:26
     scope 1 {
-        debug y => _1;                   // in scope 1 at $DIR/address-of.rs:4:9: 4:10
-        let mut _3: &mut [i32; 10];      // in scope 1 at $DIR/address-of.rs:5:9: 5:14
+        debug y => _1;                   // in scope 1 at $DIR/address-of.rs:+1:9: +1:10
+        let mut _3: &mut [i32; 10];      // in scope 1 at $DIR/address-of.rs:+2:9: +2:14
         scope 2 {
-            debug z => _3;               // in scope 2 at $DIR/address-of.rs:5:9: 5:14
-            let _15: *const [i32; 10] as UserTypeProjection { base: UserType(2), projs: [] }; // in scope 2 at $DIR/address-of.rs:13:9: 13:10
+            debug z => _3;               // in scope 2 at $DIR/address-of.rs:+2:9: +2:14
+            let _15: *const [i32; 10] as UserTypeProjection { base: UserType(2), projs: [] }; // in scope 2 at $DIR/address-of.rs:+10:9: +10:10
             scope 3 {
-                debug p => _15;          // in scope 3 at $DIR/address-of.rs:13:9: 13:10
-                let _16: *const [i32; 10] as UserTypeProjection { base: UserType(4), projs: [] }; // in scope 3 at $DIR/address-of.rs:14:9: 14:10
+                debug p => _15;          // in scope 3 at $DIR/address-of.rs:+10:9: +10:10
+                let _16: *const [i32; 10] as UserTypeProjection { base: UserType(4), projs: [] }; // in scope 3 at $DIR/address-of.rs:+11:9: +11:10
                 scope 4 {
-                    debug p => _16;      // in scope 4 at $DIR/address-of.rs:14:9: 14:10
-                    let _17: *const dyn std::marker::Send as UserTypeProjection { base: UserType(6), projs: [] }; // in scope 4 at $DIR/address-of.rs:15:9: 15:10
+                    debug p => _16;      // in scope 4 at $DIR/address-of.rs:+11:9: +11:10
+                    let _17: *const dyn std::marker::Send as UserTypeProjection { base: UserType(6), projs: [] }; // in scope 4 at $DIR/address-of.rs:+12:9: +12:10
                     scope 5 {
-                        debug p => _17;  // in scope 5 at $DIR/address-of.rs:15:9: 15:10
-                        let _19: *const [i32] as UserTypeProjection { base: UserType(8), projs: [] }; // in scope 5 at $DIR/address-of.rs:16:9: 16:10
+                        debug p => _17;  // in scope 5 at $DIR/address-of.rs:+12:9: +12:10
+                        let _19: *const [i32] as UserTypeProjection { base: UserType(8), projs: [] }; // in scope 5 at $DIR/address-of.rs:+13:9: +13:10
                         scope 6 {
-                            debug p => _19; // in scope 6 at $DIR/address-of.rs:16:9: 16:10
-                            let _29: *const [i32; 10] as UserTypeProjection { base: UserType(12), projs: [] }; // in scope 6 at $DIR/address-of.rs:23:9: 23:10
+                            debug p => _19; // in scope 6 at $DIR/address-of.rs:+13:9: +13:10
+                            let _29: *const [i32; 10] as UserTypeProjection { base: UserType(12), projs: [] }; // in scope 6 at $DIR/address-of.rs:+20:9: +20:10
                             scope 7 {
-                                debug p => _29; // in scope 7 at $DIR/address-of.rs:23:9: 23:10
-                                let _30: *const [i32; 10] as UserTypeProjection { base: UserType(14), projs: [] }; // in scope 7 at $DIR/address-of.rs:24:9: 24:10
+                                debug p => _29; // in scope 7 at $DIR/address-of.rs:+20:9: +20:10
+                                let _30: *const [i32; 10] as UserTypeProjection { base: UserType(14), projs: [] }; // in scope 7 at $DIR/address-of.rs:+21:9: +21:10
                                 scope 8 {
-                                    debug p => _30; // in scope 8 at $DIR/address-of.rs:24:9: 24:10
-                                    let _31: *const dyn std::marker::Send as UserTypeProjection { base: UserType(16), projs: [] }; // in scope 8 at $DIR/address-of.rs:25:9: 25:10
+                                    debug p => _30; // in scope 8 at $DIR/address-of.rs:+21:9: +21:10
+                                    let _31: *const dyn std::marker::Send as UserTypeProjection { base: UserType(16), projs: [] }; // in scope 8 at $DIR/address-of.rs:+22:9: +22:10
                                     scope 9 {
-                                        debug p => _31; // in scope 9 at $DIR/address-of.rs:25:9: 25:10
-                                        let _33: *const [i32] as UserTypeProjection { base: UserType(18), projs: [] }; // in scope 9 at $DIR/address-of.rs:26:9: 26:10
+                                        debug p => _31; // in scope 9 at $DIR/address-of.rs:+22:9: +22:10
+                                        let _33: *const [i32] as UserTypeProjection { base: UserType(18), projs: [] }; // in scope 9 at $DIR/address-of.rs:+23:9: +23:10
                                         scope 10 {
-                                            debug p => _33; // in scope 10 at $DIR/address-of.rs:26:9: 26:10
-                                            let _43: *mut [i32; 10] as UserTypeProjection { base: UserType(22), projs: [] }; // in scope 10 at $DIR/address-of.rs:33:9: 33:10
+                                            debug p => _33; // in scope 10 at $DIR/address-of.rs:+23:9: +23:10
+                                            let _43: *mut [i32; 10] as UserTypeProjection { base: UserType(22), projs: [] }; // in scope 10 at $DIR/address-of.rs:+30:9: +30:10
                                             scope 11 {
-                                                debug p => _43; // in scope 11 at $DIR/address-of.rs:33:9: 33:10
-                                                let _44: *mut [i32; 10] as UserTypeProjection { base: UserType(24), projs: [] }; // in scope 11 at $DIR/address-of.rs:34:9: 34:10
+                                                debug p => _43; // in scope 11 at $DIR/address-of.rs:+30:9: +30:10
+                                                let _44: *mut [i32; 10] as UserTypeProjection { base: UserType(24), projs: [] }; // in scope 11 at $DIR/address-of.rs:+31:9: +31:10
                                                 scope 12 {
-                                                    debug p => _44; // in scope 12 at $DIR/address-of.rs:34:9: 34:10
-                                                    let _45: *mut dyn std::marker::Send as UserTypeProjection { base: UserType(26), projs: [] }; // in scope 12 at $DIR/address-of.rs:35:9: 35:10
+                                                    debug p => _44; // in scope 12 at $DIR/address-of.rs:+31:9: +31:10
+                                                    let _45: *mut dyn std::marker::Send as UserTypeProjection { base: UserType(26), projs: [] }; // in scope 12 at $DIR/address-of.rs:+32:9: +32:10
                                                     scope 13 {
-                                                        debug p => _45; // in scope 13 at $DIR/address-of.rs:35:9: 35:10
-                                                        let _47: *mut [i32] as UserTypeProjection { base: UserType(28), projs: [] }; // in scope 13 at $DIR/address-of.rs:36:9: 36:10
+                                                        debug p => _45; // in scope 13 at $DIR/address-of.rs:+32:9: +32:10
+                                                        let _47: *mut [i32] as UserTypeProjection { base: UserType(28), projs: [] }; // in scope 13 at $DIR/address-of.rs:+33:9: +33:10
                                                         scope 14 {
-                                                            debug p => _47; // in scope 14 at $DIR/address-of.rs:36:9: 36:10
+                                                            debug p => _47; // in scope 14 at $DIR/address-of.rs:+33:9: +33:10
                                                         }
                                                     }
                                                 }
@@ -126,183 +126,183 @@ fn address_of_reborrow() -> () {
     }
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/address-of.rs:4:9: 4:10
-        StorageLive(_2);                 // scope 0 at $DIR/address-of.rs:4:14: 4:21
-        _2 = [const 0_i32; 10];          // scope 0 at $DIR/address-of.rs:4:14: 4:21
-        _1 = &_2;                        // scope 0 at $DIR/address-of.rs:4:13: 4:21
-        FakeRead(ForLet(None), _1);      // scope 0 at $DIR/address-of.rs:4:9: 4:10
-        StorageLive(_3);                 // scope 1 at $DIR/address-of.rs:5:9: 5:14
-        StorageLive(_4);                 // scope 1 at $DIR/address-of.rs:5:22: 5:29
-        _4 = [const 0_i32; 10];          // scope 1 at $DIR/address-of.rs:5:22: 5:29
-        _3 = &mut _4;                    // scope 1 at $DIR/address-of.rs:5:17: 5:29
-        FakeRead(ForLet(None), _3);      // scope 1 at $DIR/address-of.rs:5:9: 5:14
-        StorageLive(_5);                 // scope 2 at $DIR/address-of.rs:7:5: 7:18
-        StorageLive(_6);                 // scope 2 at $DIR/address-of.rs:7:5: 7:18
-        _6 = &raw const (*_1);           // scope 2 at $DIR/address-of.rs:7:5: 7:6
-        AscribeUserType(_6, o, UserTypeProjection { base: UserType(0), projs: [] }); // scope 2 at $DIR/address-of.rs:7:5: 7:18
-        _5 = _6;                         // scope 2 at $DIR/address-of.rs:7:5: 7:18
-        StorageDead(_6);                 // scope 2 at $DIR/address-of.rs:7:18: 7:19
-        StorageDead(_5);                 // scope 2 at $DIR/address-of.rs:7:18: 7:19
-        StorageLive(_7);                 // scope 2 at $DIR/address-of.rs:8:5: 8:26
-        _7 = &raw const (*_1);           // scope 2 at $DIR/address-of.rs:8:5: 8:6
-        StorageDead(_7);                 // scope 2 at $DIR/address-of.rs:8:26: 8:27
-        StorageLive(_8);                 // scope 2 at $DIR/address-of.rs:9:5: 9:25
-        StorageLive(_9);                 // scope 2 at $DIR/address-of.rs:9:5: 9:25
-        StorageLive(_10);                // scope 2 at $DIR/address-of.rs:9:5: 9:6
-        _10 = &raw const (*_1);          // scope 2 at $DIR/address-of.rs:9:5: 9:6
-        _9 = move _10 as *const dyn std::marker::Send (Pointer(Unsize)); // scope 2 at $DIR/address-of.rs:9:5: 9:6
-        StorageDead(_10);                // scope 2 at $DIR/address-of.rs:9:5: 9:6
-        AscribeUserType(_9, o, UserTypeProjection { base: UserType(1), projs: [] }); // scope 2 at $DIR/address-of.rs:9:5: 9:25
-        _8 = _9;                         // scope 2 at $DIR/address-of.rs:9:5: 9:25
-        StorageDead(_9);                 // scope 2 at $DIR/address-of.rs:9:25: 9:26
-        StorageDead(_8);                 // scope 2 at $DIR/address-of.rs:9:25: 9:26
-        StorageLive(_11);                // scope 2 at $DIR/address-of.rs:10:5: 10:22
-        StorageLive(_12);                // scope 2 at $DIR/address-of.rs:10:5: 10:6
-        _12 = &raw const (*_1);          // scope 2 at $DIR/address-of.rs:10:5: 10:6
-        _11 = move _12 as *const [i32] (Pointer(Unsize)); // scope 2 at $DIR/address-of.rs:10:5: 10:6
-        StorageDead(_12);                // scope 2 at $DIR/address-of.rs:10:5: 10:6
-        StorageDead(_11);                // scope 2 at $DIR/address-of.rs:10:22: 10:23
-        StorageLive(_13);                // scope 2 at $DIR/address-of.rs:11:5: 11:20
-        StorageLive(_14);                // scope 2 at $DIR/address-of.rs:11:5: 11:6
-        _14 = &raw const (*_1);          // scope 2 at $DIR/address-of.rs:11:5: 11:6
-        _13 = move _14 as *const i32 (Pointer(ArrayToPointer)); // scope 2 at $DIR/address-of.rs:11:5: 11:20
-        StorageDead(_14);                // scope 2 at $DIR/address-of.rs:11:19: 11:20
-        StorageDead(_13);                // scope 2 at $DIR/address-of.rs:11:20: 11:21
-        StorageLive(_15);                // scope 2 at $DIR/address-of.rs:13:9: 13:10
-        _15 = &raw const (*_1);          // scope 2 at $DIR/address-of.rs:13:23: 13:24
-        FakeRead(ForLet(None), _15);     // scope 2 at $DIR/address-of.rs:13:9: 13:10
-        AscribeUserType(_15, o, UserTypeProjection { base: UserType(3), projs: [] }); // scope 2 at $DIR/address-of.rs:13:12: 13:20
-        StorageLive(_16);                // scope 3 at $DIR/address-of.rs:14:9: 14:10
-        _16 = &raw const (*_1);          // scope 3 at $DIR/address-of.rs:14:31: 14:32
-        FakeRead(ForLet(None), _16);     // scope 3 at $DIR/address-of.rs:14:9: 14:10
-        AscribeUserType(_16, o, UserTypeProjection { base: UserType(5), projs: [] }); // scope 3 at $DIR/address-of.rs:14:12: 14:28
-        StorageLive(_17);                // scope 4 at $DIR/address-of.rs:15:9: 15:10
-        StorageLive(_18);                // scope 4 at $DIR/address-of.rs:15:30: 15:31
-        _18 = &raw const (*_1);          // scope 4 at $DIR/address-of.rs:15:30: 15:31
-        _17 = move _18 as *const dyn std::marker::Send (Pointer(Unsize)); // scope 4 at $DIR/address-of.rs:15:30: 15:31
-        StorageDead(_18);                // scope 4 at $DIR/address-of.rs:15:30: 15:31
-        FakeRead(ForLet(None), _17);     // scope 4 at $DIR/address-of.rs:15:9: 15:10
-        AscribeUserType(_17, o, UserTypeProjection { base: UserType(7), projs: [] }); // scope 4 at $DIR/address-of.rs:15:12: 15:27
-        StorageLive(_19);                // scope 5 at $DIR/address-of.rs:16:9: 16:10
-        StorageLive(_20);                // scope 5 at $DIR/address-of.rs:16:27: 16:28
-        _20 = &raw const (*_1);          // scope 5 at $DIR/address-of.rs:16:27: 16:28
-        _19 = move _20 as *const [i32] (Pointer(Unsize)); // scope 5 at $DIR/address-of.rs:16:27: 16:28
-        StorageDead(_20);                // scope 5 at $DIR/address-of.rs:16:27: 16:28
-        FakeRead(ForLet(None), _19);     // scope 5 at $DIR/address-of.rs:16:9: 16:10
-        AscribeUserType(_19, o, UserTypeProjection { base: UserType(9), projs: [] }); // scope 5 at $DIR/address-of.rs:16:12: 16:24
-        StorageLive(_21);                // scope 6 at $DIR/address-of.rs:18:5: 18:18
-        StorageLive(_22);                // scope 6 at $DIR/address-of.rs:18:5: 18:18
-        _22 = &raw const (*_3);          // scope 6 at $DIR/address-of.rs:18:5: 18:6
-        AscribeUserType(_22, o, UserTypeProjection { base: UserType(10), projs: [] }); // scope 6 at $DIR/address-of.rs:18:5: 18:18
-        _21 = _22;                       // scope 6 at $DIR/address-of.rs:18:5: 18:18
-        StorageDead(_22);                // scope 6 at $DIR/address-of.rs:18:18: 18:19
-        StorageDead(_21);                // scope 6 at $DIR/address-of.rs:18:18: 18:19
-        StorageLive(_23);                // scope 6 at $DIR/address-of.rs:19:5: 19:26
-        _23 = &raw const (*_3);          // scope 6 at $DIR/address-of.rs:19:5: 19:6
-        StorageDead(_23);                // scope 6 at $DIR/address-of.rs:19:26: 19:27
-        StorageLive(_24);                // scope 6 at $DIR/address-of.rs:20:5: 20:25
-        StorageLive(_25);                // scope 6 at $DIR/address-of.rs:20:5: 20:25
-        StorageLive(_26);                // scope 6 at $DIR/address-of.rs:20:5: 20:6
-        _26 = &raw const (*_3);          // scope 6 at $DIR/address-of.rs:20:5: 20:6
-        _25 = move _26 as *const dyn std::marker::Send (Pointer(Unsize)); // scope 6 at $DIR/address-of.rs:20:5: 20:6
-        StorageDead(_26);                // scope 6 at $DIR/address-of.rs:20:5: 20:6
-        AscribeUserType(_25, o, UserTypeProjection { base: UserType(11), projs: [] }); // scope 6 at $DIR/address-of.rs:20:5: 20:25
-        _24 = _25;                       // scope 6 at $DIR/address-of.rs:20:5: 20:25
-        StorageDead(_25);                // scope 6 at $DIR/address-of.rs:20:25: 20:26
-        StorageDead(_24);                // scope 6 at $DIR/address-of.rs:20:25: 20:26
-        StorageLive(_27);                // scope 6 at $DIR/address-of.rs:21:5: 21:22
-        StorageLive(_28);                // scope 6 at $DIR/address-of.rs:21:5: 21:6
-        _28 = &raw const (*_3);          // scope 6 at $DIR/address-of.rs:21:5: 21:6
-        _27 = move _28 as *const [i32] (Pointer(Unsize)); // scope 6 at $DIR/address-of.rs:21:5: 21:6
-        StorageDead(_28);                // scope 6 at $DIR/address-of.rs:21:5: 21:6
-        StorageDead(_27);                // scope 6 at $DIR/address-of.rs:21:22: 21:23
-        StorageLive(_29);                // scope 6 at $DIR/address-of.rs:23:9: 23:10
-        _29 = &raw const (*_3);          // scope 6 at $DIR/address-of.rs:23:23: 23:24
-        FakeRead(ForLet(None), _29);     // scope 6 at $DIR/address-of.rs:23:9: 23:10
-        AscribeUserType(_29, o, UserTypeProjection { base: UserType(13), projs: [] }); // scope 6 at $DIR/address-of.rs:23:12: 23:20
-        StorageLive(_30);                // scope 7 at $DIR/address-of.rs:24:9: 24:10
-        _30 = &raw const (*_3);          // scope 7 at $DIR/address-of.rs:24:31: 24:32
-        FakeRead(ForLet(None), _30);     // scope 7 at $DIR/address-of.rs:24:9: 24:10
-        AscribeUserType(_30, o, UserTypeProjection { base: UserType(15), projs: [] }); // scope 7 at $DIR/address-of.rs:24:12: 24:28
-        StorageLive(_31);                // scope 8 at $DIR/address-of.rs:25:9: 25:10
-        StorageLive(_32);                // scope 8 at $DIR/address-of.rs:25:30: 25:31
-        _32 = &raw const (*_3);          // scope 8 at $DIR/address-of.rs:25:30: 25:31
-        _31 = move _32 as *const dyn std::marker::Send (Pointer(Unsize)); // scope 8 at $DIR/address-of.rs:25:30: 25:31
-        StorageDead(_32);                // scope 8 at $DIR/address-of.rs:25:30: 25:31
-        FakeRead(ForLet(None), _31);     // scope 8 at $DIR/address-of.rs:25:9: 25:10
-        AscribeUserType(_31, o, UserTypeProjection { base: UserType(17), projs: [] }); // scope 8 at $DIR/address-of.rs:25:12: 25:27
-        StorageLive(_33);                // scope 9 at $DIR/address-of.rs:26:9: 26:10
-        StorageLive(_34);                // scope 9 at $DIR/address-of.rs:26:27: 26:28
-        _34 = &raw const (*_3);          // scope 9 at $DIR/address-of.rs:26:27: 26:28
-        _33 = move _34 as *const [i32] (Pointer(Unsize)); // scope 9 at $DIR/address-of.rs:26:27: 26:28
-        StorageDead(_34);                // scope 9 at $DIR/address-of.rs:26:27: 26:28
-        FakeRead(ForLet(None), _33);     // scope 9 at $DIR/address-of.rs:26:9: 26:10
-        AscribeUserType(_33, o, UserTypeProjection { base: UserType(19), projs: [] }); // scope 9 at $DIR/address-of.rs:26:12: 26:24
-        StorageLive(_35);                // scope 10 at $DIR/address-of.rs:28:5: 28:16
-        StorageLive(_36);                // scope 10 at $DIR/address-of.rs:28:5: 28:16
-        _36 = &raw mut (*_3);            // scope 10 at $DIR/address-of.rs:28:5: 28:6
-        AscribeUserType(_36, o, UserTypeProjection { base: UserType(20), projs: [] }); // scope 10 at $DIR/address-of.rs:28:5: 28:16
-        _35 = _36;                       // scope 10 at $DIR/address-of.rs:28:5: 28:16
-        StorageDead(_36);                // scope 10 at $DIR/address-of.rs:28:16: 28:17
-        StorageDead(_35);                // scope 10 at $DIR/address-of.rs:28:16: 28:17
-        StorageLive(_37);                // scope 10 at $DIR/address-of.rs:29:5: 29:24
-        _37 = &raw mut (*_3);            // scope 10 at $DIR/address-of.rs:29:5: 29:6
-        StorageDead(_37);                // scope 10 at $DIR/address-of.rs:29:24: 29:25
-        StorageLive(_38);                // scope 10 at $DIR/address-of.rs:30:5: 30:23
-        StorageLive(_39);                // scope 10 at $DIR/address-of.rs:30:5: 30:23
-        StorageLive(_40);                // scope 10 at $DIR/address-of.rs:30:5: 30:6
-        _40 = &raw mut (*_3);            // scope 10 at $DIR/address-of.rs:30:5: 30:6
-        _39 = move _40 as *mut dyn std::marker::Send (Pointer(Unsize)); // scope 10 at $DIR/address-of.rs:30:5: 30:6
-        StorageDead(_40);                // scope 10 at $DIR/address-of.rs:30:5: 30:6
-        AscribeUserType(_39, o, UserTypeProjection { base: UserType(21), projs: [] }); // scope 10 at $DIR/address-of.rs:30:5: 30:23
-        _38 = _39;                       // scope 10 at $DIR/address-of.rs:30:5: 30:23
-        StorageDead(_39);                // scope 10 at $DIR/address-of.rs:30:23: 30:24
-        StorageDead(_38);                // scope 10 at $DIR/address-of.rs:30:23: 30:24
-        StorageLive(_41);                // scope 10 at $DIR/address-of.rs:31:5: 31:20
-        StorageLive(_42);                // scope 10 at $DIR/address-of.rs:31:5: 31:6
-        _42 = &raw mut (*_3);            // scope 10 at $DIR/address-of.rs:31:5: 31:6
-        _41 = move _42 as *mut [i32] (Pointer(Unsize)); // scope 10 at $DIR/address-of.rs:31:5: 31:6
-        StorageDead(_42);                // scope 10 at $DIR/address-of.rs:31:5: 31:6
-        StorageDead(_41);                // scope 10 at $DIR/address-of.rs:31:20: 31:21
-        StorageLive(_43);                // scope 10 at $DIR/address-of.rs:33:9: 33:10
-        _43 = &raw mut (*_3);            // scope 10 at $DIR/address-of.rs:33:21: 33:22
-        FakeRead(ForLet(None), _43);     // scope 10 at $DIR/address-of.rs:33:9: 33:10
-        AscribeUserType(_43, o, UserTypeProjection { base: UserType(23), projs: [] }); // scope 10 at $DIR/address-of.rs:33:12: 33:18
-        StorageLive(_44);                // scope 11 at $DIR/address-of.rs:34:9: 34:10
-        _44 = &raw mut (*_3);            // scope 11 at $DIR/address-of.rs:34:29: 34:30
-        FakeRead(ForLet(None), _44);     // scope 11 at $DIR/address-of.rs:34:9: 34:10
-        AscribeUserType(_44, o, UserTypeProjection { base: UserType(25), projs: [] }); // scope 11 at $DIR/address-of.rs:34:12: 34:26
-        StorageLive(_45);                // scope 12 at $DIR/address-of.rs:35:9: 35:10
-        StorageLive(_46);                // scope 12 at $DIR/address-of.rs:35:28: 35:29
-        _46 = &raw mut (*_3);            // scope 12 at $DIR/address-of.rs:35:28: 35:29
-        _45 = move _46 as *mut dyn std::marker::Send (Pointer(Unsize)); // scope 12 at $DIR/address-of.rs:35:28: 35:29
-        StorageDead(_46);                // scope 12 at $DIR/address-of.rs:35:28: 35:29
-        FakeRead(ForLet(None), _45);     // scope 12 at $DIR/address-of.rs:35:9: 35:10
-        AscribeUserType(_45, o, UserTypeProjection { base: UserType(27), projs: [] }); // scope 12 at $DIR/address-of.rs:35:12: 35:25
-        StorageLive(_47);                // scope 13 at $DIR/address-of.rs:36:9: 36:10
-        StorageLive(_48);                // scope 13 at $DIR/address-of.rs:36:25: 36:26
-        _48 = &raw mut (*_3);            // scope 13 at $DIR/address-of.rs:36:25: 36:26
-        _47 = move _48 as *mut [i32] (Pointer(Unsize)); // scope 13 at $DIR/address-of.rs:36:25: 36:26
-        StorageDead(_48);                // scope 13 at $DIR/address-of.rs:36:25: 36:26
-        FakeRead(ForLet(None), _47);     // scope 13 at $DIR/address-of.rs:36:9: 36:10
-        AscribeUserType(_47, o, UserTypeProjection { base: UserType(29), projs: [] }); // scope 13 at $DIR/address-of.rs:36:12: 36:22
-        _0 = const ();                   // scope 0 at $DIR/address-of.rs:3:26: 37:2
-        StorageDead(_47);                // scope 13 at $DIR/address-of.rs:37:1: 37:2
-        StorageDead(_45);                // scope 12 at $DIR/address-of.rs:37:1: 37:2
-        StorageDead(_44);                // scope 11 at $DIR/address-of.rs:37:1: 37:2
-        StorageDead(_43);                // scope 10 at $DIR/address-of.rs:37:1: 37:2
-        StorageDead(_33);                // scope 9 at $DIR/address-of.rs:37:1: 37:2
-        StorageDead(_31);                // scope 8 at $DIR/address-of.rs:37:1: 37:2
-        StorageDead(_30);                // scope 7 at $DIR/address-of.rs:37:1: 37:2
-        StorageDead(_29);                // scope 6 at $DIR/address-of.rs:37:1: 37:2
-        StorageDead(_19);                // scope 5 at $DIR/address-of.rs:37:1: 37:2
-        StorageDead(_17);                // scope 4 at $DIR/address-of.rs:37:1: 37:2
-        StorageDead(_16);                // scope 3 at $DIR/address-of.rs:37:1: 37:2
-        StorageDead(_15);                // scope 2 at $DIR/address-of.rs:37:1: 37:2
-        StorageDead(_4);                 // scope 1 at $DIR/address-of.rs:37:1: 37:2
-        StorageDead(_3);                 // scope 1 at $DIR/address-of.rs:37:1: 37:2
-        StorageDead(_2);                 // scope 0 at $DIR/address-of.rs:37:1: 37:2
-        StorageDead(_1);                 // scope 0 at $DIR/address-of.rs:37:1: 37:2
-        return;                          // scope 0 at $DIR/address-of.rs:37:2: 37:2
+        StorageLive(_1);                 // scope 0 at $DIR/address-of.rs:+1:9: +1:10
+        StorageLive(_2);                 // scope 0 at $DIR/address-of.rs:+1:14: +1:21
+        _2 = [const 0_i32; 10];          // scope 0 at $DIR/address-of.rs:+1:14: +1:21
+        _1 = &_2;                        // scope 0 at $DIR/address-of.rs:+1:13: +1:21
+        FakeRead(ForLet(None), _1);      // scope 0 at $DIR/address-of.rs:+1:9: +1:10
+        StorageLive(_3);                 // scope 1 at $DIR/address-of.rs:+2:9: +2:14
+        StorageLive(_4);                 // scope 1 at $DIR/address-of.rs:+2:22: +2:29
+        _4 = [const 0_i32; 10];          // scope 1 at $DIR/address-of.rs:+2:22: +2:29
+        _3 = &mut _4;                    // scope 1 at $DIR/address-of.rs:+2:17: +2:29
+        FakeRead(ForLet(None), _3);      // scope 1 at $DIR/address-of.rs:+2:9: +2:14
+        StorageLive(_5);                 // scope 2 at $DIR/address-of.rs:+4:5: +4:18
+        StorageLive(_6);                 // scope 2 at $DIR/address-of.rs:+4:5: +4:18
+        _6 = &raw const (*_1);           // scope 2 at $DIR/address-of.rs:+4:5: +4:6
+        AscribeUserType(_6, o, UserTypeProjection { base: UserType(0), projs: [] }); // scope 2 at $DIR/address-of.rs:+4:5: +4:18
+        _5 = _6;                         // scope 2 at $DIR/address-of.rs:+4:5: +4:18
+        StorageDead(_6);                 // scope 2 at $DIR/address-of.rs:+4:18: +4:19
+        StorageDead(_5);                 // scope 2 at $DIR/address-of.rs:+4:18: +4:19
+        StorageLive(_7);                 // scope 2 at $DIR/address-of.rs:+5:5: +5:26
+        _7 = &raw const (*_1);           // scope 2 at $DIR/address-of.rs:+5:5: +5:6
+        StorageDead(_7);                 // scope 2 at $DIR/address-of.rs:+5:26: +5:27
+        StorageLive(_8);                 // scope 2 at $DIR/address-of.rs:+6:5: +6:25
+        StorageLive(_9);                 // scope 2 at $DIR/address-of.rs:+6:5: +6:25
+        StorageLive(_10);                // scope 2 at $DIR/address-of.rs:+6:5: +6:6
+        _10 = &raw const (*_1);          // scope 2 at $DIR/address-of.rs:+6:5: +6:6
+        _9 = move _10 as *const dyn std::marker::Send (Pointer(Unsize)); // scope 2 at $DIR/address-of.rs:+6:5: +6:6
+        StorageDead(_10);                // scope 2 at $DIR/address-of.rs:+6:5: +6:6
+        AscribeUserType(_9, o, UserTypeProjection { base: UserType(1), projs: [] }); // scope 2 at $DIR/address-of.rs:+6:5: +6:25
+        _8 = _9;                         // scope 2 at $DIR/address-of.rs:+6:5: +6:25
+        StorageDead(_9);                 // scope 2 at $DIR/address-of.rs:+6:25: +6:26
+        StorageDead(_8);                 // scope 2 at $DIR/address-of.rs:+6:25: +6:26
+        StorageLive(_11);                // scope 2 at $DIR/address-of.rs:+7:5: +7:22
+        StorageLive(_12);                // scope 2 at $DIR/address-of.rs:+7:5: +7:6
+        _12 = &raw const (*_1);          // scope 2 at $DIR/address-of.rs:+7:5: +7:6
+        _11 = move _12 as *const [i32] (Pointer(Unsize)); // scope 2 at $DIR/address-of.rs:+7:5: +7:6
+        StorageDead(_12);                // scope 2 at $DIR/address-of.rs:+7:5: +7:6
+        StorageDead(_11);                // scope 2 at $DIR/address-of.rs:+7:22: +7:23
+        StorageLive(_13);                // scope 2 at $DIR/address-of.rs:+8:5: +8:20
+        StorageLive(_14);                // scope 2 at $DIR/address-of.rs:+8:5: +8:6
+        _14 = &raw const (*_1);          // scope 2 at $DIR/address-of.rs:+8:5: +8:6
+        _13 = move _14 as *const i32 (Pointer(ArrayToPointer)); // scope 2 at $DIR/address-of.rs:+8:5: +8:20
+        StorageDead(_14);                // scope 2 at $DIR/address-of.rs:+8:19: +8:20
+        StorageDead(_13);                // scope 2 at $DIR/address-of.rs:+8:20: +8:21
+        StorageLive(_15);                // scope 2 at $DIR/address-of.rs:+10:9: +10:10
+        _15 = &raw const (*_1);          // scope 2 at $DIR/address-of.rs:+10:23: +10:24
+        FakeRead(ForLet(None), _15);     // scope 2 at $DIR/address-of.rs:+10:9: +10:10
+        AscribeUserType(_15, o, UserTypeProjection { base: UserType(3), projs: [] }); // scope 2 at $DIR/address-of.rs:+10:12: +10:20
+        StorageLive(_16);                // scope 3 at $DIR/address-of.rs:+11:9: +11:10
+        _16 = &raw const (*_1);          // scope 3 at $DIR/address-of.rs:+11:31: +11:32
+        FakeRead(ForLet(None), _16);     // scope 3 at $DIR/address-of.rs:+11:9: +11:10
+        AscribeUserType(_16, o, UserTypeProjection { base: UserType(5), projs: [] }); // scope 3 at $DIR/address-of.rs:+11:12: +11:28
+        StorageLive(_17);                // scope 4 at $DIR/address-of.rs:+12:9: +12:10
+        StorageLive(_18);                // scope 4 at $DIR/address-of.rs:+12:30: +12:31
+        _18 = &raw const (*_1);          // scope 4 at $DIR/address-of.rs:+12:30: +12:31
+        _17 = move _18 as *const dyn std::marker::Send (Pointer(Unsize)); // scope 4 at $DIR/address-of.rs:+12:30: +12:31
+        StorageDead(_18);                // scope 4 at $DIR/address-of.rs:+12:30: +12:31
+        FakeRead(ForLet(None), _17);     // scope 4 at $DIR/address-of.rs:+12:9: +12:10
+        AscribeUserType(_17, o, UserTypeProjection { base: UserType(7), projs: [] }); // scope 4 at $DIR/address-of.rs:+12:12: +12:27
+        StorageLive(_19);                // scope 5 at $DIR/address-of.rs:+13:9: +13:10
+        StorageLive(_20);                // scope 5 at $DIR/address-of.rs:+13:27: +13:28
+        _20 = &raw const (*_1);          // scope 5 at $DIR/address-of.rs:+13:27: +13:28
+        _19 = move _20 as *const [i32] (Pointer(Unsize)); // scope 5 at $DIR/address-of.rs:+13:27: +13:28
+        StorageDead(_20);                // scope 5 at $DIR/address-of.rs:+13:27: +13:28
+        FakeRead(ForLet(None), _19);     // scope 5 at $DIR/address-of.rs:+13:9: +13:10
+        AscribeUserType(_19, o, UserTypeProjection { base: UserType(9), projs: [] }); // scope 5 at $DIR/address-of.rs:+13:12: +13:24
+        StorageLive(_21);                // scope 6 at $DIR/address-of.rs:+15:5: +15:18
+        StorageLive(_22);                // scope 6 at $DIR/address-of.rs:+15:5: +15:18
+        _22 = &raw const (*_3);          // scope 6 at $DIR/address-of.rs:+15:5: +15:6
+        AscribeUserType(_22, o, UserTypeProjection { base: UserType(10), projs: [] }); // scope 6 at $DIR/address-of.rs:+15:5: +15:18
+        _21 = _22;                       // scope 6 at $DIR/address-of.rs:+15:5: +15:18
+        StorageDead(_22);                // scope 6 at $DIR/address-of.rs:+15:18: +15:19
+        StorageDead(_21);                // scope 6 at $DIR/address-of.rs:+15:18: +15:19
+        StorageLive(_23);                // scope 6 at $DIR/address-of.rs:+16:5: +16:26
+        _23 = &raw const (*_3);          // scope 6 at $DIR/address-of.rs:+16:5: +16:6
+        StorageDead(_23);                // scope 6 at $DIR/address-of.rs:+16:26: +16:27
+        StorageLive(_24);                // scope 6 at $DIR/address-of.rs:+17:5: +17:25
+        StorageLive(_25);                // scope 6 at $DIR/address-of.rs:+17:5: +17:25
+        StorageLive(_26);                // scope 6 at $DIR/address-of.rs:+17:5: +17:6
+        _26 = &raw const (*_3);          // scope 6 at $DIR/address-of.rs:+17:5: +17:6
+        _25 = move _26 as *const dyn std::marker::Send (Pointer(Unsize)); // scope 6 at $DIR/address-of.rs:+17:5: +17:6
+        StorageDead(_26);                // scope 6 at $DIR/address-of.rs:+17:5: +17:6
+        AscribeUserType(_25, o, UserTypeProjection { base: UserType(11), projs: [] }); // scope 6 at $DIR/address-of.rs:+17:5: +17:25
+        _24 = _25;                       // scope 6 at $DIR/address-of.rs:+17:5: +17:25
+        StorageDead(_25);                // scope 6 at $DIR/address-of.rs:+17:25: +17:26
+        StorageDead(_24);                // scope 6 at $DIR/address-of.rs:+17:25: +17:26
+        StorageLive(_27);                // scope 6 at $DIR/address-of.rs:+18:5: +18:22
+        StorageLive(_28);                // scope 6 at $DIR/address-of.rs:+18:5: +18:6
+        _28 = &raw const (*_3);          // scope 6 at $DIR/address-of.rs:+18:5: +18:6
+        _27 = move _28 as *const [i32] (Pointer(Unsize)); // scope 6 at $DIR/address-of.rs:+18:5: +18:6
+        StorageDead(_28);                // scope 6 at $DIR/address-of.rs:+18:5: +18:6
+        StorageDead(_27);                // scope 6 at $DIR/address-of.rs:+18:22: +18:23
+        StorageLive(_29);                // scope 6 at $DIR/address-of.rs:+20:9: +20:10
+        _29 = &raw const (*_3);          // scope 6 at $DIR/address-of.rs:+20:23: +20:24
+        FakeRead(ForLet(None), _29);     // scope 6 at $DIR/address-of.rs:+20:9: +20:10
+        AscribeUserType(_29, o, UserTypeProjection { base: UserType(13), projs: [] }); // scope 6 at $DIR/address-of.rs:+20:12: +20:20
+        StorageLive(_30);                // scope 7 at $DIR/address-of.rs:+21:9: +21:10
+        _30 = &raw const (*_3);          // scope 7 at $DIR/address-of.rs:+21:31: +21:32
+        FakeRead(ForLet(None), _30);     // scope 7 at $DIR/address-of.rs:+21:9: +21:10
+        AscribeUserType(_30, o, UserTypeProjection { base: UserType(15), projs: [] }); // scope 7 at $DIR/address-of.rs:+21:12: +21:28
+        StorageLive(_31);                // scope 8 at $DIR/address-of.rs:+22:9: +22:10
+        StorageLive(_32);                // scope 8 at $DIR/address-of.rs:+22:30: +22:31
+        _32 = &raw const (*_3);          // scope 8 at $DIR/address-of.rs:+22:30: +22:31
+        _31 = move _32 as *const dyn std::marker::Send (Pointer(Unsize)); // scope 8 at $DIR/address-of.rs:+22:30: +22:31
+        StorageDead(_32);                // scope 8 at $DIR/address-of.rs:+22:30: +22:31
+        FakeRead(ForLet(None), _31);     // scope 8 at $DIR/address-of.rs:+22:9: +22:10
+        AscribeUserType(_31, o, UserTypeProjection { base: UserType(17), projs: [] }); // scope 8 at $DIR/address-of.rs:+22:12: +22:27
+        StorageLive(_33);                // scope 9 at $DIR/address-of.rs:+23:9: +23:10
+        StorageLive(_34);                // scope 9 at $DIR/address-of.rs:+23:27: +23:28
+        _34 = &raw const (*_3);          // scope 9 at $DIR/address-of.rs:+23:27: +23:28
+        _33 = move _34 as *const [i32] (Pointer(Unsize)); // scope 9 at $DIR/address-of.rs:+23:27: +23:28
+        StorageDead(_34);                // scope 9 at $DIR/address-of.rs:+23:27: +23:28
+        FakeRead(ForLet(None), _33);     // scope 9 at $DIR/address-of.rs:+23:9: +23:10
+        AscribeUserType(_33, o, UserTypeProjection { base: UserType(19), projs: [] }); // scope 9 at $DIR/address-of.rs:+23:12: +23:24
+        StorageLive(_35);                // scope 10 at $DIR/address-of.rs:+25:5: +25:16
+        StorageLive(_36);                // scope 10 at $DIR/address-of.rs:+25:5: +25:16
+        _36 = &raw mut (*_3);            // scope 10 at $DIR/address-of.rs:+25:5: +25:6
+        AscribeUserType(_36, o, UserTypeProjection { base: UserType(20), projs: [] }); // scope 10 at $DIR/address-of.rs:+25:5: +25:16
+        _35 = _36;                       // scope 10 at $DIR/address-of.rs:+25:5: +25:16
+        StorageDead(_36);                // scope 10 at $DIR/address-of.rs:+25:16: +25:17
+        StorageDead(_35);                // scope 10 at $DIR/address-of.rs:+25:16: +25:17
+        StorageLive(_37);                // scope 10 at $DIR/address-of.rs:+26:5: +26:24
+        _37 = &raw mut (*_3);            // scope 10 at $DIR/address-of.rs:+26:5: +26:6
+        StorageDead(_37);                // scope 10 at $DIR/address-of.rs:+26:24: +26:25
+        StorageLive(_38);                // scope 10 at $DIR/address-of.rs:+27:5: +27:23
+        StorageLive(_39);                // scope 10 at $DIR/address-of.rs:+27:5: +27:23
+        StorageLive(_40);                // scope 10 at $DIR/address-of.rs:+27:5: +27:6
+        _40 = &raw mut (*_3);            // scope 10 at $DIR/address-of.rs:+27:5: +27:6
+        _39 = move _40 as *mut dyn std::marker::Send (Pointer(Unsize)); // scope 10 at $DIR/address-of.rs:+27:5: +27:6
+        StorageDead(_40);                // scope 10 at $DIR/address-of.rs:+27:5: +27:6
+        AscribeUserType(_39, o, UserTypeProjection { base: UserType(21), projs: [] }); // scope 10 at $DIR/address-of.rs:+27:5: +27:23
+        _38 = _39;                       // scope 10 at $DIR/address-of.rs:+27:5: +27:23
+        StorageDead(_39);                // scope 10 at $DIR/address-of.rs:+27:23: +27:24
+        StorageDead(_38);                // scope 10 at $DIR/address-of.rs:+27:23: +27:24
+        StorageLive(_41);                // scope 10 at $DIR/address-of.rs:+28:5: +28:20
+        StorageLive(_42);                // scope 10 at $DIR/address-of.rs:+28:5: +28:6
+        _42 = &raw mut (*_3);            // scope 10 at $DIR/address-of.rs:+28:5: +28:6
+        _41 = move _42 as *mut [i32] (Pointer(Unsize)); // scope 10 at $DIR/address-of.rs:+28:5: +28:6
+        StorageDead(_42);                // scope 10 at $DIR/address-of.rs:+28:5: +28:6
+        StorageDead(_41);                // scope 10 at $DIR/address-of.rs:+28:20: +28:21
+        StorageLive(_43);                // scope 10 at $DIR/address-of.rs:+30:9: +30:10
+        _43 = &raw mut (*_3);            // scope 10 at $DIR/address-of.rs:+30:21: +30:22
+        FakeRead(ForLet(None), _43);     // scope 10 at $DIR/address-of.rs:+30:9: +30:10
+        AscribeUserType(_43, o, UserTypeProjection { base: UserType(23), projs: [] }); // scope 10 at $DIR/address-of.rs:+30:12: +30:18
+        StorageLive(_44);                // scope 11 at $DIR/address-of.rs:+31:9: +31:10
+        _44 = &raw mut (*_3);            // scope 11 at $DIR/address-of.rs:+31:29: +31:30
+        FakeRead(ForLet(None), _44);     // scope 11 at $DIR/address-of.rs:+31:9: +31:10
+        AscribeUserType(_44, o, UserTypeProjection { base: UserType(25), projs: [] }); // scope 11 at $DIR/address-of.rs:+31:12: +31:26
+        StorageLive(_45);                // scope 12 at $DIR/address-of.rs:+32:9: +32:10
+        StorageLive(_46);                // scope 12 at $DIR/address-of.rs:+32:28: +32:29
+        _46 = &raw mut (*_3);            // scope 12 at $DIR/address-of.rs:+32:28: +32:29
+        _45 = move _46 as *mut dyn std::marker::Send (Pointer(Unsize)); // scope 12 at $DIR/address-of.rs:+32:28: +32:29
+        StorageDead(_46);                // scope 12 at $DIR/address-of.rs:+32:28: +32:29
+        FakeRead(ForLet(None), _45);     // scope 12 at $DIR/address-of.rs:+32:9: +32:10
+        AscribeUserType(_45, o, UserTypeProjection { base: UserType(27), projs: [] }); // scope 12 at $DIR/address-of.rs:+32:12: +32:25
+        StorageLive(_47);                // scope 13 at $DIR/address-of.rs:+33:9: +33:10
+        StorageLive(_48);                // scope 13 at $DIR/address-of.rs:+33:25: +33:26
+        _48 = &raw mut (*_3);            // scope 13 at $DIR/address-of.rs:+33:25: +33:26
+        _47 = move _48 as *mut [i32] (Pointer(Unsize)); // scope 13 at $DIR/address-of.rs:+33:25: +33:26
+        StorageDead(_48);                // scope 13 at $DIR/address-of.rs:+33:25: +33:26
+        FakeRead(ForLet(None), _47);     // scope 13 at $DIR/address-of.rs:+33:9: +33:10
+        AscribeUserType(_47, o, UserTypeProjection { base: UserType(29), projs: [] }); // scope 13 at $DIR/address-of.rs:+33:12: +33:22
+        _0 = const ();                   // scope 0 at $DIR/address-of.rs:+0:26: +34:2
+        StorageDead(_47);                // scope 13 at $DIR/address-of.rs:+34:1: +34:2
+        StorageDead(_45);                // scope 12 at $DIR/address-of.rs:+34:1: +34:2
+        StorageDead(_44);                // scope 11 at $DIR/address-of.rs:+34:1: +34:2
+        StorageDead(_43);                // scope 10 at $DIR/address-of.rs:+34:1: +34:2
+        StorageDead(_33);                // scope 9 at $DIR/address-of.rs:+34:1: +34:2
+        StorageDead(_31);                // scope 8 at $DIR/address-of.rs:+34:1: +34:2
+        StorageDead(_30);                // scope 7 at $DIR/address-of.rs:+34:1: +34:2
+        StorageDead(_29);                // scope 6 at $DIR/address-of.rs:+34:1: +34:2
+        StorageDead(_19);                // scope 5 at $DIR/address-of.rs:+34:1: +34:2
+        StorageDead(_17);                // scope 4 at $DIR/address-of.rs:+34:1: +34:2
+        StorageDead(_16);                // scope 3 at $DIR/address-of.rs:+34:1: +34:2
+        StorageDead(_15);                // scope 2 at $DIR/address-of.rs:+34:1: +34:2
+        StorageDead(_4);                 // scope 1 at $DIR/address-of.rs:+34:1: +34:2
+        StorageDead(_3);                 // scope 1 at $DIR/address-of.rs:+34:1: +34:2
+        StorageDead(_2);                 // scope 0 at $DIR/address-of.rs:+34:1: +34:2
+        StorageDead(_1);                 // scope 0 at $DIR/address-of.rs:+34:1: +34:2
+        return;                          // scope 0 at $DIR/address-of.rs:+34:2: +34:2
     }
 }
index 195f3e2e65c642cd1eacabcd833dca54630f781a..060077b8adb9eb8bd1fcd17a51fab4d688518df2 100644 (file)
@@ -1,47 +1,47 @@
 // MIR for `borrow_and_cast` after SimplifyCfg-initial
 
 fn borrow_and_cast(_1: i32) -> () {
-    debug x => _1;                       // in scope 0 at $DIR/address-of.rs:41:20: 41:25
-    let mut _0: ();                      // return place in scope 0 at $DIR/address-of.rs:41:32: 41:32
-    let _2: *const i32;                  // in scope 0 at $DIR/address-of.rs:42:9: 42:10
-    let _3: &i32;                        // in scope 0 at $DIR/address-of.rs:42:13: 42:15
-    let _5: &mut i32;                    // in scope 0 at $DIR/address-of.rs:43:13: 43:19
-    let mut _7: &mut i32;                // in scope 0 at $DIR/address-of.rs:44:13: 44:19
+    debug x => _1;                       // in scope 0 at $DIR/address-of.rs:+0:20: +0:25
+    let mut _0: ();                      // return place in scope 0 at $DIR/address-of.rs:+0:32: +0:32
+    let _2: *const i32;                  // in scope 0 at $DIR/address-of.rs:+1:9: +1:10
+    let _3: &i32;                        // in scope 0 at $DIR/address-of.rs:+1:13: +1:15
+    let _5: &mut i32;                    // in scope 0 at $DIR/address-of.rs:+2:13: +2:19
+    let mut _7: &mut i32;                // in scope 0 at $DIR/address-of.rs:+3:13: +3:19
     scope 1 {
-        debug p => _2;                   // in scope 1 at $DIR/address-of.rs:42:9: 42:10
-        let _4: *const i32;              // in scope 1 at $DIR/address-of.rs:43:9: 43:10
+        debug p => _2;                   // in scope 1 at $DIR/address-of.rs:+1:9: +1:10
+        let _4: *const i32;              // in scope 1 at $DIR/address-of.rs:+2:9: +2:10
         scope 2 {
-            debug q => _4;               // in scope 2 at $DIR/address-of.rs:43:9: 43:10
-            let _6: *mut i32;            // in scope 2 at $DIR/address-of.rs:44:9: 44:10
+            debug q => _4;               // in scope 2 at $DIR/address-of.rs:+2:9: +2:10
+            let _6: *mut i32;            // in scope 2 at $DIR/address-of.rs:+3:9: +3:10
             scope 3 {
-                debug r => _6;           // in scope 3 at $DIR/address-of.rs:44:9: 44:10
+                debug r => _6;           // in scope 3 at $DIR/address-of.rs:+3:9: +3:10
             }
         }
     }
 
     bb0: {
-        StorageLive(_2);                 // scope 0 at $DIR/address-of.rs:42:9: 42:10
-        StorageLive(_3);                 // scope 0 at $DIR/address-of.rs:42:13: 42:15
-        _3 = &_1;                        // scope 0 at $DIR/address-of.rs:42:13: 42:15
-        _2 = &raw const (*_3);           // scope 0 at $DIR/address-of.rs:42:13: 42:15
-        FakeRead(ForLet(None), _2);      // scope 0 at $DIR/address-of.rs:42:9: 42:10
-        StorageDead(_3);                 // scope 0 at $DIR/address-of.rs:42:29: 42:30
-        StorageLive(_4);                 // scope 1 at $DIR/address-of.rs:43:9: 43:10
-        StorageLive(_5);                 // scope 1 at $DIR/address-of.rs:43:13: 43:19
-        _5 = &mut _1;                    // scope 1 at $DIR/address-of.rs:43:13: 43:19
-        _4 = &raw const (*_5);           // scope 1 at $DIR/address-of.rs:43:13: 43:19
-        FakeRead(ForLet(None), _4);      // scope 1 at $DIR/address-of.rs:43:9: 43:10
-        StorageDead(_5);                 // scope 1 at $DIR/address-of.rs:43:33: 43:34
-        StorageLive(_6);                 // scope 2 at $DIR/address-of.rs:44:9: 44:10
-        StorageLive(_7);                 // scope 2 at $DIR/address-of.rs:44:13: 44:19
-        _7 = &mut _1;                    // scope 2 at $DIR/address-of.rs:44:13: 44:19
-        _6 = &raw mut (*_7);             // scope 2 at $DIR/address-of.rs:44:13: 44:19
-        FakeRead(ForLet(None), _6);      // scope 2 at $DIR/address-of.rs:44:9: 44:10
-        StorageDead(_7);                 // scope 2 at $DIR/address-of.rs:44:31: 44:32
-        _0 = const ();                   // scope 0 at $DIR/address-of.rs:41:32: 45:2
-        StorageDead(_6);                 // scope 2 at $DIR/address-of.rs:45:1: 45:2
-        StorageDead(_4);                 // scope 1 at $DIR/address-of.rs:45:1: 45:2
-        StorageDead(_2);                 // scope 0 at $DIR/address-of.rs:45:1: 45:2
-        return;                          // scope 0 at $DIR/address-of.rs:45:2: 45:2
+        StorageLive(_2);                 // scope 0 at $DIR/address-of.rs:+1:9: +1:10
+        StorageLive(_3);                 // scope 0 at $DIR/address-of.rs:+1:13: +1:15
+        _3 = &_1;                        // scope 0 at $DIR/address-of.rs:+1:13: +1:15
+        _2 = &raw const (*_3);           // scope 0 at $DIR/address-of.rs:+1:13: +1:15
+        FakeRead(ForLet(None), _2);      // scope 0 at $DIR/address-of.rs:+1:9: +1:10
+        StorageDead(_3);                 // scope 0 at $DIR/address-of.rs:+1:29: +1:30
+        StorageLive(_4);                 // scope 1 at $DIR/address-of.rs:+2:9: +2:10
+        StorageLive(_5);                 // scope 1 at $DIR/address-of.rs:+2:13: +2:19
+        _5 = &mut _1;                    // scope 1 at $DIR/address-of.rs:+2:13: +2:19
+        _4 = &raw const (*_5);           // scope 1 at $DIR/address-of.rs:+2:13: +2:19
+        FakeRead(ForLet(None), _4);      // scope 1 at $DIR/address-of.rs:+2:9: +2:10
+        StorageDead(_5);                 // scope 1 at $DIR/address-of.rs:+2:33: +2:34
+        StorageLive(_6);                 // scope 2 at $DIR/address-of.rs:+3:9: +3:10
+        StorageLive(_7);                 // scope 2 at $DIR/address-of.rs:+3:13: +3:19
+        _7 = &mut _1;                    // scope 2 at $DIR/address-of.rs:+3:13: +3:19
+        _6 = &raw mut (*_7);             // scope 2 at $DIR/address-of.rs:+3:13: +3:19
+        FakeRead(ForLet(None), _6);      // scope 2 at $DIR/address-of.rs:+3:9: +3:10
+        StorageDead(_7);                 // scope 2 at $DIR/address-of.rs:+3:31: +3:32
+        _0 = const ();                   // scope 0 at $DIR/address-of.rs:+0:32: +4:2
+        StorageDead(_6);                 // scope 2 at $DIR/address-of.rs:+4:1: +4:2
+        StorageDead(_4);                 // scope 1 at $DIR/address-of.rs:+4:1: +4:2
+        StorageDead(_2);                 // scope 0 at $DIR/address-of.rs:+4:1: +4:2
+        return;                          // scope 0 at $DIR/address-of.rs:+4:2: +4:2
     }
 }
index c8848caa027091967a4f47839ed0cd91f6ac755e..27f883ed321ae658cd865ccae2c94111cfe9aab1 100644 (file)
@@ -1,22 +1,22 @@
 // MIR for `main` after SimplifyCfg-elaborate-drops
 
 fn main() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/array-index-is-temporary.rs:12:11: 12:11
-    let mut _1: [u32; 3];                // in scope 0 at $DIR/array-index-is-temporary.rs:13:9: 13:14
-    let mut _4: &mut usize;              // in scope 0 at $DIR/array-index-is-temporary.rs:15:25: 15:31
-    let mut _5: u32;                     // in scope 0 at $DIR/array-index-is-temporary.rs:16:12: 16:29
-    let mut _6: *mut usize;              // in scope 0 at $DIR/array-index-is-temporary.rs:16:25: 16:26
-    let _7: usize;                       // in scope 0 at $DIR/array-index-is-temporary.rs:16:7: 16:8
-    let mut _8: usize;                   // in scope 0 at $DIR/array-index-is-temporary.rs:16:5: 16:9
-    let mut _9: bool;                    // in scope 0 at $DIR/array-index-is-temporary.rs:16:5: 16:9
+    let mut _0: ();                      // return place in scope 0 at $DIR/array-index-is-temporary.rs:+0:11: +0:11
+    let mut _1: [u32; 3];                // in scope 0 at $DIR/array-index-is-temporary.rs:+1:9: +1:14
+    let mut _4: &mut usize;              // in scope 0 at $DIR/array-index-is-temporary.rs:+3:25: +3:31
+    let mut _5: u32;                     // in scope 0 at $DIR/array-index-is-temporary.rs:+4:12: +4:29
+    let mut _6: *mut usize;              // in scope 0 at $DIR/array-index-is-temporary.rs:+4:25: +4:26
+    let _7: usize;                       // in scope 0 at $DIR/array-index-is-temporary.rs:+4:7: +4:8
+    let mut _8: usize;                   // in scope 0 at $DIR/array-index-is-temporary.rs:+4:5: +4:9
+    let mut _9: bool;                    // in scope 0 at $DIR/array-index-is-temporary.rs:+4:5: +4:9
     scope 1 {
-        debug x => _1;                   // in scope 1 at $DIR/array-index-is-temporary.rs:13:9: 13:14
-        let mut _2: usize;               // in scope 1 at $DIR/array-index-is-temporary.rs:14:9: 14:14
+        debug x => _1;                   // in scope 1 at $DIR/array-index-is-temporary.rs:+1:9: +1:14
+        let mut _2: usize;               // in scope 1 at $DIR/array-index-is-temporary.rs:+2:9: +2:14
         scope 2 {
-            debug y => _2;               // in scope 2 at $DIR/array-index-is-temporary.rs:14:9: 14:14
-            let _3: *mut usize;          // in scope 2 at $DIR/array-index-is-temporary.rs:15:9: 15:10
+            debug y => _2;               // in scope 2 at $DIR/array-index-is-temporary.rs:+2:9: +2:14
+            let _3: *mut usize;          // in scope 2 at $DIR/array-index-is-temporary.rs:+3:9: +3:10
             scope 3 {
-                debug z => _3;           // in scope 3 at $DIR/array-index-is-temporary.rs:15:9: 15:10
+                debug z => _3;           // in scope 3 at $DIR/array-index-is-temporary.rs:+3:9: +3:10
                 scope 4 {
                 }
             }
@@ -24,41 +24,41 @@ fn main() -> () {
     }
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/array-index-is-temporary.rs:13:9: 13:14
-        _1 = [const 42_u32, const 43_u32, const 44_u32]; // scope 0 at $DIR/array-index-is-temporary.rs:13:17: 13:29
-        StorageLive(_2);                 // scope 1 at $DIR/array-index-is-temporary.rs:14:9: 14:14
-        _2 = const 1_usize;              // scope 1 at $DIR/array-index-is-temporary.rs:14:17: 14:18
-        StorageLive(_3);                 // scope 2 at $DIR/array-index-is-temporary.rs:15:9: 15:10
-        StorageLive(_4);                 // scope 2 at $DIR/array-index-is-temporary.rs:15:25: 15:31
-        _4 = &mut _2;                    // scope 2 at $DIR/array-index-is-temporary.rs:15:25: 15:31
-        _3 = &raw mut (*_4);             // scope 2 at $DIR/array-index-is-temporary.rs:15:25: 15:31
-        StorageDead(_4);                 // scope 2 at $DIR/array-index-is-temporary.rs:15:31: 15:32
-        StorageLive(_5);                 // scope 3 at $DIR/array-index-is-temporary.rs:16:12: 16:29
-        StorageLive(_6);                 // scope 4 at $DIR/array-index-is-temporary.rs:16:25: 16:26
-        _6 = _3;                         // scope 4 at $DIR/array-index-is-temporary.rs:16:25: 16:26
-        _5 = foo(move _6) -> bb1;        // scope 4 at $DIR/array-index-is-temporary.rs:16:21: 16:27
+        StorageLive(_1);                 // scope 0 at $DIR/array-index-is-temporary.rs:+1:9: +1:14
+        _1 = [const 42_u32, const 43_u32, const 44_u32]; // scope 0 at $DIR/array-index-is-temporary.rs:+1:17: +1:29
+        StorageLive(_2);                 // scope 1 at $DIR/array-index-is-temporary.rs:+2:9: +2:14
+        _2 = const 1_usize;              // scope 1 at $DIR/array-index-is-temporary.rs:+2:17: +2:18
+        StorageLive(_3);                 // scope 2 at $DIR/array-index-is-temporary.rs:+3:9: +3:10
+        StorageLive(_4);                 // scope 2 at $DIR/array-index-is-temporary.rs:+3:25: +3:31
+        _4 = &mut _2;                    // scope 2 at $DIR/array-index-is-temporary.rs:+3:25: +3:31
+        _3 = &raw mut (*_4);             // scope 2 at $DIR/array-index-is-temporary.rs:+3:25: +3:31
+        StorageDead(_4);                 // scope 2 at $DIR/array-index-is-temporary.rs:+3:31: +3:32
+        StorageLive(_5);                 // scope 3 at $DIR/array-index-is-temporary.rs:+4:12: +4:29
+        StorageLive(_6);                 // scope 4 at $DIR/array-index-is-temporary.rs:+4:25: +4:26
+        _6 = _3;                         // scope 4 at $DIR/array-index-is-temporary.rs:+4:25: +4:26
+        _5 = foo(move _6) -> bb1;        // scope 4 at $DIR/array-index-is-temporary.rs:+4:21: +4:27
                                          // mir::Constant
                                          // + span: $DIR/array-index-is-temporary.rs:16:21: 16:24
                                          // + literal: Const { ty: unsafe fn(*mut usize) -> u32 {foo}, val: Value(<ZST>) }
     }
 
     bb1: {
-        StorageDead(_6);                 // scope 4 at $DIR/array-index-is-temporary.rs:16:26: 16:27
-        StorageLive(_7);                 // scope 3 at $DIR/array-index-is-temporary.rs:16:7: 16:8
-        _7 = _2;                         // scope 3 at $DIR/array-index-is-temporary.rs:16:7: 16:8
-        _8 = Len(_1);                    // scope 3 at $DIR/array-index-is-temporary.rs:16:5: 16:9
-        _9 = Lt(_7, _8);                 // scope 3 at $DIR/array-index-is-temporary.rs:16:5: 16:9
-        assert(move _9, "index out of bounds: the length is {} but the index is {}", move _8, _7) -> bb2; // scope 3 at $DIR/array-index-is-temporary.rs:16:5: 16:9
+        StorageDead(_6);                 // scope 4 at $DIR/array-index-is-temporary.rs:+4:26: +4:27
+        StorageLive(_7);                 // scope 3 at $DIR/array-index-is-temporary.rs:+4:7: +4:8
+        _7 = _2;                         // scope 3 at $DIR/array-index-is-temporary.rs:+4:7: +4:8
+        _8 = Len(_1);                    // scope 3 at $DIR/array-index-is-temporary.rs:+4:5: +4:9
+        _9 = Lt(_7, _8);                 // scope 3 at $DIR/array-index-is-temporary.rs:+4:5: +4:9
+        assert(move _9, "index out of bounds: the length is {} but the index is {}", move _8, _7) -> bb2; // scope 3 at $DIR/array-index-is-temporary.rs:+4:5: +4:9
     }
 
     bb2: {
-        _1[_7] = move _5;                // scope 3 at $DIR/array-index-is-temporary.rs:16:5: 16:29
-        StorageDead(_5);                 // scope 3 at $DIR/array-index-is-temporary.rs:16:28: 16:29
-        StorageDead(_7);                 // scope 3 at $DIR/array-index-is-temporary.rs:16:29: 16:30
-        _0 = const ();                   // scope 0 at $DIR/array-index-is-temporary.rs:12:11: 17:2
-        StorageDead(_3);                 // scope 2 at $DIR/array-index-is-temporary.rs:17:1: 17:2
-        StorageDead(_2);                 // scope 1 at $DIR/array-index-is-temporary.rs:17:1: 17:2
-        StorageDead(_1);                 // scope 0 at $DIR/array-index-is-temporary.rs:17:1: 17:2
-        return;                          // scope 0 at $DIR/array-index-is-temporary.rs:17:2: 17:2
+        _1[_7] = move _5;                // scope 3 at $DIR/array-index-is-temporary.rs:+4:5: +4:29
+        StorageDead(_5);                 // scope 3 at $DIR/array-index-is-temporary.rs:+4:28: +4:29
+        StorageDead(_7);                 // scope 3 at $DIR/array-index-is-temporary.rs:+4:29: +4:30
+        _0 = const ();                   // scope 0 at $DIR/array-index-is-temporary.rs:+0:11: +5:2
+        StorageDead(_3);                 // scope 2 at $DIR/array-index-is-temporary.rs:+5:1: +5:2
+        StorageDead(_2);                 // scope 1 at $DIR/array-index-is-temporary.rs:+5:1: +5:2
+        StorageDead(_1);                 // scope 0 at $DIR/array-index-is-temporary.rs:+5:1: +5:2
+        return;                          // scope 0 at $DIR/array-index-is-temporary.rs:+5:2: +5:2
     }
 }
index c8848caa027091967a4f47839ed0cd91f6ac755e..27f883ed321ae658cd865ccae2c94111cfe9aab1 100644 (file)
@@ -1,22 +1,22 @@
 // MIR for `main` after SimplifyCfg-elaborate-drops
 
 fn main() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/array-index-is-temporary.rs:12:11: 12:11
-    let mut _1: [u32; 3];                // in scope 0 at $DIR/array-index-is-temporary.rs:13:9: 13:14
-    let mut _4: &mut usize;              // in scope 0 at $DIR/array-index-is-temporary.rs:15:25: 15:31
-    let mut _5: u32;                     // in scope 0 at $DIR/array-index-is-temporary.rs:16:12: 16:29
-    let mut _6: *mut usize;              // in scope 0 at $DIR/array-index-is-temporary.rs:16:25: 16:26
-    let _7: usize;                       // in scope 0 at $DIR/array-index-is-temporary.rs:16:7: 16:8
-    let mut _8: usize;                   // in scope 0 at $DIR/array-index-is-temporary.rs:16:5: 16:9
-    let mut _9: bool;                    // in scope 0 at $DIR/array-index-is-temporary.rs:16:5: 16:9
+    let mut _0: ();                      // return place in scope 0 at $DIR/array-index-is-temporary.rs:+0:11: +0:11
+    let mut _1: [u32; 3];                // in scope 0 at $DIR/array-index-is-temporary.rs:+1:9: +1:14
+    let mut _4: &mut usize;              // in scope 0 at $DIR/array-index-is-temporary.rs:+3:25: +3:31
+    let mut _5: u32;                     // in scope 0 at $DIR/array-index-is-temporary.rs:+4:12: +4:29
+    let mut _6: *mut usize;              // in scope 0 at $DIR/array-index-is-temporary.rs:+4:25: +4:26
+    let _7: usize;                       // in scope 0 at $DIR/array-index-is-temporary.rs:+4:7: +4:8
+    let mut _8: usize;                   // in scope 0 at $DIR/array-index-is-temporary.rs:+4:5: +4:9
+    let mut _9: bool;                    // in scope 0 at $DIR/array-index-is-temporary.rs:+4:5: +4:9
     scope 1 {
-        debug x => _1;                   // in scope 1 at $DIR/array-index-is-temporary.rs:13:9: 13:14
-        let mut _2: usize;               // in scope 1 at $DIR/array-index-is-temporary.rs:14:9: 14:14
+        debug x => _1;                   // in scope 1 at $DIR/array-index-is-temporary.rs:+1:9: +1:14
+        let mut _2: usize;               // in scope 1 at $DIR/array-index-is-temporary.rs:+2:9: +2:14
         scope 2 {
-            debug y => _2;               // in scope 2 at $DIR/array-index-is-temporary.rs:14:9: 14:14
-            let _3: *mut usize;          // in scope 2 at $DIR/array-index-is-temporary.rs:15:9: 15:10
+            debug y => _2;               // in scope 2 at $DIR/array-index-is-temporary.rs:+2:9: +2:14
+            let _3: *mut usize;          // in scope 2 at $DIR/array-index-is-temporary.rs:+3:9: +3:10
             scope 3 {
-                debug z => _3;           // in scope 3 at $DIR/array-index-is-temporary.rs:15:9: 15:10
+                debug z => _3;           // in scope 3 at $DIR/array-index-is-temporary.rs:+3:9: +3:10
                 scope 4 {
                 }
             }
@@ -24,41 +24,41 @@ fn main() -> () {
     }
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/array-index-is-temporary.rs:13:9: 13:14
-        _1 = [const 42_u32, const 43_u32, const 44_u32]; // scope 0 at $DIR/array-index-is-temporary.rs:13:17: 13:29
-        StorageLive(_2);                 // scope 1 at $DIR/array-index-is-temporary.rs:14:9: 14:14
-        _2 = const 1_usize;              // scope 1 at $DIR/array-index-is-temporary.rs:14:17: 14:18
-        StorageLive(_3);                 // scope 2 at $DIR/array-index-is-temporary.rs:15:9: 15:10
-        StorageLive(_4);                 // scope 2 at $DIR/array-index-is-temporary.rs:15:25: 15:31
-        _4 = &mut _2;                    // scope 2 at $DIR/array-index-is-temporary.rs:15:25: 15:31
-        _3 = &raw mut (*_4);             // scope 2 at $DIR/array-index-is-temporary.rs:15:25: 15:31
-        StorageDead(_4);                 // scope 2 at $DIR/array-index-is-temporary.rs:15:31: 15:32
-        StorageLive(_5);                 // scope 3 at $DIR/array-index-is-temporary.rs:16:12: 16:29
-        StorageLive(_6);                 // scope 4 at $DIR/array-index-is-temporary.rs:16:25: 16:26
-        _6 = _3;                         // scope 4 at $DIR/array-index-is-temporary.rs:16:25: 16:26
-        _5 = foo(move _6) -> bb1;        // scope 4 at $DIR/array-index-is-temporary.rs:16:21: 16:27
+        StorageLive(_1);                 // scope 0 at $DIR/array-index-is-temporary.rs:+1:9: +1:14
+        _1 = [const 42_u32, const 43_u32, const 44_u32]; // scope 0 at $DIR/array-index-is-temporary.rs:+1:17: +1:29
+        StorageLive(_2);                 // scope 1 at $DIR/array-index-is-temporary.rs:+2:9: +2:14
+        _2 = const 1_usize;              // scope 1 at $DIR/array-index-is-temporary.rs:+2:17: +2:18
+        StorageLive(_3);                 // scope 2 at $DIR/array-index-is-temporary.rs:+3:9: +3:10
+        StorageLive(_4);                 // scope 2 at $DIR/array-index-is-temporary.rs:+3:25: +3:31
+        _4 = &mut _2;                    // scope 2 at $DIR/array-index-is-temporary.rs:+3:25: +3:31
+        _3 = &raw mut (*_4);             // scope 2 at $DIR/array-index-is-temporary.rs:+3:25: +3:31
+        StorageDead(_4);                 // scope 2 at $DIR/array-index-is-temporary.rs:+3:31: +3:32
+        StorageLive(_5);                 // scope 3 at $DIR/array-index-is-temporary.rs:+4:12: +4:29
+        StorageLive(_6);                 // scope 4 at $DIR/array-index-is-temporary.rs:+4:25: +4:26
+        _6 = _3;                         // scope 4 at $DIR/array-index-is-temporary.rs:+4:25: +4:26
+        _5 = foo(move _6) -> bb1;        // scope 4 at $DIR/array-index-is-temporary.rs:+4:21: +4:27
                                          // mir::Constant
                                          // + span: $DIR/array-index-is-temporary.rs:16:21: 16:24
                                          // + literal: Const { ty: unsafe fn(*mut usize) -> u32 {foo}, val: Value(<ZST>) }
     }
 
     bb1: {
-        StorageDead(_6);                 // scope 4 at $DIR/array-index-is-temporary.rs:16:26: 16:27
-        StorageLive(_7);                 // scope 3 at $DIR/array-index-is-temporary.rs:16:7: 16:8
-        _7 = _2;                         // scope 3 at $DIR/array-index-is-temporary.rs:16:7: 16:8
-        _8 = Len(_1);                    // scope 3 at $DIR/array-index-is-temporary.rs:16:5: 16:9
-        _9 = Lt(_7, _8);                 // scope 3 at $DIR/array-index-is-temporary.rs:16:5: 16:9
-        assert(move _9, "index out of bounds: the length is {} but the index is {}", move _8, _7) -> bb2; // scope 3 at $DIR/array-index-is-temporary.rs:16:5: 16:9
+        StorageDead(_6);                 // scope 4 at $DIR/array-index-is-temporary.rs:+4:26: +4:27
+        StorageLive(_7);                 // scope 3 at $DIR/array-index-is-temporary.rs:+4:7: +4:8
+        _7 = _2;                         // scope 3 at $DIR/array-index-is-temporary.rs:+4:7: +4:8
+        _8 = Len(_1);                    // scope 3 at $DIR/array-index-is-temporary.rs:+4:5: +4:9
+        _9 = Lt(_7, _8);                 // scope 3 at $DIR/array-index-is-temporary.rs:+4:5: +4:9
+        assert(move _9, "index out of bounds: the length is {} but the index is {}", move _8, _7) -> bb2; // scope 3 at $DIR/array-index-is-temporary.rs:+4:5: +4:9
     }
 
     bb2: {
-        _1[_7] = move _5;                // scope 3 at $DIR/array-index-is-temporary.rs:16:5: 16:29
-        StorageDead(_5);                 // scope 3 at $DIR/array-index-is-temporary.rs:16:28: 16:29
-        StorageDead(_7);                 // scope 3 at $DIR/array-index-is-temporary.rs:16:29: 16:30
-        _0 = const ();                   // scope 0 at $DIR/array-index-is-temporary.rs:12:11: 17:2
-        StorageDead(_3);                 // scope 2 at $DIR/array-index-is-temporary.rs:17:1: 17:2
-        StorageDead(_2);                 // scope 1 at $DIR/array-index-is-temporary.rs:17:1: 17:2
-        StorageDead(_1);                 // scope 0 at $DIR/array-index-is-temporary.rs:17:1: 17:2
-        return;                          // scope 0 at $DIR/array-index-is-temporary.rs:17:2: 17:2
+        _1[_7] = move _5;                // scope 3 at $DIR/array-index-is-temporary.rs:+4:5: +4:29
+        StorageDead(_5);                 // scope 3 at $DIR/array-index-is-temporary.rs:+4:28: +4:29
+        StorageDead(_7);                 // scope 3 at $DIR/array-index-is-temporary.rs:+4:29: +4:30
+        _0 = const ();                   // scope 0 at $DIR/array-index-is-temporary.rs:+0:11: +5:2
+        StorageDead(_3);                 // scope 2 at $DIR/array-index-is-temporary.rs:+5:1: +5:2
+        StorageDead(_2);                 // scope 1 at $DIR/array-index-is-temporary.rs:+5:1: +5:2
+        StorageDead(_1);                 // scope 0 at $DIR/array-index-is-temporary.rs:+5:1: +5:2
+        return;                          // scope 0 at $DIR/array-index-is-temporary.rs:+5:2: +5:2
     }
 }
index 44d722d6f9bffae1238a0e4932ceae8df8041f92..2487ef5c2150e51d834884f658dc24be751c582b 100644 (file)
@@ -1,24 +1,24 @@
 // MIR for `main` after AbortUnwindingCalls
 
 fn main() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/asm_unwind_panic_abort.rs:12:11: 12:11
-    let _1: ();                          // in scope 0 at $DIR/asm_unwind_panic_abort.rs:14:9: 14:49
+    let mut _0: ();                      // return place in scope 0 at $DIR/asm_unwind_panic_abort.rs:+0:11: +0:11
+    let _1: ();                          // in scope 0 at $DIR/asm_unwind_panic_abort.rs:+2:9: +2:49
     scope 1 {
     }
 
     bb0: {
-        StorageLive(_1);                 // scope 1 at $DIR/asm_unwind_panic_abort.rs:14:9: 14:49
-        _1 = const ();                   // scope 1 at $DIR/asm_unwind_panic_abort.rs:14:9: 14:49
-        asm!("", options(MAY_UNWIND)) -> [return: bb1, unwind: bb2]; // scope 1 at $DIR/asm_unwind_panic_abort.rs:14:9: 14:49
+        StorageLive(_1);                 // scope 1 at $DIR/asm_unwind_panic_abort.rs:+2:9: +2:49
+        _1 = const ();                   // scope 1 at $DIR/asm_unwind_panic_abort.rs:+2:9: +2:49
+        asm!("", options(MAY_UNWIND)) -> [return: bb1, unwind: bb2]; // scope 1 at $DIR/asm_unwind_panic_abort.rs:+2:9: +2:49
     }
 
     bb1: {
-        StorageDead(_1);                 // scope 1 at $DIR/asm_unwind_panic_abort.rs:14:48: 14:49
-        _0 = const ();                   // scope 1 at $DIR/asm_unwind_panic_abort.rs:13:5: 15:6
-        return;                          // scope 0 at $DIR/asm_unwind_panic_abort.rs:16:2: 16:2
+        StorageDead(_1);                 // scope 1 at $DIR/asm_unwind_panic_abort.rs:+2:48: +2:49
+        _0 = const ();                   // scope 1 at $DIR/asm_unwind_panic_abort.rs:+1:5: +3:6
+        return;                          // scope 0 at $DIR/asm_unwind_panic_abort.rs:+4:2: +4:2
     }
 
     bb2 (cleanup): {
-        abort;                           // scope 0 at $DIR/asm_unwind_panic_abort.rs:12:1: 16:2
+        abort;                           // scope 0 at $DIR/asm_unwind_panic_abort.rs:+0:1: +4:2
     }
 }
index a63a94b2ab5997c1d949b240de72e98888e6fc72..1f099cd5e83707d8ef48f48f2991ae8617fe6814 100644 (file)
@@ -5,80 +5,80 @@
 | 1: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(std::option::Option<std::boxed::Box<u32>>) }, span: $DIR/basic_assignment.rs:18:17: 18:33, inferred_ty: std::option::Option<std::boxed::Box<u32>>
 |
 fn main() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/basic_assignment.rs:10:11: 10:11
-    let _1: bool;                        // in scope 0 at $DIR/basic_assignment.rs:11:9: 11:17
-    let mut _3: bool;                    // in scope 0 at $DIR/basic_assignment.rs:16:16: 16:24
-    let mut _6: std::option::Option<std::boxed::Box<u32>>; // in scope 0 at $DIR/basic_assignment.rs:23:14: 23:20
+    let mut _0: ();                      // return place in scope 0 at $DIR/basic_assignment.rs:+0:11: +0:11
+    let _1: bool;                        // in scope 0 at $DIR/basic_assignment.rs:+1:9: +1:17
+    let mut _3: bool;                    // in scope 0 at $DIR/basic_assignment.rs:+6:16: +6:24
+    let mut _6: std::option::Option<std::boxed::Box<u32>>; // in scope 0 at $DIR/basic_assignment.rs:+13:14: +13:20
     scope 1 {
-        debug nodrop_x => _1;            // in scope 1 at $DIR/basic_assignment.rs:11:9: 11:17
-        let _2: bool;                    // in scope 1 at $DIR/basic_assignment.rs:12:9: 12:17
+        debug nodrop_x => _1;            // in scope 1 at $DIR/basic_assignment.rs:+1:9: +1:17
+        let _2: bool;                    // in scope 1 at $DIR/basic_assignment.rs:+2:9: +2:17
         scope 2 {
-            debug nodrop_y => _2;        // in scope 2 at $DIR/basic_assignment.rs:12:9: 12:17
-            let _4: std::option::Option<std::boxed::Box<u32>> as UserTypeProjection { base: UserType(0), projs: [] }; // in scope 2 at $DIR/basic_assignment.rs:18:9: 18:15
+            debug nodrop_y => _2;        // in scope 2 at $DIR/basic_assignment.rs:+2:9: +2:17
+            let _4: std::option::Option<std::boxed::Box<u32>> as UserTypeProjection { base: UserType(0), projs: [] }; // in scope 2 at $DIR/basic_assignment.rs:+8:9: +8:15
             scope 3 {
-                debug drop_x => _4;      // in scope 3 at $DIR/basic_assignment.rs:18:9: 18:15
-                let _5: std::option::Option<std::boxed::Box<u32>>; // in scope 3 at $DIR/basic_assignment.rs:19:9: 19:15
+                debug drop_x => _4;      // in scope 3 at $DIR/basic_assignment.rs:+8:9: +8:15
+                let _5: std::option::Option<std::boxed::Box<u32>>; // in scope 3 at $DIR/basic_assignment.rs:+9:9: +9:15
                 scope 4 {
-                    debug drop_y => _5;  // in scope 4 at $DIR/basic_assignment.rs:19:9: 19:15
+                    debug drop_y => _5;  // in scope 4 at $DIR/basic_assignment.rs:+9:9: +9:15
                 }
             }
         }
     }
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/basic_assignment.rs:11:9: 11:17
-        _1 = const false;                // scope 0 at $DIR/basic_assignment.rs:11:20: 11:25
-        FakeRead(ForLet(None), _1);      // scope 0 at $DIR/basic_assignment.rs:11:9: 11:17
-        StorageLive(_2);                 // scope 1 at $DIR/basic_assignment.rs:12:9: 12:17
-        StorageLive(_3);                 // scope 2 at $DIR/basic_assignment.rs:16:16: 16:24
-        _3 = _1;                         // scope 2 at $DIR/basic_assignment.rs:16:16: 16:24
-        _2 = move _3;                    // scope 2 at $DIR/basic_assignment.rs:16:5: 16:24
-        StorageDead(_3);                 // scope 2 at $DIR/basic_assignment.rs:16:23: 16:24
-        StorageLive(_4);                 // scope 2 at $DIR/basic_assignment.rs:18:9: 18:15
-        _4 = Option::<Box<u32>>::None;   // scope 2 at $DIR/basic_assignment.rs:18:36: 18:40
-        FakeRead(ForLet(None), _4);      // scope 2 at $DIR/basic_assignment.rs:18:9: 18:15
-        AscribeUserType(_4, o, UserTypeProjection { base: UserType(1), projs: [] }); // scope 2 at $DIR/basic_assignment.rs:18:17: 18:33
-        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: bb5]; // scope 4 at $DIR/basic_assignment.rs:23:5: 23:11
+        StorageLive(_1);                 // scope 0 at $DIR/basic_assignment.rs:+1:9: +1:17
+        _1 = const false;                // scope 0 at $DIR/basic_assignment.rs:+1:20: +1:25
+        FakeRead(ForLet(None), _1);      // scope 0 at $DIR/basic_assignment.rs:+1:9: +1:17
+        StorageLive(_2);                 // scope 1 at $DIR/basic_assignment.rs:+2:9: +2:17
+        StorageLive(_3);                 // scope 2 at $DIR/basic_assignment.rs:+6:16: +6:24
+        _3 = _1;                         // scope 2 at $DIR/basic_assignment.rs:+6:16: +6:24
+        _2 = move _3;                    // scope 2 at $DIR/basic_assignment.rs:+6:5: +6:24
+        StorageDead(_3);                 // scope 2 at $DIR/basic_assignment.rs:+6:23: +6:24
+        StorageLive(_4);                 // scope 2 at $DIR/basic_assignment.rs:+8:9: +8:15
+        _4 = Option::<Box<u32>>::None;   // scope 2 at $DIR/basic_assignment.rs:+8:36: +8:40
+        FakeRead(ForLet(None), _4);      // scope 2 at $DIR/basic_assignment.rs:+8:9: +8:15
+        AscribeUserType(_4, o, UserTypeProjection { base: UserType(1), projs: [] }); // scope 2 at $DIR/basic_assignment.rs:+8:17: +8:33
+        StorageLive(_5);                 // scope 3 at $DIR/basic_assignment.rs:+9:9: +9:15
+        StorageLive(_6);                 // scope 4 at $DIR/basic_assignment.rs:+13:14: +13:20
+        _6 = move _4;                    // scope 4 at $DIR/basic_assignment.rs:+13:14: +13:20
+        replace(_5 <- move _6) -> [return: bb1, unwind: bb5]; // scope 4 at $DIR/basic_assignment.rs:+13:5: +13:11
     }
 
     bb1: {
-        drop(_6) -> [return: bb2, unwind: bb6]; // scope 4 at $DIR/basic_assignment.rs:23:19: 23:20
+        drop(_6) -> [return: bb2, unwind: bb6]; // scope 4 at $DIR/basic_assignment.rs:+13:19: +13: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: bb3, unwind: bb7]; // scope 3 at $DIR/basic_assignment.rs:24:1: 24:2
+        StorageDead(_6);                 // scope 4 at $DIR/basic_assignment.rs:+13:19: +13:20
+        _0 = const ();                   // scope 0 at $DIR/basic_assignment.rs:+0:11: +14:2
+        drop(_5) -> [return: bb3, unwind: bb7]; // scope 3 at $DIR/basic_assignment.rs:+14:1: +14:2
     }
 
     bb3: {
-        StorageDead(_5);                 // scope 3 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
+        StorageDead(_5);                 // scope 3 at $DIR/basic_assignment.rs:+14:1: +14:2
+        drop(_4) -> [return: bb4, unwind: bb8]; // scope 2 at $DIR/basic_assignment.rs:+14:1: +14:2
     }
 
     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
+        StorageDead(_4);                 // scope 2 at $DIR/basic_assignment.rs:+14:1: +14:2
+        StorageDead(_2);                 // scope 1 at $DIR/basic_assignment.rs:+14:1: +14:2
+        StorageDead(_1);                 // scope 0 at $DIR/basic_assignment.rs:+14:1: +14:2
+        return;                          // scope 0 at $DIR/basic_assignment.rs:+14:2: +14:2
     }
 
     bb5 (cleanup): {
-        drop(_6) -> bb6;                 // scope 4 at $DIR/basic_assignment.rs:23:19: 23:20
+        drop(_6) -> bb6;                 // scope 4 at $DIR/basic_assignment.rs:+13:19: +13:20
     }
 
     bb6 (cleanup): {
-        drop(_5) -> bb7;                 // scope 3 at $DIR/basic_assignment.rs:24:1: 24:2
+        drop(_5) -> bb7;                 // scope 3 at $DIR/basic_assignment.rs:+14:1: +14:2
     }
 
     bb7 (cleanup): {
-        drop(_4) -> bb8;                 // scope 2 at $DIR/basic_assignment.rs:24:1: 24:2
+        drop(_4) -> bb8;                 // scope 2 at $DIR/basic_assignment.rs:+14:1: +14:2
     }
 
     bb8 (cleanup): {
-        resume;                          // scope 0 at $DIR/basic_assignment.rs:10:1: 24:2
+        resume;                          // scope 0 at $DIR/basic_assignment.rs:+0:1: +14:2
     }
 }
index 8f57d307abf5872f2675f5343660fe59a7a5b927..9c5a9fa9abb0e617036579f0fb741ee04a890e93 100644 (file)
@@ -2,34 +2,34 @@
 + // MIR for `opt1` after InstCombine
   
   fn opt1(_1: bool) -> u32 {
-      debug x => _1;                       // in scope 0 at $DIR/bool_compare.rs:2:9: 2:10
-      let mut _0: u32;                     // return place in scope 0 at $DIR/bool_compare.rs:2:21: 2:24
-      let mut _2: bool;                    // in scope 0 at $DIR/bool_compare.rs:3:8: 3:17
-      let mut _3: bool;                    // in scope 0 at $DIR/bool_compare.rs:3:8: 3:9
+      debug x => _1;                       // in scope 0 at $DIR/bool_compare.rs:+0:9: +0:10
+      let mut _0: u32;                     // return place in scope 0 at $DIR/bool_compare.rs:+0:21: +0:24
+      let mut _2: bool;                    // in scope 0 at $DIR/bool_compare.rs:+1:8: +1:17
+      let mut _3: bool;                    // in scope 0 at $DIR/bool_compare.rs:+1:8: +1:9
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/bool_compare.rs:3:8: 3:17
-          StorageLive(_3);                 // scope 0 at $DIR/bool_compare.rs:3:8: 3:9
-          _3 = _1;                         // scope 0 at $DIR/bool_compare.rs:3:8: 3:9
--         _2 = Ne(move _3, const true);    // scope 0 at $DIR/bool_compare.rs:3:8: 3:17
-+         _2 = Not(move _3);               // scope 0 at $DIR/bool_compare.rs:3:8: 3:17
-          StorageDead(_3);                 // scope 0 at $DIR/bool_compare.rs:3:16: 3:17
-          switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/bool_compare.rs:3:8: 3:17
+          StorageLive(_2);                 // scope 0 at $DIR/bool_compare.rs:+1:8: +1:17
+          StorageLive(_3);                 // scope 0 at $DIR/bool_compare.rs:+1:8: +1:9
+          _3 = _1;                         // scope 0 at $DIR/bool_compare.rs:+1:8: +1:9
+-         _2 = Ne(move _3, const true);    // scope 0 at $DIR/bool_compare.rs:+1:8: +1:17
++         _2 = Not(move _3);               // scope 0 at $DIR/bool_compare.rs:+1:8: +1:17
+          StorageDead(_3);                 // scope 0 at $DIR/bool_compare.rs:+1:16: +1:17
+          switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/bool_compare.rs:+1:8: +1:17
       }
   
       bb1: {
-          _0 = const 0_u32;                // scope 0 at $DIR/bool_compare.rs:3:20: 3:21
-          goto -> bb3;                     // scope 0 at $DIR/bool_compare.rs:3:5: 3:34
+          _0 = const 0_u32;                // scope 0 at $DIR/bool_compare.rs:+1:20: +1:21
+          goto -> bb3;                     // scope 0 at $DIR/bool_compare.rs:+1:5: +1:34
       }
   
       bb2: {
-          _0 = const 1_u32;                // scope 0 at $DIR/bool_compare.rs:3:31: 3:32
-          goto -> bb3;                     // scope 0 at $DIR/bool_compare.rs:3:5: 3:34
+          _0 = const 1_u32;                // scope 0 at $DIR/bool_compare.rs:+1:31: +1:32
+          goto -> bb3;                     // scope 0 at $DIR/bool_compare.rs:+1:5: +1:34
       }
   
       bb3: {
-          StorageDead(_2);                 // scope 0 at $DIR/bool_compare.rs:3:33: 3:34
-          return;                          // scope 0 at $DIR/bool_compare.rs:4:2: 4:2
+          StorageDead(_2);                 // scope 0 at $DIR/bool_compare.rs:+1:33: +1:34
+          return;                          // scope 0 at $DIR/bool_compare.rs:+2:2: +2:2
       }
   }
   
index 1f5738ae7583737475c7e8739210953870748d07..58c52c4b7d7ff36bfc528cf4d28031226194a406 100644 (file)
@@ -2,34 +2,34 @@
 + // MIR for `opt2` after InstCombine
   
   fn opt2(_1: bool) -> u32 {
-      debug x => _1;                       // in scope 0 at $DIR/bool_compare.rs:7:9: 7:10
-      let mut _0: u32;                     // return place in scope 0 at $DIR/bool_compare.rs:7:21: 7:24
-      let mut _2: bool;                    // in scope 0 at $DIR/bool_compare.rs:8:8: 8:17
-      let mut _3: bool;                    // in scope 0 at $DIR/bool_compare.rs:8:16: 8:17
+      debug x => _1;                       // in scope 0 at $DIR/bool_compare.rs:+0:9: +0:10
+      let mut _0: u32;                     // return place in scope 0 at $DIR/bool_compare.rs:+0:21: +0:24
+      let mut _2: bool;                    // in scope 0 at $DIR/bool_compare.rs:+1:8: +1:17
+      let mut _3: bool;                    // in scope 0 at $DIR/bool_compare.rs:+1:16: +1:17
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/bool_compare.rs:8:8: 8:17
-          StorageLive(_3);                 // scope 0 at $DIR/bool_compare.rs:8:16: 8:17
-          _3 = _1;                         // scope 0 at $DIR/bool_compare.rs:8:16: 8:17
--         _2 = Ne(const true, move _3);    // scope 0 at $DIR/bool_compare.rs:8:8: 8:17
-+         _2 = Not(move _3);               // scope 0 at $DIR/bool_compare.rs:8:8: 8:17
-          StorageDead(_3);                 // scope 0 at $DIR/bool_compare.rs:8:16: 8:17
-          switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/bool_compare.rs:8:8: 8:17
+          StorageLive(_2);                 // scope 0 at $DIR/bool_compare.rs:+1:8: +1:17
+          StorageLive(_3);                 // scope 0 at $DIR/bool_compare.rs:+1:16: +1:17
+          _3 = _1;                         // scope 0 at $DIR/bool_compare.rs:+1:16: +1:17
+-         _2 = Ne(const true, move _3);    // scope 0 at $DIR/bool_compare.rs:+1:8: +1:17
++         _2 = Not(move _3);               // scope 0 at $DIR/bool_compare.rs:+1:8: +1:17
+          StorageDead(_3);                 // scope 0 at $DIR/bool_compare.rs:+1:16: +1:17
+          switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/bool_compare.rs:+1:8: +1:17
       }
   
       bb1: {
-          _0 = const 0_u32;                // scope 0 at $DIR/bool_compare.rs:8:20: 8:21
-          goto -> bb3;                     // scope 0 at $DIR/bool_compare.rs:8:5: 8:34
+          _0 = const 0_u32;                // scope 0 at $DIR/bool_compare.rs:+1:20: +1:21
+          goto -> bb3;                     // scope 0 at $DIR/bool_compare.rs:+1:5: +1:34
       }
   
       bb2: {
-          _0 = const 1_u32;                // scope 0 at $DIR/bool_compare.rs:8:31: 8:32
-          goto -> bb3;                     // scope 0 at $DIR/bool_compare.rs:8:5: 8:34
+          _0 = const 1_u32;                // scope 0 at $DIR/bool_compare.rs:+1:31: +1:32
+          goto -> bb3;                     // scope 0 at $DIR/bool_compare.rs:+1:5: +1:34
       }
   
       bb3: {
-          StorageDead(_2);                 // scope 0 at $DIR/bool_compare.rs:8:33: 8:34
-          return;                          // scope 0 at $DIR/bool_compare.rs:9:2: 9:2
+          StorageDead(_2);                 // scope 0 at $DIR/bool_compare.rs:+1:33: +1:34
+          return;                          // scope 0 at $DIR/bool_compare.rs:+2:2: +2:2
       }
   }
   
index 3320509a7b37aa3320c034648e4378194f896892..676428c95c1bf01d89e674f8017c66358bcbcec0 100644 (file)
@@ -2,34 +2,34 @@
 + // MIR for `opt3` after InstCombine
   
   fn opt3(_1: bool) -> u32 {
-      debug x => _1;                       // in scope 0 at $DIR/bool_compare.rs:12:9: 12:10
-      let mut _0: u32;                     // return place in scope 0 at $DIR/bool_compare.rs:12:21: 12:24
-      let mut _2: bool;                    // in scope 0 at $DIR/bool_compare.rs:13:8: 13:18
-      let mut _3: bool;                    // in scope 0 at $DIR/bool_compare.rs:13:8: 13:9
+      debug x => _1;                       // in scope 0 at $DIR/bool_compare.rs:+0:9: +0:10
+      let mut _0: u32;                     // return place in scope 0 at $DIR/bool_compare.rs:+0:21: +0:24
+      let mut _2: bool;                    // in scope 0 at $DIR/bool_compare.rs:+1:8: +1:18
+      let mut _3: bool;                    // in scope 0 at $DIR/bool_compare.rs:+1:8: +1:9
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/bool_compare.rs:13:8: 13:18
-          StorageLive(_3);                 // scope 0 at $DIR/bool_compare.rs:13:8: 13:9
-          _3 = _1;                         // scope 0 at $DIR/bool_compare.rs:13:8: 13:9
--         _2 = Eq(move _3, const false);   // scope 0 at $DIR/bool_compare.rs:13:8: 13:18
-+         _2 = Not(move _3);               // scope 0 at $DIR/bool_compare.rs:13:8: 13:18
-          StorageDead(_3);                 // scope 0 at $DIR/bool_compare.rs:13:17: 13:18
-          switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/bool_compare.rs:13:8: 13:18
+          StorageLive(_2);                 // scope 0 at $DIR/bool_compare.rs:+1:8: +1:18
+          StorageLive(_3);                 // scope 0 at $DIR/bool_compare.rs:+1:8: +1:9
+          _3 = _1;                         // scope 0 at $DIR/bool_compare.rs:+1:8: +1:9
+-         _2 = Eq(move _3, const false);   // scope 0 at $DIR/bool_compare.rs:+1:8: +1:18
++         _2 = Not(move _3);               // scope 0 at $DIR/bool_compare.rs:+1:8: +1:18
+          StorageDead(_3);                 // scope 0 at $DIR/bool_compare.rs:+1:17: +1:18
+          switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/bool_compare.rs:+1:8: +1:18
       }
   
       bb1: {
-          _0 = const 0_u32;                // scope 0 at $DIR/bool_compare.rs:13:21: 13:22
-          goto -> bb3;                     // scope 0 at $DIR/bool_compare.rs:13:5: 13:35
+          _0 = const 0_u32;                // scope 0 at $DIR/bool_compare.rs:+1:21: +1:22
+          goto -> bb3;                     // scope 0 at $DIR/bool_compare.rs:+1:5: +1:35
       }
   
       bb2: {
-          _0 = const 1_u32;                // scope 0 at $DIR/bool_compare.rs:13:32: 13:33
-          goto -> bb3;                     // scope 0 at $DIR/bool_compare.rs:13:5: 13:35
+          _0 = const 1_u32;                // scope 0 at $DIR/bool_compare.rs:+1:32: +1:33
+          goto -> bb3;                     // scope 0 at $DIR/bool_compare.rs:+1:5: +1:35
       }
   
       bb3: {
-          StorageDead(_2);                 // scope 0 at $DIR/bool_compare.rs:13:34: 13:35
-          return;                          // scope 0 at $DIR/bool_compare.rs:14:2: 14:2
+          StorageDead(_2);                 // scope 0 at $DIR/bool_compare.rs:+1:34: +1:35
+          return;                          // scope 0 at $DIR/bool_compare.rs:+2:2: +2:2
       }
   }
   
index 02049f4126da5b44245007cbb3267914a60ff2cf..addfcd769a5468327578048b5c8838661877957c 100644 (file)
@@ -2,34 +2,34 @@
 + // MIR for `opt4` after InstCombine
   
   fn opt4(_1: bool) -> u32 {
-      debug x => _1;                       // in scope 0 at $DIR/bool_compare.rs:17:9: 17:10
-      let mut _0: u32;                     // return place in scope 0 at $DIR/bool_compare.rs:17:21: 17:24
-      let mut _2: bool;                    // in scope 0 at $DIR/bool_compare.rs:18:8: 18:18
-      let mut _3: bool;                    // in scope 0 at $DIR/bool_compare.rs:18:17: 18:18
+      debug x => _1;                       // in scope 0 at $DIR/bool_compare.rs:+0:9: +0:10
+      let mut _0: u32;                     // return place in scope 0 at $DIR/bool_compare.rs:+0:21: +0:24
+      let mut _2: bool;                    // in scope 0 at $DIR/bool_compare.rs:+1:8: +1:18
+      let mut _3: bool;                    // in scope 0 at $DIR/bool_compare.rs:+1:17: +1:18
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/bool_compare.rs:18:8: 18:18
-          StorageLive(_3);                 // scope 0 at $DIR/bool_compare.rs:18:17: 18:18
-          _3 = _1;                         // scope 0 at $DIR/bool_compare.rs:18:17: 18:18
--         _2 = Eq(const false, move _3);   // scope 0 at $DIR/bool_compare.rs:18:8: 18:18
-+         _2 = Not(move _3);               // scope 0 at $DIR/bool_compare.rs:18:8: 18:18
-          StorageDead(_3);                 // scope 0 at $DIR/bool_compare.rs:18:17: 18:18
-          switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/bool_compare.rs:18:8: 18:18
+          StorageLive(_2);                 // scope 0 at $DIR/bool_compare.rs:+1:8: +1:18
+          StorageLive(_3);                 // scope 0 at $DIR/bool_compare.rs:+1:17: +1:18
+          _3 = _1;                         // scope 0 at $DIR/bool_compare.rs:+1:17: +1:18
+-         _2 = Eq(const false, move _3);   // scope 0 at $DIR/bool_compare.rs:+1:8: +1:18
++         _2 = Not(move _3);               // scope 0 at $DIR/bool_compare.rs:+1:8: +1:18
+          StorageDead(_3);                 // scope 0 at $DIR/bool_compare.rs:+1:17: +1:18
+          switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/bool_compare.rs:+1:8: +1:18
       }
   
       bb1: {
-          _0 = const 0_u32;                // scope 0 at $DIR/bool_compare.rs:18:21: 18:22
-          goto -> bb3;                     // scope 0 at $DIR/bool_compare.rs:18:5: 18:35
+          _0 = const 0_u32;                // scope 0 at $DIR/bool_compare.rs:+1:21: +1:22
+          goto -> bb3;                     // scope 0 at $DIR/bool_compare.rs:+1:5: +1:35
       }
   
       bb2: {
-          _0 = const 1_u32;                // scope 0 at $DIR/bool_compare.rs:18:32: 18:33
-          goto -> bb3;                     // scope 0 at $DIR/bool_compare.rs:18:5: 18:35
+          _0 = const 1_u32;                // scope 0 at $DIR/bool_compare.rs:+1:32: +1:33
+          goto -> bb3;                     // scope 0 at $DIR/bool_compare.rs:+1:5: +1:35
       }
   
       bb3: {
-          StorageDead(_2);                 // scope 0 at $DIR/bool_compare.rs:18:34: 18:35
-          return;                          // scope 0 at $DIR/bool_compare.rs:19:2: 19:2
+          StorageDead(_2);                 // scope 0 at $DIR/bool_compare.rs:+1:34: +1:35
+          return;                          // scope 0 at $DIR/bool_compare.rs:+2:2: +2:2
       }
   }
   
index 9b35beccbcc5ae435864441fa1a3ae38e3ccb88b..49133138d45e39fd962b1b37063f21010a3fa36f 100644 (file)
@@ -1,80 +1,80 @@
 // MIR for `main` before ElaborateDrops
 
 fn main() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/box_expr.rs:6:11: 6:11
-    let _1: std::boxed::Box<S>;          // in scope 0 at $DIR/box_expr.rs:7:9: 7:10
-    let mut _2: usize;                   // in scope 0 at $DIR/box_expr.rs:7:13: 7:25
-    let mut _3: usize;                   // in scope 0 at $DIR/box_expr.rs:7:13: 7:25
-    let mut _4: *mut u8;                 // in scope 0 at $DIR/box_expr.rs:7:13: 7:25
-    let mut _5: std::boxed::Box<S>;      // in scope 0 at $DIR/box_expr.rs:7:13: 7:25
-    let _6: ();                          // in scope 0 at $DIR/box_expr.rs:8:5: 8:12
-    let mut _7: std::boxed::Box<S>;      // in scope 0 at $DIR/box_expr.rs:8:10: 8:11
+    let mut _0: ();                      // return place in scope 0 at $DIR/box_expr.rs:+0:11: +0:11
+    let _1: std::boxed::Box<S>;          // in scope 0 at $DIR/box_expr.rs:+1:9: +1:10
+    let mut _2: usize;                   // in scope 0 at $DIR/box_expr.rs:+1:13: +1:25
+    let mut _3: usize;                   // in scope 0 at $DIR/box_expr.rs:+1:13: +1:25
+    let mut _4: *mut u8;                 // in scope 0 at $DIR/box_expr.rs:+1:13: +1:25
+    let mut _5: std::boxed::Box<S>;      // in scope 0 at $DIR/box_expr.rs:+1:13: +1:25
+    let _6: ();                          // in scope 0 at $DIR/box_expr.rs:+2:5: +2:12
+    let mut _7: std::boxed::Box<S>;      // in scope 0 at $DIR/box_expr.rs:+2:10: +2:11
     scope 1 {
-        debug x => _1;                   // in scope 1 at $DIR/box_expr.rs:7:9: 7:10
+        debug x => _1;                   // in scope 1 at $DIR/box_expr.rs:+1:9: +1:10
     }
     scope 2 {
     }
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/box_expr.rs:7:9: 7:10
-        _2 = SizeOf(S);                  // scope 2 at $DIR/box_expr.rs:7:13: 7:25
-        _3 = AlignOf(S);                 // scope 2 at $DIR/box_expr.rs:7:13: 7:25
-        _4 = alloc::alloc::exchange_malloc(move _2, move _3) -> bb1; // scope 2 at $DIR/box_expr.rs:7:13: 7:25
+        StorageLive(_1);                 // scope 0 at $DIR/box_expr.rs:+1:9: +1:10
+        _2 = SizeOf(S);                  // scope 2 at $DIR/box_expr.rs:+1:13: +1:25
+        _3 = AlignOf(S);                 // scope 2 at $DIR/box_expr.rs:+1:13: +1:25
+        _4 = alloc::alloc::exchange_malloc(move _2, move _3) -> bb1; // scope 2 at $DIR/box_expr.rs:+1:13: +1:25
                                          // mir::Constant
                                          // + span: $DIR/box_expr.rs:7:13: 7:25
                                          // + literal: Const { ty: unsafe fn(usize, usize) -> *mut u8 {alloc::alloc::exchange_malloc}, val: Value(<ZST>) }
     }
 
     bb1: {
-        StorageLive(_5);                 // scope 0 at $DIR/box_expr.rs:7:13: 7:25
-        _5 = ShallowInitBox(move _4, S); // scope 0 at $DIR/box_expr.rs:7:13: 7:25
-        (*_5) = S::new() -> [return: bb2, unwind: bb8]; // scope 0 at $DIR/box_expr.rs:7:17: 7:25
+        StorageLive(_5);                 // scope 0 at $DIR/box_expr.rs:+1:13: +1:25
+        _5 = ShallowInitBox(move _4, S); // scope 0 at $DIR/box_expr.rs:+1:13: +1:25
+        (*_5) = S::new() -> [return: bb2, unwind: bb8]; // scope 0 at $DIR/box_expr.rs:+1:17: +1:25
                                          // mir::Constant
                                          // + span: $DIR/box_expr.rs:7:17: 7:23
                                          // + literal: Const { ty: fn() -> S {S::new}, val: Value(<ZST>) }
     }
 
     bb2: {
-        _1 = move _5;                    // scope 0 at $DIR/box_expr.rs:7:13: 7:25
-        drop(_5) -> bb3;                 // scope 0 at $DIR/box_expr.rs:7:24: 7:25
+        _1 = move _5;                    // scope 0 at $DIR/box_expr.rs:+1:13: +1:25
+        drop(_5) -> bb3;                 // scope 0 at $DIR/box_expr.rs:+1:24: +1:25
     }
 
     bb3: {
-        StorageDead(_5);                 // scope 0 at $DIR/box_expr.rs:7:24: 7:25
-        StorageLive(_6);                 // scope 1 at $DIR/box_expr.rs:8:5: 8:12
-        StorageLive(_7);                 // scope 1 at $DIR/box_expr.rs:8:10: 8:11
-        _7 = move _1;                    // scope 1 at $DIR/box_expr.rs:8:10: 8:11
-        _6 = std::mem::drop::<Box<S>>(move _7) -> [return: bb4, unwind: bb6]; // scope 1 at $DIR/box_expr.rs:8:5: 8:12
+        StorageDead(_5);                 // scope 0 at $DIR/box_expr.rs:+1:24: +1:25
+        StorageLive(_6);                 // scope 1 at $DIR/box_expr.rs:+2:5: +2:12
+        StorageLive(_7);                 // scope 1 at $DIR/box_expr.rs:+2:10: +2:11
+        _7 = move _1;                    // scope 1 at $DIR/box_expr.rs:+2:10: +2:11
+        _6 = std::mem::drop::<Box<S>>(move _7) -> [return: bb4, unwind: bb6]; // scope 1 at $DIR/box_expr.rs:+2:5: +2:12
                                          // mir::Constant
                                          // + span: $DIR/box_expr.rs:8:5: 8:9
                                          // + literal: Const { ty: fn(Box<S>) {std::mem::drop::<Box<S>>}, val: Value(<ZST>) }
     }
 
     bb4: {
-        StorageDead(_7);                 // scope 1 at $DIR/box_expr.rs:8:11: 8:12
-        StorageDead(_6);                 // 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) -> bb5;                 // scope 0 at $DIR/box_expr.rs:9:1: 9:2
+        StorageDead(_7);                 // scope 1 at $DIR/box_expr.rs:+2:11: +2:12
+        StorageDead(_6);                 // scope 1 at $DIR/box_expr.rs:+2:12: +2:13
+        _0 = const ();                   // scope 0 at $DIR/box_expr.rs:+0:11: +3:2
+        drop(_1) -> bb5;                 // scope 0 at $DIR/box_expr.rs:+3:1: +3:2
     }
 
     bb5: {
-        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
+        StorageDead(_1);                 // scope 0 at $DIR/box_expr.rs:+3:1: +3:2
+        return;                          // scope 0 at $DIR/box_expr.rs:+3:2: +3:2
     }
 
     bb6 (cleanup): {
-        drop(_7) -> bb7;                 // scope 1 at $DIR/box_expr.rs:8:11: 8:12
+        drop(_7) -> bb7;                 // scope 1 at $DIR/box_expr.rs:+2:11: +2:12
     }
 
     bb7 (cleanup): {
-        drop(_1) -> bb9;                 // scope 0 at $DIR/box_expr.rs:9:1: 9:2
+        drop(_1) -> bb9;                 // scope 0 at $DIR/box_expr.rs:+3:1: +3:2
     }
 
     bb8 (cleanup): {
-        drop(_5) -> bb9;                 // scope 0 at $DIR/box_expr.rs:7:24: 7:25
+        drop(_5) -> bb9;                 // scope 0 at $DIR/box_expr.rs:+1:24: +1:25
     }
 
     bb9 (cleanup): {
-        resume;                          // scope 0 at $DIR/box_expr.rs:6:1: 9:2
+        resume;                          // scope 0 at $DIR/box_expr.rs:+0:1: +3:2
     }
 }
index 073cba5acf4072777b4d32c6696471da69cd8cda..73f5655a1e502b87b47ab391d8036e9f20f51b76 100644 (file)
@@ -1,28 +1,28 @@
 // MIR for `main` after SimplifyCfg-elaborate-drops
 
 fn main() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/byte_slice.rs:4:11: 4:11
-    let _1: &[u8; 3];                    // in scope 0 at $DIR/byte_slice.rs:5:9: 5:10
+    let mut _0: ();                      // return place in scope 0 at $DIR/byte_slice.rs:+0:11: +0:11
+    let _1: &[u8; 3];                    // in scope 0 at $DIR/byte_slice.rs:+1:9: +1:10
     scope 1 {
-        debug x => _1;                   // in scope 1 at $DIR/byte_slice.rs:5:9: 5:10
-        let _2: [u8; 2];                 // in scope 1 at $DIR/byte_slice.rs:6:9: 6:10
+        debug x => _1;                   // in scope 1 at $DIR/byte_slice.rs:+1:9: +1:10
+        let _2: [u8; 2];                 // in scope 1 at $DIR/byte_slice.rs:+2:9: +2:10
         scope 2 {
-            debug y => _2;               // in scope 2 at $DIR/byte_slice.rs:6:9: 6:10
+            debug y => _2;               // in scope 2 at $DIR/byte_slice.rs:+2:9: +2:10
         }
     }
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/byte_slice.rs:5:9: 5:10
-        _1 = const b"foo";               // scope 0 at $DIR/byte_slice.rs:5:13: 5:19
+        StorageLive(_1);                 // scope 0 at $DIR/byte_slice.rs:+1:9: +1:10
+        _1 = const b"foo";               // scope 0 at $DIR/byte_slice.rs:+1:13: +1:19
                                          // mir::Constant
                                          // + span: $DIR/byte_slice.rs:5:13: 5:19
                                          // + literal: Const { ty: &[u8; 3], val: Value(Scalar(alloc1)) }
-        StorageLive(_2);                 // scope 1 at $DIR/byte_slice.rs:6:9: 6:10
-        _2 = [const 5_u8, const 120_u8]; // scope 1 at $DIR/byte_slice.rs:6:13: 6:24
-        _0 = const ();                   // scope 0 at $DIR/byte_slice.rs:4:11: 7:2
-        StorageDead(_2);                 // scope 1 at $DIR/byte_slice.rs:7:1: 7:2
-        StorageDead(_1);                 // scope 0 at $DIR/byte_slice.rs:7:1: 7:2
-        return;                          // scope 0 at $DIR/byte_slice.rs:7:2: 7:2
+        StorageLive(_2);                 // scope 1 at $DIR/byte_slice.rs:+2:9: +2:10
+        _2 = [const 5_u8, const 120_u8]; // scope 1 at $DIR/byte_slice.rs:+2:13: +2:24
+        _0 = const ();                   // scope 0 at $DIR/byte_slice.rs:+0:11: +3:2
+        StorageDead(_2);                 // scope 1 at $DIR/byte_slice.rs:+3:1: +3:2
+        StorageDead(_1);                 // scope 0 at $DIR/byte_slice.rs:+3:1: +3:2
+        return;                          // scope 0 at $DIR/byte_slice.rs:+3:2: +3:2
     }
 }
 
index 979e5bc4d21186325c287aea2707e5fef85acf59..c73150f947dfef7764c1b5c62fcfa9b9583a9f10 100644 (file)
@@ -2,76 +2,76 @@
 + // MIR for `norm2` after InstCombine
   
   fn norm2(_1: [f32; 2]) -> f32 {
-      debug x => _1;                       // in scope 0 at $DIR/combine_array_len.rs:4:10: 4:11
-      let mut _0: f32;                     // return place in scope 0 at $DIR/combine_array_len.rs:4:26: 4:29
-      let _2: f32;                         // in scope 0 at $DIR/combine_array_len.rs:5:9: 5:10
-      let _3: usize;                       // in scope 0 at $DIR/combine_array_len.rs:5:15: 5:16
-      let mut _4: usize;                   // in scope 0 at $DIR/combine_array_len.rs:5:13: 5:17
-      let mut _5: bool;                    // in scope 0 at $DIR/combine_array_len.rs:5:13: 5:17
-      let _7: usize;                       // in scope 0 at $DIR/combine_array_len.rs:6:15: 6:16
-      let mut _8: usize;                   // in scope 0 at $DIR/combine_array_len.rs:6:13: 6:17
-      let mut _9: bool;                    // in scope 0 at $DIR/combine_array_len.rs:6:13: 6:17
-      let mut _10: f32;                    // in scope 0 at $DIR/combine_array_len.rs:7:5: 7:8
-      let mut _11: f32;                    // in scope 0 at $DIR/combine_array_len.rs:7:5: 7:6
-      let mut _12: f32;                    // in scope 0 at $DIR/combine_array_len.rs:7:7: 7:8
-      let mut _13: f32;                    // in scope 0 at $DIR/combine_array_len.rs:7:11: 7:14
-      let mut _14: f32;                    // in scope 0 at $DIR/combine_array_len.rs:7:11: 7:12
-      let mut _15: f32;                    // in scope 0 at $DIR/combine_array_len.rs:7:13: 7:14
+      debug x => _1;                       // in scope 0 at $DIR/combine_array_len.rs:+0:10: +0:11
+      let mut _0: f32;                     // return place in scope 0 at $DIR/combine_array_len.rs:+0:26: +0:29
+      let _2: f32;                         // in scope 0 at $DIR/combine_array_len.rs:+1:9: +1:10
+      let _3: usize;                       // in scope 0 at $DIR/combine_array_len.rs:+1:15: +1:16
+      let mut _4: usize;                   // in scope 0 at $DIR/combine_array_len.rs:+1:13: +1:17
+      let mut _5: bool;                    // in scope 0 at $DIR/combine_array_len.rs:+1:13: +1:17
+      let _7: usize;                       // in scope 0 at $DIR/combine_array_len.rs:+2:15: +2:16
+      let mut _8: usize;                   // in scope 0 at $DIR/combine_array_len.rs:+2:13: +2:17
+      let mut _9: bool;                    // in scope 0 at $DIR/combine_array_len.rs:+2:13: +2:17
+      let mut _10: f32;                    // in scope 0 at $DIR/combine_array_len.rs:+3:5: +3:8
+      let mut _11: f32;                    // in scope 0 at $DIR/combine_array_len.rs:+3:5: +3:6
+      let mut _12: f32;                    // in scope 0 at $DIR/combine_array_len.rs:+3:7: +3:8
+      let mut _13: f32;                    // in scope 0 at $DIR/combine_array_len.rs:+3:11: +3:14
+      let mut _14: f32;                    // in scope 0 at $DIR/combine_array_len.rs:+3:11: +3:12
+      let mut _15: f32;                    // in scope 0 at $DIR/combine_array_len.rs:+3:13: +3:14
       scope 1 {
-          debug a => _2;                   // in scope 1 at $DIR/combine_array_len.rs:5:9: 5:10
-          let _6: f32;                     // in scope 1 at $DIR/combine_array_len.rs:6:9: 6:10
+          debug a => _2;                   // in scope 1 at $DIR/combine_array_len.rs:+1:9: +1:10
+          let _6: f32;                     // in scope 1 at $DIR/combine_array_len.rs:+2:9: +2:10
           scope 2 {
-              debug b => _6;               // in scope 2 at $DIR/combine_array_len.rs:6:9: 6:10
+              debug b => _6;               // in scope 2 at $DIR/combine_array_len.rs:+2:9: +2:10
           }
       }
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/combine_array_len.rs:5:9: 5:10
-          StorageLive(_3);                 // scope 0 at $DIR/combine_array_len.rs:5:15: 5:16
-          _3 = const 0_usize;              // scope 0 at $DIR/combine_array_len.rs:5:15: 5:16
--         _4 = Len(_1);                    // scope 0 at $DIR/combine_array_len.rs:5:13: 5:17
-+         _4 = const 2_usize;              // scope 0 at $DIR/combine_array_len.rs:5:13: 5:17
-          _5 = Lt(_3, _4);                 // scope 0 at $DIR/combine_array_len.rs:5:13: 5:17
-          assert(move _5, "index out of bounds: the length is {} but the index is {}", move _4, _3) -> bb1; // scope 0 at $DIR/combine_array_len.rs:5:13: 5:17
+          StorageLive(_2);                 // scope 0 at $DIR/combine_array_len.rs:+1:9: +1:10
+          StorageLive(_3);                 // scope 0 at $DIR/combine_array_len.rs:+1:15: +1:16
+          _3 = const 0_usize;              // scope 0 at $DIR/combine_array_len.rs:+1:15: +1:16
+-         _4 = Len(_1);                    // scope 0 at $DIR/combine_array_len.rs:+1:13: +1:17
++         _4 = const 2_usize;              // scope 0 at $DIR/combine_array_len.rs:+1:13: +1:17
+          _5 = Lt(_3, _4);                 // scope 0 at $DIR/combine_array_len.rs:+1:13: +1:17
+          assert(move _5, "index out of bounds: the length is {} but the index is {}", move _4, _3) -> bb1; // scope 0 at $DIR/combine_array_len.rs:+1:13: +1:17
       }
   
       bb1: {
-          _2 = _1[_3];                     // scope 0 at $DIR/combine_array_len.rs:5:13: 5:17
-          StorageDead(_3);                 // scope 0 at $DIR/combine_array_len.rs:5:17: 5:18
-          StorageLive(_6);                 // scope 1 at $DIR/combine_array_len.rs:6:9: 6:10
-          StorageLive(_7);                 // scope 1 at $DIR/combine_array_len.rs:6:15: 6:16
-          _7 = const 1_usize;              // scope 1 at $DIR/combine_array_len.rs:6:15: 6:16
--         _8 = Len(_1);                    // scope 1 at $DIR/combine_array_len.rs:6:13: 6:17
-+         _8 = const 2_usize;              // scope 1 at $DIR/combine_array_len.rs:6:13: 6:17
-          _9 = Lt(_7, _8);                 // scope 1 at $DIR/combine_array_len.rs:6:13: 6:17
-          assert(move _9, "index out of bounds: the length is {} but the index is {}", move _8, _7) -> bb2; // scope 1 at $DIR/combine_array_len.rs:6:13: 6:17
+          _2 = _1[_3];                     // scope 0 at $DIR/combine_array_len.rs:+1:13: +1:17
+          StorageDead(_3);                 // scope 0 at $DIR/combine_array_len.rs:+1:17: +1:18
+          StorageLive(_6);                 // scope 1 at $DIR/combine_array_len.rs:+2:9: +2:10
+          StorageLive(_7);                 // scope 1 at $DIR/combine_array_len.rs:+2:15: +2:16
+          _7 = const 1_usize;              // scope 1 at $DIR/combine_array_len.rs:+2:15: +2:16
+-         _8 = Len(_1);                    // scope 1 at $DIR/combine_array_len.rs:+2:13: +2:17
++         _8 = const 2_usize;              // scope 1 at $DIR/combine_array_len.rs:+2:13: +2:17
+          _9 = Lt(_7, _8);                 // scope 1 at $DIR/combine_array_len.rs:+2:13: +2:17
+          assert(move _9, "index out of bounds: the length is {} but the index is {}", move _8, _7) -> bb2; // scope 1 at $DIR/combine_array_len.rs:+2:13: +2:17
       }
   
       bb2: {
-          _6 = _1[_7];                     // scope 1 at $DIR/combine_array_len.rs:6:13: 6:17
-          StorageDead(_7);                 // scope 1 at $DIR/combine_array_len.rs:6:17: 6:18
-          StorageLive(_10);                // scope 2 at $DIR/combine_array_len.rs:7:5: 7:8
-          StorageLive(_11);                // scope 2 at $DIR/combine_array_len.rs:7:5: 7:6
-          _11 = _2;                        // scope 2 at $DIR/combine_array_len.rs:7:5: 7:6
-          StorageLive(_12);                // scope 2 at $DIR/combine_array_len.rs:7:7: 7:8
-          _12 = _2;                        // scope 2 at $DIR/combine_array_len.rs:7:7: 7:8
-          _10 = Mul(move _11, move _12);   // scope 2 at $DIR/combine_array_len.rs:7:5: 7:8
-          StorageDead(_12);                // scope 2 at $DIR/combine_array_len.rs:7:7: 7:8
-          StorageDead(_11);                // scope 2 at $DIR/combine_array_len.rs:7:7: 7:8
-          StorageLive(_13);                // scope 2 at $DIR/combine_array_len.rs:7:11: 7:14
-          StorageLive(_14);                // scope 2 at $DIR/combine_array_len.rs:7:11: 7:12
-          _14 = _6;                        // scope 2 at $DIR/combine_array_len.rs:7:11: 7:12
-          StorageLive(_15);                // scope 2 at $DIR/combine_array_len.rs:7:13: 7:14
-          _15 = _6;                        // scope 2 at $DIR/combine_array_len.rs:7:13: 7:14
-          _13 = Mul(move _14, move _15);   // scope 2 at $DIR/combine_array_len.rs:7:11: 7:14
-          StorageDead(_15);                // scope 2 at $DIR/combine_array_len.rs:7:13: 7:14
-          StorageDead(_14);                // scope 2 at $DIR/combine_array_len.rs:7:13: 7:14
-          _0 = Add(move _10, move _13);    // scope 2 at $DIR/combine_array_len.rs:7:5: 7:14
-          StorageDead(_13);                // scope 2 at $DIR/combine_array_len.rs:7:13: 7:14
-          StorageDead(_10);                // scope 2 at $DIR/combine_array_len.rs:7:13: 7:14
-          StorageDead(_6);                 // scope 1 at $DIR/combine_array_len.rs:8:1: 8:2
-          StorageDead(_2);                 // scope 0 at $DIR/combine_array_len.rs:8:1: 8:2
-          return;                          // scope 0 at $DIR/combine_array_len.rs:8:2: 8:2
+          _6 = _1[_7];                     // scope 1 at $DIR/combine_array_len.rs:+2:13: +2:17
+          StorageDead(_7);                 // scope 1 at $DIR/combine_array_len.rs:+2:17: +2:18
+          StorageLive(_10);                // scope 2 at $DIR/combine_array_len.rs:+3:5: +3:8
+          StorageLive(_11);                // scope 2 at $DIR/combine_array_len.rs:+3:5: +3:6
+          _11 = _2;                        // scope 2 at $DIR/combine_array_len.rs:+3:5: +3:6
+          StorageLive(_12);                // scope 2 at $DIR/combine_array_len.rs:+3:7: +3:8
+          _12 = _2;                        // scope 2 at $DIR/combine_array_len.rs:+3:7: +3:8
+          _10 = Mul(move _11, move _12);   // scope 2 at $DIR/combine_array_len.rs:+3:5: +3:8
+          StorageDead(_12);                // scope 2 at $DIR/combine_array_len.rs:+3:7: +3:8
+          StorageDead(_11);                // scope 2 at $DIR/combine_array_len.rs:+3:7: +3:8
+          StorageLive(_13);                // scope 2 at $DIR/combine_array_len.rs:+3:11: +3:14
+          StorageLive(_14);                // scope 2 at $DIR/combine_array_len.rs:+3:11: +3:12
+          _14 = _6;                        // scope 2 at $DIR/combine_array_len.rs:+3:11: +3:12
+          StorageLive(_15);                // scope 2 at $DIR/combine_array_len.rs:+3:13: +3:14
+          _15 = _6;                        // scope 2 at $DIR/combine_array_len.rs:+3:13: +3:14
+          _13 = Mul(move _14, move _15);   // scope 2 at $DIR/combine_array_len.rs:+3:11: +3:14
+          StorageDead(_15);                // scope 2 at $DIR/combine_array_len.rs:+3:13: +3:14
+          StorageDead(_14);                // scope 2 at $DIR/combine_array_len.rs:+3:13: +3:14
+          _0 = Add(move _10, move _13);    // scope 2 at $DIR/combine_array_len.rs:+3:5: +3:14
+          StorageDead(_13);                // scope 2 at $DIR/combine_array_len.rs:+3:13: +3:14
+          StorageDead(_10);                // scope 2 at $DIR/combine_array_len.rs:+3:13: +3:14
+          StorageDead(_6);                 // scope 1 at $DIR/combine_array_len.rs:+4:1: +4:2
+          StorageDead(_2);                 // scope 0 at $DIR/combine_array_len.rs:+4:1: +4:2
+          return;                          // scope 0 at $DIR/combine_array_len.rs:+4:2: +4:2
       }
   }
   
index 979e5bc4d21186325c287aea2707e5fef85acf59..c73150f947dfef7764c1b5c62fcfa9b9583a9f10 100644 (file)
@@ -2,76 +2,76 @@
 + // MIR for `norm2` after InstCombine
   
   fn norm2(_1: [f32; 2]) -> f32 {
-      debug x => _1;                       // in scope 0 at $DIR/combine_array_len.rs:4:10: 4:11
-      let mut _0: f32;                     // return place in scope 0 at $DIR/combine_array_len.rs:4:26: 4:29
-      let _2: f32;                         // in scope 0 at $DIR/combine_array_len.rs:5:9: 5:10
-      let _3: usize;                       // in scope 0 at $DIR/combine_array_len.rs:5:15: 5:16
-      let mut _4: usize;                   // in scope 0 at $DIR/combine_array_len.rs:5:13: 5:17
-      let mut _5: bool;                    // in scope 0 at $DIR/combine_array_len.rs:5:13: 5:17
-      let _7: usize;                       // in scope 0 at $DIR/combine_array_len.rs:6:15: 6:16
-      let mut _8: usize;                   // in scope 0 at $DIR/combine_array_len.rs:6:13: 6:17
-      let mut _9: bool;                    // in scope 0 at $DIR/combine_array_len.rs:6:13: 6:17
-      let mut _10: f32;                    // in scope 0 at $DIR/combine_array_len.rs:7:5: 7:8
-      let mut _11: f32;                    // in scope 0 at $DIR/combine_array_len.rs:7:5: 7:6
-      let mut _12: f32;                    // in scope 0 at $DIR/combine_array_len.rs:7:7: 7:8
-      let mut _13: f32;                    // in scope 0 at $DIR/combine_array_len.rs:7:11: 7:14
-      let mut _14: f32;                    // in scope 0 at $DIR/combine_array_len.rs:7:11: 7:12
-      let mut _15: f32;                    // in scope 0 at $DIR/combine_array_len.rs:7:13: 7:14
+      debug x => _1;                       // in scope 0 at $DIR/combine_array_len.rs:+0:10: +0:11
+      let mut _0: f32;                     // return place in scope 0 at $DIR/combine_array_len.rs:+0:26: +0:29
+      let _2: f32;                         // in scope 0 at $DIR/combine_array_len.rs:+1:9: +1:10
+      let _3: usize;                       // in scope 0 at $DIR/combine_array_len.rs:+1:15: +1:16
+      let mut _4: usize;                   // in scope 0 at $DIR/combine_array_len.rs:+1:13: +1:17
+      let mut _5: bool;                    // in scope 0 at $DIR/combine_array_len.rs:+1:13: +1:17
+      let _7: usize;                       // in scope 0 at $DIR/combine_array_len.rs:+2:15: +2:16
+      let mut _8: usize;                   // in scope 0 at $DIR/combine_array_len.rs:+2:13: +2:17
+      let mut _9: bool;                    // in scope 0 at $DIR/combine_array_len.rs:+2:13: +2:17
+      let mut _10: f32;                    // in scope 0 at $DIR/combine_array_len.rs:+3:5: +3:8
+      let mut _11: f32;                    // in scope 0 at $DIR/combine_array_len.rs:+3:5: +3:6
+      let mut _12: f32;                    // in scope 0 at $DIR/combine_array_len.rs:+3:7: +3:8
+      let mut _13: f32;                    // in scope 0 at $DIR/combine_array_len.rs:+3:11: +3:14
+      let mut _14: f32;                    // in scope 0 at $DIR/combine_array_len.rs:+3:11: +3:12
+      let mut _15: f32;                    // in scope 0 at $DIR/combine_array_len.rs:+3:13: +3:14
       scope 1 {
-          debug a => _2;                   // in scope 1 at $DIR/combine_array_len.rs:5:9: 5:10
-          let _6: f32;                     // in scope 1 at $DIR/combine_array_len.rs:6:9: 6:10
+          debug a => _2;                   // in scope 1 at $DIR/combine_array_len.rs:+1:9: +1:10
+          let _6: f32;                     // in scope 1 at $DIR/combine_array_len.rs:+2:9: +2:10
           scope 2 {
-              debug b => _6;               // in scope 2 at $DIR/combine_array_len.rs:6:9: 6:10
+              debug b => _6;               // in scope 2 at $DIR/combine_array_len.rs:+2:9: +2:10
           }
       }
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/combine_array_len.rs:5:9: 5:10
-          StorageLive(_3);                 // scope 0 at $DIR/combine_array_len.rs:5:15: 5:16
-          _3 = const 0_usize;              // scope 0 at $DIR/combine_array_len.rs:5:15: 5:16
--         _4 = Len(_1);                    // scope 0 at $DIR/combine_array_len.rs:5:13: 5:17
-+         _4 = const 2_usize;              // scope 0 at $DIR/combine_array_len.rs:5:13: 5:17
-          _5 = Lt(_3, _4);                 // scope 0 at $DIR/combine_array_len.rs:5:13: 5:17
-          assert(move _5, "index out of bounds: the length is {} but the index is {}", move _4, _3) -> bb1; // scope 0 at $DIR/combine_array_len.rs:5:13: 5:17
+          StorageLive(_2);                 // scope 0 at $DIR/combine_array_len.rs:+1:9: +1:10
+          StorageLive(_3);                 // scope 0 at $DIR/combine_array_len.rs:+1:15: +1:16
+          _3 = const 0_usize;              // scope 0 at $DIR/combine_array_len.rs:+1:15: +1:16
+-         _4 = Len(_1);                    // scope 0 at $DIR/combine_array_len.rs:+1:13: +1:17
++         _4 = const 2_usize;              // scope 0 at $DIR/combine_array_len.rs:+1:13: +1:17
+          _5 = Lt(_3, _4);                 // scope 0 at $DIR/combine_array_len.rs:+1:13: +1:17
+          assert(move _5, "index out of bounds: the length is {} but the index is {}", move _4, _3) -> bb1; // scope 0 at $DIR/combine_array_len.rs:+1:13: +1:17
       }
   
       bb1: {
-          _2 = _1[_3];                     // scope 0 at $DIR/combine_array_len.rs:5:13: 5:17
-          StorageDead(_3);                 // scope 0 at $DIR/combine_array_len.rs:5:17: 5:18
-          StorageLive(_6);                 // scope 1 at $DIR/combine_array_len.rs:6:9: 6:10
-          StorageLive(_7);                 // scope 1 at $DIR/combine_array_len.rs:6:15: 6:16
-          _7 = const 1_usize;              // scope 1 at $DIR/combine_array_len.rs:6:15: 6:16
--         _8 = Len(_1);                    // scope 1 at $DIR/combine_array_len.rs:6:13: 6:17
-+         _8 = const 2_usize;              // scope 1 at $DIR/combine_array_len.rs:6:13: 6:17
-          _9 = Lt(_7, _8);                 // scope 1 at $DIR/combine_array_len.rs:6:13: 6:17
-          assert(move _9, "index out of bounds: the length is {} but the index is {}", move _8, _7) -> bb2; // scope 1 at $DIR/combine_array_len.rs:6:13: 6:17
+          _2 = _1[_3];                     // scope 0 at $DIR/combine_array_len.rs:+1:13: +1:17
+          StorageDead(_3);                 // scope 0 at $DIR/combine_array_len.rs:+1:17: +1:18
+          StorageLive(_6);                 // scope 1 at $DIR/combine_array_len.rs:+2:9: +2:10
+          StorageLive(_7);                 // scope 1 at $DIR/combine_array_len.rs:+2:15: +2:16
+          _7 = const 1_usize;              // scope 1 at $DIR/combine_array_len.rs:+2:15: +2:16
+-         _8 = Len(_1);                    // scope 1 at $DIR/combine_array_len.rs:+2:13: +2:17
++         _8 = const 2_usize;              // scope 1 at $DIR/combine_array_len.rs:+2:13: +2:17
+          _9 = Lt(_7, _8);                 // scope 1 at $DIR/combine_array_len.rs:+2:13: +2:17
+          assert(move _9, "index out of bounds: the length is {} but the index is {}", move _8, _7) -> bb2; // scope 1 at $DIR/combine_array_len.rs:+2:13: +2:17
       }
   
       bb2: {
-          _6 = _1[_7];                     // scope 1 at $DIR/combine_array_len.rs:6:13: 6:17
-          StorageDead(_7);                 // scope 1 at $DIR/combine_array_len.rs:6:17: 6:18
-          StorageLive(_10);                // scope 2 at $DIR/combine_array_len.rs:7:5: 7:8
-          StorageLive(_11);                // scope 2 at $DIR/combine_array_len.rs:7:5: 7:6
-          _11 = _2;                        // scope 2 at $DIR/combine_array_len.rs:7:5: 7:6
-          StorageLive(_12);                // scope 2 at $DIR/combine_array_len.rs:7:7: 7:8
-          _12 = _2;                        // scope 2 at $DIR/combine_array_len.rs:7:7: 7:8
-          _10 = Mul(move _11, move _12);   // scope 2 at $DIR/combine_array_len.rs:7:5: 7:8
-          StorageDead(_12);                // scope 2 at $DIR/combine_array_len.rs:7:7: 7:8
-          StorageDead(_11);                // scope 2 at $DIR/combine_array_len.rs:7:7: 7:8
-          StorageLive(_13);                // scope 2 at $DIR/combine_array_len.rs:7:11: 7:14
-          StorageLive(_14);                // scope 2 at $DIR/combine_array_len.rs:7:11: 7:12
-          _14 = _6;                        // scope 2 at $DIR/combine_array_len.rs:7:11: 7:12
-          StorageLive(_15);                // scope 2 at $DIR/combine_array_len.rs:7:13: 7:14
-          _15 = _6;                        // scope 2 at $DIR/combine_array_len.rs:7:13: 7:14
-          _13 = Mul(move _14, move _15);   // scope 2 at $DIR/combine_array_len.rs:7:11: 7:14
-          StorageDead(_15);                // scope 2 at $DIR/combine_array_len.rs:7:13: 7:14
-          StorageDead(_14);                // scope 2 at $DIR/combine_array_len.rs:7:13: 7:14
-          _0 = Add(move _10, move _13);    // scope 2 at $DIR/combine_array_len.rs:7:5: 7:14
-          StorageDead(_13);                // scope 2 at $DIR/combine_array_len.rs:7:13: 7:14
-          StorageDead(_10);                // scope 2 at $DIR/combine_array_len.rs:7:13: 7:14
-          StorageDead(_6);                 // scope 1 at $DIR/combine_array_len.rs:8:1: 8:2
-          StorageDead(_2);                 // scope 0 at $DIR/combine_array_len.rs:8:1: 8:2
-          return;                          // scope 0 at $DIR/combine_array_len.rs:8:2: 8:2
+          _6 = _1[_7];                     // scope 1 at $DIR/combine_array_len.rs:+2:13: +2:17
+          StorageDead(_7);                 // scope 1 at $DIR/combine_array_len.rs:+2:17: +2:18
+          StorageLive(_10);                // scope 2 at $DIR/combine_array_len.rs:+3:5: +3:8
+          StorageLive(_11);                // scope 2 at $DIR/combine_array_len.rs:+3:5: +3:6
+          _11 = _2;                        // scope 2 at $DIR/combine_array_len.rs:+3:5: +3:6
+          StorageLive(_12);                // scope 2 at $DIR/combine_array_len.rs:+3:7: +3:8
+          _12 = _2;                        // scope 2 at $DIR/combine_array_len.rs:+3:7: +3:8
+          _10 = Mul(move _11, move _12);   // scope 2 at $DIR/combine_array_len.rs:+3:5: +3:8
+          StorageDead(_12);                // scope 2 at $DIR/combine_array_len.rs:+3:7: +3:8
+          StorageDead(_11);                // scope 2 at $DIR/combine_array_len.rs:+3:7: +3:8
+          StorageLive(_13);                // scope 2 at $DIR/combine_array_len.rs:+3:11: +3:14
+          StorageLive(_14);                // scope 2 at $DIR/combine_array_len.rs:+3:11: +3:12
+          _14 = _6;                        // scope 2 at $DIR/combine_array_len.rs:+3:11: +3:12
+          StorageLive(_15);                // scope 2 at $DIR/combine_array_len.rs:+3:13: +3:14
+          _15 = _6;                        // scope 2 at $DIR/combine_array_len.rs:+3:13: +3:14
+          _13 = Mul(move _14, move _15);   // scope 2 at $DIR/combine_array_len.rs:+3:11: +3:14
+          StorageDead(_15);                // scope 2 at $DIR/combine_array_len.rs:+3:13: +3:14
+          StorageDead(_14);                // scope 2 at $DIR/combine_array_len.rs:+3:13: +3:14
+          _0 = Add(move _10, move _13);    // scope 2 at $DIR/combine_array_len.rs:+3:5: +3:14
+          StorageDead(_13);                // scope 2 at $DIR/combine_array_len.rs:+3:13: +3:14
+          StorageDead(_10);                // scope 2 at $DIR/combine_array_len.rs:+3:13: +3:14
+          StorageDead(_6);                 // scope 1 at $DIR/combine_array_len.rs:+4:1: +4:2
+          StorageDead(_2);                 // scope 0 at $DIR/combine_array_len.rs:+4:1: +4:2
+          return;                          // scope 0 at $DIR/combine_array_len.rs:+4:2: +4:2
       }
   }
   
index 7ecd67d7c679abd26138b93e24a987f123539c26..833d620cc6c931582e38b5ad7d9f26b5deef7278 100644 (file)
@@ -2,84 +2,84 @@
 + // MIR for `<impl at $DIR/combine_clone_of_primitives.rs:6:10: 6:15>::clone` after InstCombine
   
   fn <impl at $DIR/combine_clone_of_primitives.rs:6:10: 6:15>::clone(_1: &MyThing<T>) -> MyThing<T> {
-      debug self => _1;                    // in scope 0 at $DIR/combine_clone_of_primitives.rs:6:10: 6:15
-      let mut _0: MyThing<T>;              // return place in scope 0 at $DIR/combine_clone_of_primitives.rs:6:10: 6:15
-      let mut _2: T;                       // in scope 0 at $DIR/combine_clone_of_primitives.rs:8:5: 8:9
-      let mut _3: &T;                      // in scope 0 at $DIR/combine_clone_of_primitives.rs:8:5: 8:9
-      let _4: &T;                          // in scope 0 at $DIR/combine_clone_of_primitives.rs:8:5: 8:9
-      let mut _5: u64;                     // in scope 0 at $DIR/combine_clone_of_primitives.rs:9:5: 9:11
-      let mut _6: &u64;                    // in scope 0 at $DIR/combine_clone_of_primitives.rs:9:5: 9:11
-      let _7: &u64;                        // in scope 0 at $DIR/combine_clone_of_primitives.rs:9:5: 9:11
-      let mut _8: [f32; 3];                // in scope 0 at $DIR/combine_clone_of_primitives.rs:10:5: 10:16
-      let mut _9: &[f32; 3];               // in scope 0 at $DIR/combine_clone_of_primitives.rs:10:5: 10:16
-      let _10: &[f32; 3];                  // in scope 0 at $DIR/combine_clone_of_primitives.rs:10:5: 10:16
+      debug self => _1;                    // in scope 0 at $DIR/combine_clone_of_primitives.rs:+0:10: +0:15
+      let mut _0: MyThing<T>;              // return place in scope 0 at $DIR/combine_clone_of_primitives.rs:+0:10: +0:15
+      let mut _2: T;                       // in scope 0 at $DIR/combine_clone_of_primitives.rs:+2:5: +2:9
+      let mut _3: &T;                      // in scope 0 at $DIR/combine_clone_of_primitives.rs:+2:5: +2:9
+      let _4: &T;                          // in scope 0 at $DIR/combine_clone_of_primitives.rs:+2:5: +2:9
+      let mut _5: u64;                     // in scope 0 at $DIR/combine_clone_of_primitives.rs:+3:5: +3:11
+      let mut _6: &u64;                    // in scope 0 at $DIR/combine_clone_of_primitives.rs:+3:5: +3:11
+      let _7: &u64;                        // in scope 0 at $DIR/combine_clone_of_primitives.rs:+3:5: +3:11
+      let mut _8: [f32; 3];                // in scope 0 at $DIR/combine_clone_of_primitives.rs:+4:5: +4:16
+      let mut _9: &[f32; 3];               // in scope 0 at $DIR/combine_clone_of_primitives.rs:+4:5: +4:16
+      let _10: &[f32; 3];                  // in scope 0 at $DIR/combine_clone_of_primitives.rs:+4:5: +4:16
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/combine_clone_of_primitives.rs:8:5: 8:9
-          StorageLive(_3);                 // scope 0 at $DIR/combine_clone_of_primitives.rs:8:5: 8:9
-          StorageLive(_4);                 // scope 0 at $DIR/combine_clone_of_primitives.rs:8:5: 8:9
-          _4 = &((*_1).0: T);              // scope 0 at $DIR/combine_clone_of_primitives.rs:8:5: 8:9
--         _3 = &(*_4);                     // scope 0 at $DIR/combine_clone_of_primitives.rs:8:5: 8:9
-+         _3 = _4;                         // scope 0 at $DIR/combine_clone_of_primitives.rs:8:5: 8:9
-          _2 = <T as Clone>::clone(move _3) -> bb1; // scope 0 at $DIR/combine_clone_of_primitives.rs:8:5: 8:9
+          StorageLive(_2);                 // scope 0 at $DIR/combine_clone_of_primitives.rs:+2:5: +2:9
+          StorageLive(_3);                 // scope 0 at $DIR/combine_clone_of_primitives.rs:+2:5: +2:9
+          StorageLive(_4);                 // scope 0 at $DIR/combine_clone_of_primitives.rs:+2:5: +2:9
+          _4 = &((*_1).0: T);              // scope 0 at $DIR/combine_clone_of_primitives.rs:+2:5: +2:9
+-         _3 = &(*_4);                     // scope 0 at $DIR/combine_clone_of_primitives.rs:+2:5: +2:9
++         _3 = _4;                         // scope 0 at $DIR/combine_clone_of_primitives.rs:+2:5: +2:9
+          _2 = <T as Clone>::clone(move _3) -> bb1; // scope 0 at $DIR/combine_clone_of_primitives.rs:+2:5: +2:9
                                            // mir::Constant
                                            // + span: $DIR/combine_clone_of_primitives.rs:8:5: 8:9
                                            // + literal: Const { ty: for<'r> fn(&'r T) -> T {<T as Clone>::clone}, val: Value(<ZST>) }
       }
   
       bb1: {
-          StorageDead(_3);                 // scope 0 at $DIR/combine_clone_of_primitives.rs:8:8: 8:9
-          StorageLive(_5);                 // scope 0 at $DIR/combine_clone_of_primitives.rs:9:5: 9:11
-          StorageLive(_6);                 // scope 0 at $DIR/combine_clone_of_primitives.rs:9:5: 9:11
-          StorageLive(_7);                 // scope 0 at $DIR/combine_clone_of_primitives.rs:9:5: 9:11
-          _7 = &((*_1).1: u64);            // scope 0 at $DIR/combine_clone_of_primitives.rs:9:5: 9:11
--         _6 = &(*_7);                     // scope 0 at $DIR/combine_clone_of_primitives.rs:9:5: 9:11
--         _5 = <u64 as Clone>::clone(move _6) -> [return: bb2, unwind: bb4]; // scope 0 at $DIR/combine_clone_of_primitives.rs:9:5: 9:11
+          StorageDead(_3);                 // scope 0 at $DIR/combine_clone_of_primitives.rs:+2:8: +2:9
+          StorageLive(_5);                 // scope 0 at $DIR/combine_clone_of_primitives.rs:+3:5: +3:11
+          StorageLive(_6);                 // scope 0 at $DIR/combine_clone_of_primitives.rs:+3:5: +3:11
+          StorageLive(_7);                 // scope 0 at $DIR/combine_clone_of_primitives.rs:+3:5: +3:11
+          _7 = &((*_1).1: u64);            // scope 0 at $DIR/combine_clone_of_primitives.rs:+3:5: +3:11
+-         _6 = &(*_7);                     // scope 0 at $DIR/combine_clone_of_primitives.rs:+3:5: +3:11
+-         _5 = <u64 as Clone>::clone(move _6) -> [return: bb2, unwind: bb4]; // scope 0 at $DIR/combine_clone_of_primitives.rs:+3:5: +3:11
 -                                          // mir::Constant
 -                                          // + span: $DIR/combine_clone_of_primitives.rs:9:5: 9:11
 -                                          // + literal: Const { ty: for<'r> fn(&'r u64) -> u64 {<u64 as Clone>::clone}, val: Value(<ZST>) }
-+         _6 = _7;                         // scope 0 at $DIR/combine_clone_of_primitives.rs:9:5: 9:11
-+         _5 = (*_6);                      // scope 0 at $DIR/combine_clone_of_primitives.rs:9:5: 9:11
-+         goto -> bb2;                     // scope 0 at $DIR/combine_clone_of_primitives.rs:9:5: 9:11
++         _6 = _7;                         // scope 0 at $DIR/combine_clone_of_primitives.rs:+3:5: +3:11
++         _5 = (*_6);                      // scope 0 at $DIR/combine_clone_of_primitives.rs:+3:5: +3:11
++         goto -> bb2;                     // scope 0 at $DIR/combine_clone_of_primitives.rs:+3:5: +3:11
       }
   
       bb2: {
-          StorageDead(_6);                 // scope 0 at $DIR/combine_clone_of_primitives.rs:9:10: 9:11
-          StorageLive(_8);                 // scope 0 at $DIR/combine_clone_of_primitives.rs:10:5: 10:16
-          StorageLive(_9);                 // scope 0 at $DIR/combine_clone_of_primitives.rs:10:5: 10:16
-          StorageLive(_10);                // scope 0 at $DIR/combine_clone_of_primitives.rs:10:5: 10:16
-          _10 = &((*_1).2: [f32; 3]);      // scope 0 at $DIR/combine_clone_of_primitives.rs:10:5: 10:16
--         _9 = &(*_10);                    // scope 0 at $DIR/combine_clone_of_primitives.rs:10:5: 10:16
--         _8 = <[f32; 3] as Clone>::clone(move _9) -> [return: bb3, unwind: bb4]; // scope 0 at $DIR/combine_clone_of_primitives.rs:10:5: 10:16
+          StorageDead(_6);                 // scope 0 at $DIR/combine_clone_of_primitives.rs:+3:10: +3:11
+          StorageLive(_8);                 // scope 0 at $DIR/combine_clone_of_primitives.rs:+4:5: +4:16
+          StorageLive(_9);                 // scope 0 at $DIR/combine_clone_of_primitives.rs:+4:5: +4:16
+          StorageLive(_10);                // scope 0 at $DIR/combine_clone_of_primitives.rs:+4:5: +4:16
+          _10 = &((*_1).2: [f32; 3]);      // scope 0 at $DIR/combine_clone_of_primitives.rs:+4:5: +4:16
+-         _9 = &(*_10);                    // scope 0 at $DIR/combine_clone_of_primitives.rs:+4:5: +4:16
+-         _8 = <[f32; 3] as Clone>::clone(move _9) -> [return: bb3, unwind: bb4]; // scope 0 at $DIR/combine_clone_of_primitives.rs:+4:5: +4:16
 -                                          // mir::Constant
 -                                          // + span: $DIR/combine_clone_of_primitives.rs:10:5: 10:16
 -                                          // + literal: Const { ty: for<'r> fn(&'r [f32; 3]) -> [f32; 3] {<[f32; 3] as Clone>::clone}, val: Value(<ZST>) }
-+         _9 = _10;                        // scope 0 at $DIR/combine_clone_of_primitives.rs:10:5: 10:16
-+         _8 = (*_9);                      // scope 0 at $DIR/combine_clone_of_primitives.rs:10:5: 10:16
-+         goto -> bb3;                     // scope 0 at $DIR/combine_clone_of_primitives.rs:10:5: 10:16
++         _9 = _10;                        // scope 0 at $DIR/combine_clone_of_primitives.rs:+4:5: +4:16
++         _8 = (*_9);                      // scope 0 at $DIR/combine_clone_of_primitives.rs:+4:5: +4:16
++         goto -> bb3;                     // scope 0 at $DIR/combine_clone_of_primitives.rs:+4:5: +4:16
       }
   
       bb3: {
-          StorageDead(_9);                 // scope 0 at $DIR/combine_clone_of_primitives.rs:10:15: 10:16
-          Deinit(_0);                      // scope 0 at $DIR/combine_clone_of_primitives.rs:6:10: 6:15
-          (_0.0: T) = move _2;             // scope 0 at $DIR/combine_clone_of_primitives.rs:6:10: 6:15
-          (_0.1: u64) = move _5;           // scope 0 at $DIR/combine_clone_of_primitives.rs:6:10: 6:15
-          (_0.2: [f32; 3]) = move _8;      // scope 0 at $DIR/combine_clone_of_primitives.rs:6:10: 6:15
-          StorageDead(_8);                 // scope 0 at $DIR/combine_clone_of_primitives.rs:6:14: 6:15
-          StorageDead(_5);                 // scope 0 at $DIR/combine_clone_of_primitives.rs:6:14: 6:15
-          StorageDead(_2);                 // scope 0 at $DIR/combine_clone_of_primitives.rs:6:14: 6:15
-          StorageDead(_10);                // scope 0 at $DIR/combine_clone_of_primitives.rs:6:14: 6:15
-          StorageDead(_7);                 // scope 0 at $DIR/combine_clone_of_primitives.rs:6:14: 6:15
-          StorageDead(_4);                 // scope 0 at $DIR/combine_clone_of_primitives.rs:6:14: 6:15
-          return;                          // scope 0 at $DIR/combine_clone_of_primitives.rs:6:15: 6:15
+          StorageDead(_9);                 // scope 0 at $DIR/combine_clone_of_primitives.rs:+4:15: +4:16
+          Deinit(_0);                      // scope 0 at $DIR/combine_clone_of_primitives.rs:+0:10: +0:15
+          (_0.0: T) = move _2;             // scope 0 at $DIR/combine_clone_of_primitives.rs:+0:10: +0:15
+          (_0.1: u64) = move _5;           // scope 0 at $DIR/combine_clone_of_primitives.rs:+0:10: +0:15
+          (_0.2: [f32; 3]) = move _8;      // scope 0 at $DIR/combine_clone_of_primitives.rs:+0:10: +0:15
+          StorageDead(_8);                 // scope 0 at $DIR/combine_clone_of_primitives.rs:+0:14: +0:15
+          StorageDead(_5);                 // scope 0 at $DIR/combine_clone_of_primitives.rs:+0:14: +0:15
+          StorageDead(_2);                 // scope 0 at $DIR/combine_clone_of_primitives.rs:+0:14: +0:15
+          StorageDead(_10);                // scope 0 at $DIR/combine_clone_of_primitives.rs:+0:14: +0:15
+          StorageDead(_7);                 // scope 0 at $DIR/combine_clone_of_primitives.rs:+0:14: +0:15
+          StorageDead(_4);                 // scope 0 at $DIR/combine_clone_of_primitives.rs:+0:14: +0:15
+          return;                          // scope 0 at $DIR/combine_clone_of_primitives.rs:+0:15: +0:15
       }
   
       bb4 (cleanup): {
-          drop(_2) -> bb5;                 // scope 0 at $DIR/combine_clone_of_primitives.rs:6:14: 6:15
+          drop(_2) -> bb5;                 // scope 0 at $DIR/combine_clone_of_primitives.rs:+0:14: +0:15
       }
   
       bb5 (cleanup): {
-          resume;                          // scope 0 at $DIR/combine_clone_of_primitives.rs:6:10: 6:15
+          resume;                          // scope 0 at $DIR/combine_clone_of_primitives.rs:+0:10: +0:15
       }
   }
   
index f8a8afa92e0e65f3a3e33b2f02e408d5a2a163d6..da5a64cac651315e589ae6f541b0c829975dc532 100644 (file)
@@ -1,22 +1,22 @@
 // MIR for `main` after ConstProp
 
 fn main() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/const_allocation.rs:7:11: 7:11
-    let _1: &[(std::option::Option<i32>, &[&str])]; // in scope 0 at $DIR/const_allocation.rs:8:5: 8:8
-    let mut _2: &&[(std::option::Option<i32>, &[&str])]; // in scope 0 at $DIR/const_allocation.rs:8:5: 8:8
+    let mut _0: ();                      // return place in scope 0 at $DIR/const_allocation.rs:+0:11: +0:11
+    let _1: &[(std::option::Option<i32>, &[&str])]; // in scope 0 at $DIR/const_allocation.rs:+1:5: +1:8
+    let mut _2: &&[(std::option::Option<i32>, &[&str])]; // in scope 0 at $DIR/const_allocation.rs:+1:5: +1:8
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/const_allocation.rs:8:5: 8:8
-        StorageLive(_2);                 // scope 0 at $DIR/const_allocation.rs:8:5: 8:8
-        _2 = const {alloc1: &&[(Option<i32>, &[&str])]}; // scope 0 at $DIR/const_allocation.rs:8:5: 8:8
+        StorageLive(_1);                 // scope 0 at $DIR/const_allocation.rs:+1:5: +1:8
+        StorageLive(_2);                 // scope 0 at $DIR/const_allocation.rs:+1:5: +1:8
+        _2 = const {alloc1: &&[(Option<i32>, &[&str])]}; // scope 0 at $DIR/const_allocation.rs:+1:5: +1:8
                                          // mir::Constant
                                          // + span: $DIR/const_allocation.rs:8:5: 8:8
                                          // + literal: Const { ty: &&[(Option<i32>, &[&str])], val: Value(Scalar(alloc1)) }
-        _1 = (*_2);                      // scope 0 at $DIR/const_allocation.rs:8:5: 8:8
-        StorageDead(_2);                 // scope 0 at $DIR/const_allocation.rs:8:8: 8:9
-        StorageDead(_1);                 // scope 0 at $DIR/const_allocation.rs:8:8: 8:9
-        nop;                             // scope 0 at $DIR/const_allocation.rs:7:11: 9:2
-        return;                          // scope 0 at $DIR/const_allocation.rs:9:2: 9:2
+        _1 = (*_2);                      // scope 0 at $DIR/const_allocation.rs:+1:5: +1:8
+        StorageDead(_2);                 // scope 0 at $DIR/const_allocation.rs:+1:8: +1:9
+        StorageDead(_1);                 // scope 0 at $DIR/const_allocation.rs:+1:8: +1:9
+        nop;                             // scope 0 at $DIR/const_allocation.rs:+0:11: +2:2
+        return;                          // scope 0 at $DIR/const_allocation.rs:+2:2: +2:2
     }
 }
 
index 1f1d857425e5b3b5c7812f75ef556a4a51a13834..febd990681e5679ce4247c55c4c87f2acbfbf184 100644 (file)
@@ -1,22 +1,22 @@
 // MIR for `main` after ConstProp
 
 fn main() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/const_allocation.rs:7:11: 7:11
-    let _1: &[(std::option::Option<i32>, &[&str])]; // in scope 0 at $DIR/const_allocation.rs:8:5: 8:8
-    let mut _2: &&[(std::option::Option<i32>, &[&str])]; // in scope 0 at $DIR/const_allocation.rs:8:5: 8:8
+    let mut _0: ();                      // return place in scope 0 at $DIR/const_allocation.rs:+0:11: +0:11
+    let _1: &[(std::option::Option<i32>, &[&str])]; // in scope 0 at $DIR/const_allocation.rs:+1:5: +1:8
+    let mut _2: &&[(std::option::Option<i32>, &[&str])]; // in scope 0 at $DIR/const_allocation.rs:+1:5: +1:8
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/const_allocation.rs:8:5: 8:8
-        StorageLive(_2);                 // scope 0 at $DIR/const_allocation.rs:8:5: 8:8
-        _2 = const {alloc1: &&[(Option<i32>, &[&str])]}; // scope 0 at $DIR/const_allocation.rs:8:5: 8:8
+        StorageLive(_1);                 // scope 0 at $DIR/const_allocation.rs:+1:5: +1:8
+        StorageLive(_2);                 // scope 0 at $DIR/const_allocation.rs:+1:5: +1:8
+        _2 = const {alloc1: &&[(Option<i32>, &[&str])]}; // scope 0 at $DIR/const_allocation.rs:+1:5: +1:8
                                          // mir::Constant
                                          // + span: $DIR/const_allocation.rs:8:5: 8:8
                                          // + literal: Const { ty: &&[(Option<i32>, &[&str])], val: Value(Scalar(alloc1)) }
-        _1 = (*_2);                      // scope 0 at $DIR/const_allocation.rs:8:5: 8:8
-        StorageDead(_2);                 // scope 0 at $DIR/const_allocation.rs:8:8: 8:9
-        StorageDead(_1);                 // scope 0 at $DIR/const_allocation.rs:8:8: 8:9
-        nop;                             // scope 0 at $DIR/const_allocation.rs:7:11: 9:2
-        return;                          // scope 0 at $DIR/const_allocation.rs:9:2: 9:2
+        _1 = (*_2);                      // scope 0 at $DIR/const_allocation.rs:+1:5: +1:8
+        StorageDead(_2);                 // scope 0 at $DIR/const_allocation.rs:+1:8: +1:9
+        StorageDead(_1);                 // scope 0 at $DIR/const_allocation.rs:+1:8: +1:9
+        nop;                             // scope 0 at $DIR/const_allocation.rs:+0:11: +2:2
+        return;                          // scope 0 at $DIR/const_allocation.rs:+2:2: +2:2
     }
 }
 
index 432aac9ccdfbb5f692e8aaec5b670055afe71dc3..389641f20f422f90abcc128d7963514fb16858a4 100644 (file)
@@ -1,22 +1,22 @@
 // MIR for `main` after ConstProp
 
 fn main() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/const_allocation2.rs:4:11: 4:11
-    let _1: &[(std::option::Option<i32>, &[&u8])]; // in scope 0 at $DIR/const_allocation2.rs:5:5: 5:8
-    let mut _2: &&[(std::option::Option<i32>, &[&u8])]; // in scope 0 at $DIR/const_allocation2.rs:5:5: 5:8
+    let mut _0: ();                      // return place in scope 0 at $DIR/const_allocation2.rs:+0:11: +0:11
+    let _1: &[(std::option::Option<i32>, &[&u8])]; // in scope 0 at $DIR/const_allocation2.rs:+1:5: +1:8
+    let mut _2: &&[(std::option::Option<i32>, &[&u8])]; // in scope 0 at $DIR/const_allocation2.rs:+1:5: +1:8
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/const_allocation2.rs:5:5: 5:8
-        StorageLive(_2);                 // scope 0 at $DIR/const_allocation2.rs:5:5: 5:8
-        _2 = const {alloc1: &&[(Option<i32>, &[&u8])]}; // scope 0 at $DIR/const_allocation2.rs:5:5: 5:8
+        StorageLive(_1);                 // scope 0 at $DIR/const_allocation2.rs:+1:5: +1:8
+        StorageLive(_2);                 // scope 0 at $DIR/const_allocation2.rs:+1:5: +1:8
+        _2 = const {alloc1: &&[(Option<i32>, &[&u8])]}; // scope 0 at $DIR/const_allocation2.rs:+1:5: +1:8
                                          // mir::Constant
                                          // + span: $DIR/const_allocation2.rs:5:5: 5:8
                                          // + literal: Const { ty: &&[(Option<i32>, &[&u8])], val: Value(Scalar(alloc1)) }
-        _1 = (*_2);                      // scope 0 at $DIR/const_allocation2.rs:5:5: 5:8
-        StorageDead(_2);                 // scope 0 at $DIR/const_allocation2.rs:5:8: 5:9
-        StorageDead(_1);                 // scope 0 at $DIR/const_allocation2.rs:5:8: 5:9
-        nop;                             // scope 0 at $DIR/const_allocation2.rs:4:11: 6:2
-        return;                          // scope 0 at $DIR/const_allocation2.rs:6:2: 6:2
+        _1 = (*_2);                      // scope 0 at $DIR/const_allocation2.rs:+1:5: +1:8
+        StorageDead(_2);                 // scope 0 at $DIR/const_allocation2.rs:+1:8: +1:9
+        StorageDead(_1);                 // scope 0 at $DIR/const_allocation2.rs:+1:8: +1:9
+        nop;                             // scope 0 at $DIR/const_allocation2.rs:+0:11: +2:2
+        return;                          // scope 0 at $DIR/const_allocation2.rs:+2:2: +2:2
     }
 }
 
index e2acd610b80530cf6c0e4909d089c7cd33455a19..ce3848e9216c7d67691bef78bd9885acd0b82961 100644 (file)
@@ -1,22 +1,22 @@
 // MIR for `main` after ConstProp
 
 fn main() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/const_allocation2.rs:4:11: 4:11
-    let _1: &[(std::option::Option<i32>, &[&u8])]; // in scope 0 at $DIR/const_allocation2.rs:5:5: 5:8
-    let mut _2: &&[(std::option::Option<i32>, &[&u8])]; // in scope 0 at $DIR/const_allocation2.rs:5:5: 5:8
+    let mut _0: ();                      // return place in scope 0 at $DIR/const_allocation2.rs:+0:11: +0:11
+    let _1: &[(std::option::Option<i32>, &[&u8])]; // in scope 0 at $DIR/const_allocation2.rs:+1:5: +1:8
+    let mut _2: &&[(std::option::Option<i32>, &[&u8])]; // in scope 0 at $DIR/const_allocation2.rs:+1:5: +1:8
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/const_allocation2.rs:5:5: 5:8
-        StorageLive(_2);                 // scope 0 at $DIR/const_allocation2.rs:5:5: 5:8
-        _2 = const {alloc1: &&[(Option<i32>, &[&u8])]}; // scope 0 at $DIR/const_allocation2.rs:5:5: 5:8
+        StorageLive(_1);                 // scope 0 at $DIR/const_allocation2.rs:+1:5: +1:8
+        StorageLive(_2);                 // scope 0 at $DIR/const_allocation2.rs:+1:5: +1:8
+        _2 = const {alloc1: &&[(Option<i32>, &[&u8])]}; // scope 0 at $DIR/const_allocation2.rs:+1:5: +1:8
                                          // mir::Constant
                                          // + span: $DIR/const_allocation2.rs:5:5: 5:8
                                          // + literal: Const { ty: &&[(Option<i32>, &[&u8])], val: Value(Scalar(alloc1)) }
-        _1 = (*_2);                      // scope 0 at $DIR/const_allocation2.rs:5:5: 5:8
-        StorageDead(_2);                 // scope 0 at $DIR/const_allocation2.rs:5:8: 5:9
-        StorageDead(_1);                 // scope 0 at $DIR/const_allocation2.rs:5:8: 5:9
-        nop;                             // scope 0 at $DIR/const_allocation2.rs:4:11: 6:2
-        return;                          // scope 0 at $DIR/const_allocation2.rs:6:2: 6:2
+        _1 = (*_2);                      // scope 0 at $DIR/const_allocation2.rs:+1:5: +1:8
+        StorageDead(_2);                 // scope 0 at $DIR/const_allocation2.rs:+1:8: +1:9
+        StorageDead(_1);                 // scope 0 at $DIR/const_allocation2.rs:+1:8: +1:9
+        nop;                             // scope 0 at $DIR/const_allocation2.rs:+0:11: +2:2
+        return;                          // scope 0 at $DIR/const_allocation2.rs:+2:2: +2:2
     }
 }
 
index 991cf40d1b7ce6884a02dce09cb8ca16c7640a6c..b72519159d758bb37bb4417a9df25a2b65227305 100644 (file)
@@ -1,22 +1,22 @@
 // MIR for `main` after ConstProp
 
 fn main() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/const_allocation3.rs:4:11: 4:11
-    let _1: &Packed;                     // in scope 0 at $DIR/const_allocation3.rs:5:5: 5:8
-    let mut _2: &&Packed;                // in scope 0 at $DIR/const_allocation3.rs:5:5: 5:8
+    let mut _0: ();                      // return place in scope 0 at $DIR/const_allocation3.rs:+0:11: +0:11
+    let _1: &Packed;                     // in scope 0 at $DIR/const_allocation3.rs:+1:5: +1:8
+    let mut _2: &&Packed;                // in scope 0 at $DIR/const_allocation3.rs:+1:5: +1:8
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/const_allocation3.rs:5:5: 5:8
-        StorageLive(_2);                 // scope 0 at $DIR/const_allocation3.rs:5:5: 5:8
-        _2 = const {alloc1: &&Packed};   // scope 0 at $DIR/const_allocation3.rs:5:5: 5:8
+        StorageLive(_1);                 // scope 0 at $DIR/const_allocation3.rs:+1:5: +1:8
+        StorageLive(_2);                 // scope 0 at $DIR/const_allocation3.rs:+1:5: +1:8
+        _2 = const {alloc1: &&Packed};   // scope 0 at $DIR/const_allocation3.rs:+1:5: +1:8
                                          // mir::Constant
                                          // + span: $DIR/const_allocation3.rs:5:5: 5:8
                                          // + literal: Const { ty: &&Packed, val: Value(Scalar(alloc1)) }
-        _1 = (*_2);                      // scope 0 at $DIR/const_allocation3.rs:5:5: 5:8
-        StorageDead(_2);                 // scope 0 at $DIR/const_allocation3.rs:5:8: 5:9
-        StorageDead(_1);                 // scope 0 at $DIR/const_allocation3.rs:5:8: 5:9
-        nop;                             // scope 0 at $DIR/const_allocation3.rs:4:11: 6:2
-        return;                          // scope 0 at $DIR/const_allocation3.rs:6:2: 6:2
+        _1 = (*_2);                      // scope 0 at $DIR/const_allocation3.rs:+1:5: +1:8
+        StorageDead(_2);                 // scope 0 at $DIR/const_allocation3.rs:+1:8: +1:9
+        StorageDead(_1);                 // scope 0 at $DIR/const_allocation3.rs:+1:8: +1:9
+        nop;                             // scope 0 at $DIR/const_allocation3.rs:+0:11: +2:2
+        return;                          // scope 0 at $DIR/const_allocation3.rs:+2:2: +2:2
     }
 }
 
index fb481697aa8111f414a49a5f99c598bd42d5a9d9..6bd047c7d9fb27803cf2333d352aa7377276aae3 100644 (file)
@@ -1,22 +1,22 @@
 // MIR for `main` after ConstProp
 
 fn main() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/const_allocation3.rs:4:11: 4:11
-    let _1: &Packed;                     // in scope 0 at $DIR/const_allocation3.rs:5:5: 5:8
-    let mut _2: &&Packed;                // in scope 0 at $DIR/const_allocation3.rs:5:5: 5:8
+    let mut _0: ();                      // return place in scope 0 at $DIR/const_allocation3.rs:+0:11: +0:11
+    let _1: &Packed;                     // in scope 0 at $DIR/const_allocation3.rs:+1:5: +1:8
+    let mut _2: &&Packed;                // in scope 0 at $DIR/const_allocation3.rs:+1:5: +1:8
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/const_allocation3.rs:5:5: 5:8
-        StorageLive(_2);                 // scope 0 at $DIR/const_allocation3.rs:5:5: 5:8
-        _2 = const {alloc1: &&Packed};   // scope 0 at $DIR/const_allocation3.rs:5:5: 5:8
+        StorageLive(_1);                 // scope 0 at $DIR/const_allocation3.rs:+1:5: +1:8
+        StorageLive(_2);                 // scope 0 at $DIR/const_allocation3.rs:+1:5: +1:8
+        _2 = const {alloc1: &&Packed};   // scope 0 at $DIR/const_allocation3.rs:+1:5: +1:8
                                          // mir::Constant
                                          // + span: $DIR/const_allocation3.rs:5:5: 5:8
                                          // + literal: Const { ty: &&Packed, val: Value(Scalar(alloc1)) }
-        _1 = (*_2);                      // scope 0 at $DIR/const_allocation3.rs:5:5: 5:8
-        StorageDead(_2);                 // scope 0 at $DIR/const_allocation3.rs:5:8: 5:9
-        StorageDead(_1);                 // scope 0 at $DIR/const_allocation3.rs:5:8: 5:9
-        nop;                             // scope 0 at $DIR/const_allocation3.rs:4:11: 6:2
-        return;                          // scope 0 at $DIR/const_allocation3.rs:6:2: 6:2
+        _1 = (*_2);                      // scope 0 at $DIR/const_allocation3.rs:+1:5: +1:8
+        StorageDead(_2);                 // scope 0 at $DIR/const_allocation3.rs:+1:8: +1:9
+        StorageDead(_1);                 // scope 0 at $DIR/const_allocation3.rs:+1:8: +1:9
+        nop;                             // scope 0 at $DIR/const_allocation3.rs:+0:11: +2:2
+        return;                          // scope 0 at $DIR/const_allocation3.rs:+2:2: +2:2
     }
 }
 
index cd4b471b28cc18cfc017b758315134d2ef7bbcec..a092f375291549986bf753bc4bd7860c082b28f6 100644 (file)
@@ -2,46 +2,46 @@
 + // MIR for `main` after ConstDebugInfo
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/const_debuginfo.rs:8:11: 8:11
-      let _1: u8;                          // in scope 0 at $DIR/const_debuginfo.rs:9:9: 9:10
-      let mut _5: u8;                      // in scope 0 at $DIR/const_debuginfo.rs:12:15: 12:20
-      let mut _6: u8;                      // in scope 0 at $DIR/const_debuginfo.rs:12:15: 12:16
-      let mut _7: u8;                      // in scope 0 at $DIR/const_debuginfo.rs:12:19: 12:20
-      let mut _8: u8;                      // in scope 0 at $DIR/const_debuginfo.rs:12:23: 12:24
-      let mut _14: u32;                    // in scope 0 at $DIR/const_debuginfo.rs:21:13: 21:16
-      let mut _15: u32;                    // in scope 0 at $DIR/const_debuginfo.rs:21:19: 21:22
+      let mut _0: ();                      // return place in scope 0 at $DIR/const_debuginfo.rs:+0:11: +0:11
+      let _1: u8;                          // in scope 0 at $DIR/const_debuginfo.rs:+1:9: +1:10
+      let mut _5: u8;                      // in scope 0 at $DIR/const_debuginfo.rs:+4:15: +4:20
+      let mut _6: u8;                      // in scope 0 at $DIR/const_debuginfo.rs:+4:15: +4:16
+      let mut _7: u8;                      // in scope 0 at $DIR/const_debuginfo.rs:+4:19: +4:20
+      let mut _8: u8;                      // in scope 0 at $DIR/const_debuginfo.rs:+4:23: +4:24
+      let mut _14: u32;                    // in scope 0 at $DIR/const_debuginfo.rs:+13:13: +13:16
+      let mut _15: u32;                    // in scope 0 at $DIR/const_debuginfo.rs:+13:19: +13:22
       scope 1 {
--         debug x => _1;                   // in scope 1 at $DIR/const_debuginfo.rs:9:9: 9:10
-+         debug x => const 1_u8;           // in scope 1 at $DIR/const_debuginfo.rs:9:9: 9:10
-          let _2: u8;                      // in scope 1 at $DIR/const_debuginfo.rs:10:9: 10:10
+-         debug x => _1;                   // in scope 1 at $DIR/const_debuginfo.rs:+1:9: +1:10
++         debug x => const 1_u8;           // in scope 1 at $DIR/const_debuginfo.rs:+1:9: +1:10
+          let _2: u8;                      // in scope 1 at $DIR/const_debuginfo.rs:+2:9: +2:10
           scope 2 {
--             debug y => _2;               // in scope 2 at $DIR/const_debuginfo.rs:10:9: 10:10
-+             debug y => const 2_u8;       // in scope 2 at $DIR/const_debuginfo.rs:10:9: 10:10
-              let _3: u8;                  // in scope 2 at $DIR/const_debuginfo.rs:11:9: 11:10
+-             debug y => _2;               // in scope 2 at $DIR/const_debuginfo.rs:+2:9: +2:10
++             debug y => const 2_u8;       // in scope 2 at $DIR/const_debuginfo.rs:+2:9: +2:10
+              let _3: u8;                  // in scope 2 at $DIR/const_debuginfo.rs:+3:9: +3:10
               scope 3 {
--                 debug z => _3;           // in scope 3 at $DIR/const_debuginfo.rs:11:9: 11:10
-+                 debug z => const 3_u8;   // in scope 3 at $DIR/const_debuginfo.rs:11:9: 11:10
-                  let _4: u8;              // in scope 3 at $DIR/const_debuginfo.rs:12:9: 12:12
+-                 debug z => _3;           // in scope 3 at $DIR/const_debuginfo.rs:+3:9: +3:10
++                 debug z => const 3_u8;   // in scope 3 at $DIR/const_debuginfo.rs:+3:9: +3:10
+                  let _4: u8;              // in scope 3 at $DIR/const_debuginfo.rs:+4:9: +4:12
                   scope 4 {
--                     debug sum => _4;     // in scope 4 at $DIR/const_debuginfo.rs:12:9: 12:12
-+                     debug sum => const 6_u8; // in scope 4 at $DIR/const_debuginfo.rs:12:9: 12:12
-                      let _9: &str;        // in scope 4 at $DIR/const_debuginfo.rs:14:9: 14:10
+-                     debug sum => _4;     // in scope 4 at $DIR/const_debuginfo.rs:+4:9: +4:12
++                     debug sum => const 6_u8; // in scope 4 at $DIR/const_debuginfo.rs:+4:9: +4:12
+                      let _9: &str;        // in scope 4 at $DIR/const_debuginfo.rs:+6:9: +6:10
                       scope 5 {
--                         debug s => _9;   // in scope 5 at $DIR/const_debuginfo.rs:14:9: 14:10
-+                         debug s => const "hello, world!"; // in scope 5 at $DIR/const_debuginfo.rs:14:9: 14:10
-                          let _10: (bool, bool, u32); // in scope 5 at $DIR/const_debuginfo.rs:16:9: 16:10
+-                         debug s => _9;   // in scope 5 at $DIR/const_debuginfo.rs:+6:9: +6:10
++                         debug s => const "hello, world!"; // in scope 5 at $DIR/const_debuginfo.rs:+6:9: +6:10
+                          let _10: (bool, bool, u32); // in scope 5 at $DIR/const_debuginfo.rs:+8:9: +8:10
                           scope 6 {
-                              debug f => _10; // in scope 6 at $DIR/const_debuginfo.rs:16:9: 16:10
-                              let _11: std::option::Option<u16>; // in scope 6 at $DIR/const_debuginfo.rs:18:9: 18:10
+                              debug f => _10; // in scope 6 at $DIR/const_debuginfo.rs:+8:9: +8:10
+                              let _11: std::option::Option<u16>; // in scope 6 at $DIR/const_debuginfo.rs:+10:9: +10:10
                               scope 7 {
-                                  debug o => _11; // in scope 7 at $DIR/const_debuginfo.rs:18:9: 18:10
-                                  let _12: Point; // in scope 7 at $DIR/const_debuginfo.rs:20:9: 20:10
+                                  debug o => _11; // in scope 7 at $DIR/const_debuginfo.rs:+10:9: +10:10
+                                  let _12: Point; // in scope 7 at $DIR/const_debuginfo.rs:+12:9: +12:10
                                   scope 8 {
-                                      debug p => _12; // in scope 8 at $DIR/const_debuginfo.rs:20:9: 20:10
-                                      let _13: u32; // in scope 8 at $DIR/const_debuginfo.rs:21:9: 21:10
+                                      debug p => _12; // in scope 8 at $DIR/const_debuginfo.rs:+12:9: +12:10
+                                      let _13: u32; // in scope 8 at $DIR/const_debuginfo.rs:+13:9: +13:10
                                       scope 9 {
--                                         debug a => _13; // in scope 9 at $DIR/const_debuginfo.rs:21:9: 21:10
-+                                         debug a => const 64_u32; // in scope 9 at $DIR/const_debuginfo.rs:21:9: 21:10
+-                                         debug a => _13; // in scope 9 at $DIR/const_debuginfo.rs:+13:9: +13:10
++                                         debug a => const 64_u32; // in scope 9 at $DIR/const_debuginfo.rs:+13:9: +13:10
                                       }
                                   }
                               }
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/const_debuginfo.rs:9:9: 9:10
-          _1 = const 1_u8;                 // scope 0 at $DIR/const_debuginfo.rs:9:13: 9:16
-          StorageLive(_2);                 // scope 1 at $DIR/const_debuginfo.rs:10:9: 10:10
-          _2 = const 2_u8;                 // scope 1 at $DIR/const_debuginfo.rs:10:13: 10:16
-          StorageLive(_3);                 // scope 2 at $DIR/const_debuginfo.rs:11:9: 11:10
-          _3 = const 3_u8;                 // scope 2 at $DIR/const_debuginfo.rs:11:13: 11:16
-          StorageLive(_4);                 // scope 3 at $DIR/const_debuginfo.rs:12:9: 12:12
-          StorageLive(_5);                 // scope 3 at $DIR/const_debuginfo.rs:12:15: 12:20
-          StorageLive(_6);                 // scope 3 at $DIR/const_debuginfo.rs:12:15: 12:16
-          _6 = const 1_u8;                 // scope 3 at $DIR/const_debuginfo.rs:12:15: 12:16
-          StorageLive(_7);                 // scope 3 at $DIR/const_debuginfo.rs:12:19: 12:20
-          _7 = const 2_u8;                 // scope 3 at $DIR/const_debuginfo.rs:12:19: 12:20
-          _5 = const 3_u8;                 // scope 3 at $DIR/const_debuginfo.rs:12:15: 12:20
-          StorageDead(_7);                 // scope 3 at $DIR/const_debuginfo.rs:12:19: 12:20
-          StorageDead(_6);                 // scope 3 at $DIR/const_debuginfo.rs:12:19: 12:20
-          StorageLive(_8);                 // scope 3 at $DIR/const_debuginfo.rs:12:23: 12:24
-          _8 = const 3_u8;                 // scope 3 at $DIR/const_debuginfo.rs:12:23: 12:24
-          _4 = const 6_u8;                 // scope 3 at $DIR/const_debuginfo.rs:12:15: 12:24
-          StorageDead(_8);                 // scope 3 at $DIR/const_debuginfo.rs:12:23: 12:24
-          StorageDead(_5);                 // scope 3 at $DIR/const_debuginfo.rs:12:23: 12:24
-          StorageLive(_9);                 // scope 4 at $DIR/const_debuginfo.rs:14:9: 14:10
-          _9 = const "hello, world!";      // scope 4 at $DIR/const_debuginfo.rs:14:13: 14:28
+          StorageLive(_1);                 // scope 0 at $DIR/const_debuginfo.rs:+1:9: +1:10
+          _1 = const 1_u8;                 // scope 0 at $DIR/const_debuginfo.rs:+1:13: +1:16
+          StorageLive(_2);                 // scope 1 at $DIR/const_debuginfo.rs:+2:9: +2:10
+          _2 = const 2_u8;                 // scope 1 at $DIR/const_debuginfo.rs:+2:13: +2:16
+          StorageLive(_3);                 // scope 2 at $DIR/const_debuginfo.rs:+3:9: +3:10
+          _3 = const 3_u8;                 // scope 2 at $DIR/const_debuginfo.rs:+3:13: +3:16
+          StorageLive(_4);                 // scope 3 at $DIR/const_debuginfo.rs:+4:9: +4:12
+          StorageLive(_5);                 // scope 3 at $DIR/const_debuginfo.rs:+4:15: +4:20
+          StorageLive(_6);                 // scope 3 at $DIR/const_debuginfo.rs:+4:15: +4:16
+          _6 = const 1_u8;                 // scope 3 at $DIR/const_debuginfo.rs:+4:15: +4:16
+          StorageLive(_7);                 // scope 3 at $DIR/const_debuginfo.rs:+4:19: +4:20
+          _7 = const 2_u8;                 // scope 3 at $DIR/const_debuginfo.rs:+4:19: +4:20
+          _5 = const 3_u8;                 // scope 3 at $DIR/const_debuginfo.rs:+4:15: +4:20
+          StorageDead(_7);                 // scope 3 at $DIR/const_debuginfo.rs:+4:19: +4:20
+          StorageDead(_6);                 // scope 3 at $DIR/const_debuginfo.rs:+4:19: +4:20
+          StorageLive(_8);                 // scope 3 at $DIR/const_debuginfo.rs:+4:23: +4:24
+          _8 = const 3_u8;                 // scope 3 at $DIR/const_debuginfo.rs:+4:23: +4:24
+          _4 = const 6_u8;                 // scope 3 at $DIR/const_debuginfo.rs:+4:15: +4:24
+          StorageDead(_8);                 // scope 3 at $DIR/const_debuginfo.rs:+4:23: +4:24
+          StorageDead(_5);                 // scope 3 at $DIR/const_debuginfo.rs:+4:23: +4:24
+          StorageLive(_9);                 // scope 4 at $DIR/const_debuginfo.rs:+6:9: +6:10
+          _9 = const "hello, world!";      // scope 4 at $DIR/const_debuginfo.rs:+6:13: +6:28
                                            // mir::Constant
                                            // + span: $DIR/const_debuginfo.rs:14:13: 14:28
                                            // + literal: Const { ty: &str, val: Value(Slice(..)) }
-          StorageLive(_10);                // scope 5 at $DIR/const_debuginfo.rs:16:9: 16:10
-          Deinit(_10);                     // scope 5 at $DIR/const_debuginfo.rs:16:13: 16:34
-          (_10.0: bool) = const true;      // scope 5 at $DIR/const_debuginfo.rs:16:13: 16:34
-          (_10.1: bool) = const false;     // scope 5 at $DIR/const_debuginfo.rs:16:13: 16:34
-          (_10.2: u32) = const 123_u32;    // scope 5 at $DIR/const_debuginfo.rs:16:13: 16:34
-          StorageLive(_11);                // scope 6 at $DIR/const_debuginfo.rs:18:9: 18:10
-          Deinit(_11);                     // scope 6 at $DIR/const_debuginfo.rs:18:13: 18:24
-          ((_11 as Some).0: u16) = const 99_u16; // scope 6 at $DIR/const_debuginfo.rs:18:13: 18:24
-          discriminant(_11) = 1;           // scope 6 at $DIR/const_debuginfo.rs:18:13: 18:24
-          StorageLive(_12);                // scope 7 at $DIR/const_debuginfo.rs:20:9: 20:10
-          Deinit(_12);                     // scope 7 at $DIR/const_debuginfo.rs:20:13: 20:35
-          (_12.0: u32) = const 32_u32;     // scope 7 at $DIR/const_debuginfo.rs:20:13: 20:35
-          (_12.1: u32) = const 32_u32;     // scope 7 at $DIR/const_debuginfo.rs:20:13: 20:35
-          StorageLive(_13);                // scope 8 at $DIR/const_debuginfo.rs:21:9: 21:10
-          StorageLive(_14);                // scope 8 at $DIR/const_debuginfo.rs:21:13: 21:16
-          _14 = const 32_u32;              // scope 8 at $DIR/const_debuginfo.rs:21:13: 21:16
-          StorageLive(_15);                // scope 8 at $DIR/const_debuginfo.rs:21:19: 21:22
-          _15 = const 32_u32;              // scope 8 at $DIR/const_debuginfo.rs:21:19: 21:22
-          _13 = const 64_u32;              // scope 8 at $DIR/const_debuginfo.rs:21:13: 21:22
-          StorageDead(_15);                // scope 8 at $DIR/const_debuginfo.rs:21:21: 21:22
-          StorageDead(_14);                // scope 8 at $DIR/const_debuginfo.rs:21:21: 21:22
-          nop;                             // scope 0 at $DIR/const_debuginfo.rs:8:11: 22:2
-          StorageDead(_13);                // scope 8 at $DIR/const_debuginfo.rs:22:1: 22:2
-          StorageDead(_12);                // scope 7 at $DIR/const_debuginfo.rs:22:1: 22:2
-          StorageDead(_11);                // scope 6 at $DIR/const_debuginfo.rs:22:1: 22:2
-          StorageDead(_10);                // scope 5 at $DIR/const_debuginfo.rs:22:1: 22:2
-          StorageDead(_9);                 // scope 4 at $DIR/const_debuginfo.rs:22:1: 22:2
-          StorageDead(_4);                 // scope 3 at $DIR/const_debuginfo.rs:22:1: 22:2
-          StorageDead(_3);                 // scope 2 at $DIR/const_debuginfo.rs:22:1: 22:2
-          StorageDead(_2);                 // scope 1 at $DIR/const_debuginfo.rs:22:1: 22:2
-          StorageDead(_1);                 // scope 0 at $DIR/const_debuginfo.rs:22:1: 22:2
-          return;                          // scope 0 at $DIR/const_debuginfo.rs:22:2: 22:2
+          StorageLive(_10);                // scope 5 at $DIR/const_debuginfo.rs:+8:9: +8:10
+          Deinit(_10);                     // scope 5 at $DIR/const_debuginfo.rs:+8:13: +8:34
+          (_10.0: bool) = const true;      // scope 5 at $DIR/const_debuginfo.rs:+8:13: +8:34
+          (_10.1: bool) = const false;     // scope 5 at $DIR/const_debuginfo.rs:+8:13: +8:34
+          (_10.2: u32) = const 123_u32;    // scope 5 at $DIR/const_debuginfo.rs:+8:13: +8:34
+          StorageLive(_11);                // scope 6 at $DIR/const_debuginfo.rs:+10:9: +10:10
+          Deinit(_11);                     // scope 6 at $DIR/const_debuginfo.rs:+10:13: +10:24
+          ((_11 as Some).0: u16) = const 99_u16; // scope 6 at $DIR/const_debuginfo.rs:+10:13: +10:24
+          discriminant(_11) = 1;           // scope 6 at $DIR/const_debuginfo.rs:+10:13: +10:24
+          StorageLive(_12);                // scope 7 at $DIR/const_debuginfo.rs:+12:9: +12:10
+          Deinit(_12);                     // scope 7 at $DIR/const_debuginfo.rs:+12:13: +12:35
+          (_12.0: u32) = const 32_u32;     // scope 7 at $DIR/const_debuginfo.rs:+12:13: +12:35
+          (_12.1: u32) = const 32_u32;     // scope 7 at $DIR/const_debuginfo.rs:+12:13: +12:35
+          StorageLive(_13);                // scope 8 at $DIR/const_debuginfo.rs:+13:9: +13:10
+          StorageLive(_14);                // scope 8 at $DIR/const_debuginfo.rs:+13:13: +13:16
+          _14 = const 32_u32;              // scope 8 at $DIR/const_debuginfo.rs:+13:13: +13:16
+          StorageLive(_15);                // scope 8 at $DIR/const_debuginfo.rs:+13:19: +13:22
+          _15 = const 32_u32;              // scope 8 at $DIR/const_debuginfo.rs:+13:19: +13:22
+          _13 = const 64_u32;              // scope 8 at $DIR/const_debuginfo.rs:+13:13: +13:22
+          StorageDead(_15);                // scope 8 at $DIR/const_debuginfo.rs:+13:21: +13:22
+          StorageDead(_14);                // scope 8 at $DIR/const_debuginfo.rs:+13:21: +13:22
+          nop;                             // scope 0 at $DIR/const_debuginfo.rs:+0:11: +14:2
+          StorageDead(_13);                // scope 8 at $DIR/const_debuginfo.rs:+14:1: +14:2
+          StorageDead(_12);                // scope 7 at $DIR/const_debuginfo.rs:+14:1: +14:2
+          StorageDead(_11);                // scope 6 at $DIR/const_debuginfo.rs:+14:1: +14:2
+          StorageDead(_10);                // scope 5 at $DIR/const_debuginfo.rs:+14:1: +14:2
+          StorageDead(_9);                 // scope 4 at $DIR/const_debuginfo.rs:+14:1: +14:2
+          StorageDead(_4);                 // scope 3 at $DIR/const_debuginfo.rs:+14:1: +14:2
+          StorageDead(_3);                 // scope 2 at $DIR/const_debuginfo.rs:+14:1: +14:2
+          StorageDead(_2);                 // scope 1 at $DIR/const_debuginfo.rs:+14:1: +14:2
+          StorageDead(_1);                 // scope 0 at $DIR/const_debuginfo.rs:+14:1: +14:2
+          return;                          // scope 0 at $DIR/const_debuginfo.rs:+14:2: +14:2
       }
   }
   
index 544d16a251a82586fa83074d57f7b60b31739eea..fade2d0bc6edf7890e10417738eac10e5a344278 100644 (file)
@@ -2,25 +2,25 @@
 + // MIR for `issue_77355_opt` after ConstGoto
   
   fn issue_77355_opt(_1: Foo) -> u64 {
-      debug num => _1;                     // in scope 0 at $DIR/const_goto.rs:11:20: 11:23
-      let mut _0: u64;                     // return place in scope 0 at $DIR/const_goto.rs:11:33: 11:36
+      debug num => _1;                     // in scope 0 at $DIR/const_goto.rs:+0:20: +0:23
+      let mut _0: u64;                     // return place in scope 0 at $DIR/const_goto.rs:+0:33: +0:36
 -     let mut _2: bool;                    // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
--     let mut _3: isize;                   // in scope 0 at $DIR/const_goto.rs:12:22: 12:28
-+     let mut _2: isize;                   // in scope 0 at $DIR/const_goto.rs:12:22: 12:28
+-     let mut _3: isize;                   // in scope 0 at $DIR/const_goto.rs:+1:22: +1:28
++     let mut _2: isize;                   // in scope 0 at $DIR/const_goto.rs:+1:22: +1:28
   
       bb0: {
 -         StorageLive(_2);                 // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
--         _3 = discriminant(_1);           // scope 0 at $DIR/const_goto.rs:12:17: 12:20
+-         _3 = discriminant(_1);           // scope 0 at $DIR/const_goto.rs:+1:17: +1:20
 -         switchInt(move _3) -> [1_isize: bb2, 2_isize: bb2, otherwise: bb1]; // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-+         _2 = discriminant(_1);           // scope 0 at $DIR/const_goto.rs:12:17: 12:20
++         _2 = discriminant(_1);           // scope 0 at $DIR/const_goto.rs:+1:17: +1:20
 +         switchInt(move _2) -> [1_isize: bb2, 2_isize: bb2, otherwise: bb1]; // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       }
   
       bb1: {
 -         _2 = const false;                // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
 -         goto -> bb3;                     // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-+         _0 = const 42_u64;               // scope 0 at $DIR/const_goto.rs:12:53: 12:55
-+         goto -> bb3;                     // scope 0 at $DIR/const_goto.rs:12:5: 12:57
++         _0 = const 42_u64;               // scope 0 at $DIR/const_goto.rs:+1:53: +1:55
++         goto -> bb3;                     // scope 0 at $DIR/const_goto.rs:+1:5: +1:57
       }
   
       bb2: {
 -     }
 - 
 -     bb4: {
-          _0 = const 23_u64;               // scope 0 at $DIR/const_goto.rs:12:41: 12:43
--         goto -> bb6;                     // scope 0 at $DIR/const_goto.rs:12:5: 12:57
-+         goto -> bb3;                     // scope 0 at $DIR/const_goto.rs:12:5: 12:57
+          _0 = const 23_u64;               // scope 0 at $DIR/const_goto.rs:+1:41: +1:43
+-         goto -> bb6;                     // scope 0 at $DIR/const_goto.rs:+1:5: +1:57
++         goto -> bb3;                     // scope 0 at $DIR/const_goto.rs:+1:5: +1:57
       }
   
 -     bb5: {
--         _0 = const 42_u64;               // scope 0 at $DIR/const_goto.rs:12:53: 12:55
--         goto -> bb6;                     // scope 0 at $DIR/const_goto.rs:12:5: 12:57
+-         _0 = const 42_u64;               // scope 0 at $DIR/const_goto.rs:+1:53: +1:55
+-         goto -> bb6;                     // scope 0 at $DIR/const_goto.rs:+1:5: +1:57
 -     }
 - 
 -     bb6: {
--         StorageDead(_2);                 // scope 0 at $DIR/const_goto.rs:12:56: 12:57
+-         StorageDead(_2);                 // scope 0 at $DIR/const_goto.rs:+1:56: +1:57
 +     bb3: {
-          return;                          // scope 0 at $DIR/const_goto.rs:13:2: 13:2
+          return;                          // scope 0 at $DIR/const_goto.rs:+2:2: +2:2
       }
   }
   
index 9ba02942b58b6af4d9159e7cc6ce6075623a3012..623297aeba5062e240963802333e99c46c135f13 100644 (file)
@@ -2,50 +2,50 @@
 + // MIR for `f` after ConstGoto
   
   fn f() -> u64 {
-      let mut _0: u64;                     // return place in scope 0 at $DIR/const_goto_const_eval_fail.rs:6:44: 6:47
-      let mut _1: bool;                    // in scope 0 at $DIR/const_goto_const_eval_fail.rs:7:11: 12:6
-      let mut _2: i32;                     // in scope 0 at $DIR/const_goto_const_eval_fail.rs:8:15: 8:16
+      let mut _0: u64;                     // return place in scope 0 at $DIR/const_goto_const_eval_fail.rs:+0:44: +0:47
+      let mut _1: bool;                    // in scope 0 at $DIR/const_goto_const_eval_fail.rs:+1:11: +6:6
+      let mut _2: i32;                     // in scope 0 at $DIR/const_goto_const_eval_fail.rs:+2:15: +2:16
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/const_goto_const_eval_fail.rs:7:11: 12:6
-          StorageLive(_2);                 // scope 0 at $DIR/const_goto_const_eval_fail.rs:8:15: 8:16
-          _2 = const A;                    // scope 0 at $DIR/const_goto_const_eval_fail.rs:8:15: 8:16
-          switchInt(_2) -> [1_i32: bb2, 2_i32: bb2, 3_i32: bb2, otherwise: bb1]; // scope 0 at $DIR/const_goto_const_eval_fail.rs:8:9: 8:16
+          StorageLive(_1);                 // scope 0 at $DIR/const_goto_const_eval_fail.rs:+1:11: +6:6
+          StorageLive(_2);                 // scope 0 at $DIR/const_goto_const_eval_fail.rs:+2:15: +2:16
+          _2 = const A;                    // scope 0 at $DIR/const_goto_const_eval_fail.rs:+2:15: +2:16
+          switchInt(_2) -> [1_i32: bb2, 2_i32: bb2, 3_i32: bb2, otherwise: bb1]; // scope 0 at $DIR/const_goto_const_eval_fail.rs:+2:9: +2:16
       }
   
       bb1: {
-          _1 = const true;                 // scope 0 at $DIR/const_goto_const_eval_fail.rs:10:18: 10:22
-          goto -> bb3;                     // scope 0 at $DIR/const_goto_const_eval_fail.rs:10:18: 10:22
+          _1 = const true;                 // scope 0 at $DIR/const_goto_const_eval_fail.rs:+4:18: +4:22
+          goto -> bb3;                     // scope 0 at $DIR/const_goto_const_eval_fail.rs:+4:18: +4:22
       }
   
       bb2: {
-          _1 = const B;                    // scope 0 at $DIR/const_goto_const_eval_fail.rs:9:26: 9:27
--         goto -> bb3;                     // scope 0 at $DIR/const_goto_const_eval_fail.rs:9:26: 9:27
-+         switchInt(_1) -> [false: bb4, otherwise: bb3]; // scope 0 at $DIR/const_goto_const_eval_fail.rs:7:5: 12:6
+          _1 = const B;                    // scope 0 at $DIR/const_goto_const_eval_fail.rs:+3:26: +3:27
+-         goto -> bb3;                     // scope 0 at $DIR/const_goto_const_eval_fail.rs:+3:26: +3:27
++         switchInt(_1) -> [false: bb4, otherwise: bb3]; // scope 0 at $DIR/const_goto_const_eval_fail.rs:+1:5: +6:6
       }
   
       bb3: {
--         switchInt(_1) -> [false: bb5, otherwise: bb4]; // scope 0 at $DIR/const_goto_const_eval_fail.rs:7:5: 12:6
+-         switchInt(_1) -> [false: bb5, otherwise: bb4]; // scope 0 at $DIR/const_goto_const_eval_fail.rs:+1:5: +6:6
 -     }
 - 
 -     bb4: {
-          _0 = const 2_u64;                // scope 0 at $DIR/const_goto_const_eval_fail.rs:14:17: 14:18
--         goto -> bb6;                     // scope 0 at $DIR/const_goto_const_eval_fail.rs:14:17: 14:18
-+         goto -> bb5;                     // scope 0 at $DIR/const_goto_const_eval_fail.rs:14:17: 14:18
+          _0 = const 2_u64;                // scope 0 at $DIR/const_goto_const_eval_fail.rs:+8:17: +8:18
+-         goto -> bb6;                     // scope 0 at $DIR/const_goto_const_eval_fail.rs:+8:17: +8:18
++         goto -> bb5;                     // scope 0 at $DIR/const_goto_const_eval_fail.rs:+8:17: +8:18
       }
   
 -     bb5: {
 +     bb4: {
-          _0 = const 1_u64;                // scope 0 at $DIR/const_goto_const_eval_fail.rs:13:18: 13:19
--         goto -> bb6;                     // scope 0 at $DIR/const_goto_const_eval_fail.rs:13:18: 13:19
-+         goto -> bb5;                     // scope 0 at $DIR/const_goto_const_eval_fail.rs:13:18: 13:19
+          _0 = const 1_u64;                // scope 0 at $DIR/const_goto_const_eval_fail.rs:+7:18: +7:19
+-         goto -> bb6;                     // scope 0 at $DIR/const_goto_const_eval_fail.rs:+7:18: +7:19
++         goto -> bb5;                     // scope 0 at $DIR/const_goto_const_eval_fail.rs:+7:18: +7:19
       }
   
 -     bb6: {
 +     bb5: {
-          StorageDead(_2);                 // scope 0 at $DIR/const_goto_const_eval_fail.rs:16:1: 16:2
-          StorageDead(_1);                 // scope 0 at $DIR/const_goto_const_eval_fail.rs:16:1: 16:2
-          return;                          // scope 0 at $DIR/const_goto_const_eval_fail.rs:16:2: 16:2
+          StorageDead(_2);                 // scope 0 at $DIR/const_goto_const_eval_fail.rs:+10:1: +10:2
+          StorageDead(_1);                 // scope 0 at $DIR/const_goto_const_eval_fail.rs:+10:1: +10:2
+          return;                          // scope 0 at $DIR/const_goto_const_eval_fail.rs:+10:2: +10:2
       }
   }
   
index 62a681e1c12a7014f1266627974350dabdaa9c79..2b09ef7866126fde742be0d7b0cb334c1129baf6 100644 (file)
 + // MIR for `match_nested_if` after ConstGoto
   
   fn match_nested_if() -> bool {
-      let mut _0: bool;                    // return place in scope 0 at $DIR/const_goto_storage.rs:2:25: 2:29
-      let _1: bool;                        // in scope 0 at $DIR/const_goto_storage.rs:3:9: 3:12
--     let mut _2: ();                      // in scope 0 at $DIR/const_goto_storage.rs:3:21: 3:23
--     let mut _3: bool;                    // in scope 0 at $DIR/const_goto_storage.rs:4:15: 8:10
--     let mut _4: bool;                    // in scope 0 at $DIR/const_goto_storage.rs:4:18: 4:76
--     let mut _5: bool;                    // in scope 0 at $DIR/const_goto_storage.rs:4:21: 4:52
--     let mut _6: bool;                    // in scope 0 at $DIR/const_goto_storage.rs:4:24: 4:28
-+     let mut _2: bool;                    // in scope 0 at $DIR/const_goto_storage.rs:4:24: 4:28
+      let mut _0: bool;                    // return place in scope 0 at $DIR/const_goto_storage.rs:+0:25: +0:29
+      let _1: bool;                        // in scope 0 at $DIR/const_goto_storage.rs:+1:9: +1:12
+-     let mut _2: ();                      // in scope 0 at $DIR/const_goto_storage.rs:+1:21: +1:23
+-     let mut _3: bool;                    // in scope 0 at $DIR/const_goto_storage.rs:+2:15: +6:10
+-     let mut _4: bool;                    // in scope 0 at $DIR/const_goto_storage.rs:+2:18: +2:76
+-     let mut _5: bool;                    // in scope 0 at $DIR/const_goto_storage.rs:+2:21: +2:52
+-     let mut _6: bool;                    // in scope 0 at $DIR/const_goto_storage.rs:+2:24: +2:28
++     let mut _2: bool;                    // in scope 0 at $DIR/const_goto_storage.rs:+2:24: +2:28
       scope 1 {
-          debug val => _1;                 // in scope 1 at $DIR/const_goto_storage.rs:3:9: 3:12
+          debug val => _1;                 // in scope 1 at $DIR/const_goto_storage.rs:+1:9: +1:12
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/const_goto_storage.rs:3:9: 3:12
--         StorageLive(_2);                 // scope 0 at $DIR/const_goto_storage.rs:3:21: 3:23
--         nop;                             // scope 0 at $DIR/const_goto_storage.rs:3:21: 3:23
--         StorageLive(_3);                 // scope 0 at $DIR/const_goto_storage.rs:4:15: 8:10
--         StorageLive(_4);                 // scope 0 at $DIR/const_goto_storage.rs:4:18: 4:76
--         StorageLive(_5);                 // scope 0 at $DIR/const_goto_storage.rs:4:21: 4:52
--         StorageLive(_6);                 // scope 0 at $DIR/const_goto_storage.rs:4:24: 4:28
--         _6 = const true;                 // scope 0 at $DIR/const_goto_storage.rs:4:24: 4:28
--         switchInt(move _6) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/const_goto_storage.rs:4:24: 4:28
-+         StorageLive(_2);                 // scope 0 at $DIR/const_goto_storage.rs:4:24: 4:28
-+         _2 = const true;                 // scope 0 at $DIR/const_goto_storage.rs:4:24: 4:28
-+         switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/const_goto_storage.rs:4:24: 4:28
+          StorageLive(_1);                 // scope 0 at $DIR/const_goto_storage.rs:+1:9: +1:12
+-         StorageLive(_2);                 // scope 0 at $DIR/const_goto_storage.rs:+1:21: +1:23
+-         nop;                             // scope 0 at $DIR/const_goto_storage.rs:+1:21: +1:23
+-         StorageLive(_3);                 // scope 0 at $DIR/const_goto_storage.rs:+2:15: +6:10
+-         StorageLive(_4);                 // scope 0 at $DIR/const_goto_storage.rs:+2:18: +2:76
+-         StorageLive(_5);                 // scope 0 at $DIR/const_goto_storage.rs:+2:21: +2:52
+-         StorageLive(_6);                 // scope 0 at $DIR/const_goto_storage.rs:+2:24: +2:28
+-         _6 = const true;                 // scope 0 at $DIR/const_goto_storage.rs:+2:24: +2:28
+-         switchInt(move _6) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/const_goto_storage.rs:+2:24: +2:28
++         StorageLive(_2);                 // scope 0 at $DIR/const_goto_storage.rs:+2:24: +2:28
++         _2 = const true;                 // scope 0 at $DIR/const_goto_storage.rs:+2:24: +2:28
++         switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/const_goto_storage.rs:+2:24: +2:28
       }
   
       bb1: {
--         _5 = const true;                 // scope 0 at $DIR/const_goto_storage.rs:4:31: 4:35
--         goto -> bb3;                     // scope 0 at $DIR/const_goto_storage.rs:4:21: 4:52
+-         _5 = const true;                 // scope 0 at $DIR/const_goto_storage.rs:+2:31: +2:35
+-         goto -> bb3;                     // scope 0 at $DIR/const_goto_storage.rs:+2:21: +2:52
 -     }
 - 
 -     bb2: {
--         _5 = const false;                // scope 0 at $DIR/const_goto_storage.rs:4:45: 4:50
--         goto -> bb3;                     // scope 0 at $DIR/const_goto_storage.rs:4:21: 4:52
+-         _5 = const false;                // scope 0 at $DIR/const_goto_storage.rs:+2:45: +2:50
+-         goto -> bb3;                     // scope 0 at $DIR/const_goto_storage.rs:+2:21: +2:52
 -     }
 - 
 -     bb3: {
--         StorageDead(_6);                 // scope 0 at $DIR/const_goto_storage.rs:4:51: 4:52
--         switchInt(move _5) -> [false: bb5, otherwise: bb4]; // scope 0 at $DIR/const_goto_storage.rs:4:21: 4:52
+-         StorageDead(_6);                 // scope 0 at $DIR/const_goto_storage.rs:+2:51: +2:52
+-         switchInt(move _5) -> [false: bb5, otherwise: bb4]; // scope 0 at $DIR/const_goto_storage.rs:+2:21: +2:52
 -     }
 - 
 -     bb4: {
--         _4 = const true;                 // scope 0 at $DIR/const_goto_storage.rs:4:55: 4:59
--         goto -> bb6;                     // scope 0 at $DIR/const_goto_storage.rs:4:18: 4:76
+-         _4 = const true;                 // scope 0 at $DIR/const_goto_storage.rs:+2:55: +2:59
+-         goto -> bb6;                     // scope 0 at $DIR/const_goto_storage.rs:+2:18: +2:76
 -     }
 - 
 -     bb5: {
--         _4 = const false;                // scope 0 at $DIR/const_goto_storage.rs:4:69: 4:74
--         goto -> bb6;                     // scope 0 at $DIR/const_goto_storage.rs:4:18: 4:76
+-         _4 = const false;                // scope 0 at $DIR/const_goto_storage.rs:+2:69: +2:74
+-         goto -> bb6;                     // scope 0 at $DIR/const_goto_storage.rs:+2:18: +2:76
 -     }
 - 
 -     bb6: {
--         StorageDead(_5);                 // scope 0 at $DIR/const_goto_storage.rs:4:75: 4:76
--         switchInt(move _4) -> [false: bb8, otherwise: bb7]; // scope 0 at $DIR/const_goto_storage.rs:4:18: 4:76
+-         StorageDead(_5);                 // scope 0 at $DIR/const_goto_storage.rs:+2:75: +2:76
+-         switchInt(move _4) -> [false: bb8, otherwise: bb7]; // scope 0 at $DIR/const_goto_storage.rs:+2:18: +2:76
 -     }
 - 
 -     bb7: {
--         _3 = const true;                 // scope 0 at $DIR/const_goto_storage.rs:5:13: 5:17
--         goto -> bb9;                     // scope 0 at $DIR/const_goto_storage.rs:4:15: 8:10
+-         _3 = const true;                 // scope 0 at $DIR/const_goto_storage.rs:+3:13: +3:17
+-         goto -> bb9;                     // scope 0 at $DIR/const_goto_storage.rs:+2:15: +6:10
 -     }
 - 
 -     bb8: {
--         _3 = const false;                // scope 0 at $DIR/const_goto_storage.rs:7:13: 7:18
--         goto -> bb9;                     // scope 0 at $DIR/const_goto_storage.rs:4:15: 8:10
+-         _3 = const false;                // scope 0 at $DIR/const_goto_storage.rs:+5:13: +5:18
+-         goto -> bb9;                     // scope 0 at $DIR/const_goto_storage.rs:+2:15: +6:10
 -     }
 - 
 -     bb9: {
--         switchInt(move _3) -> [false: bb11, otherwise: bb10]; // scope 0 at $DIR/const_goto_storage.rs:4:15: 8:10
+-         switchInt(move _3) -> [false: bb11, otherwise: bb10]; // scope 0 at $DIR/const_goto_storage.rs:+2:15: +6:10
 -     }
 - 
 -     bb10: {
--         StorageDead(_4);                 // scope 0 at $DIR/const_goto_storage.rs:8:9: 8:10
--         StorageDead(_3);                 // scope 0 at $DIR/const_goto_storage.rs:8:9: 8:10
-+         StorageDead(_2);                 // scope 0 at $DIR/const_goto_storage.rs:4:51: 4:52
-          _1 = const true;                 // scope 0 at $DIR/const_goto_storage.rs:10:17: 10:21
--         goto -> bb12;                    // scope 0 at $DIR/const_goto_storage.rs:10:17: 10:21
-+         goto -> bb3;                     // scope 0 at $DIR/const_goto_storage.rs:10:17: 10:21
+-         StorageDead(_4);                 // scope 0 at $DIR/const_goto_storage.rs:+6:9: +6:10
+-         StorageDead(_3);                 // scope 0 at $DIR/const_goto_storage.rs:+6:9: +6:10
++         StorageDead(_2);                 // scope 0 at $DIR/const_goto_storage.rs:+2:51: +2:52
+          _1 = const true;                 // scope 0 at $DIR/const_goto_storage.rs:+8:17: +8:21
+-         goto -> bb12;                    // scope 0 at $DIR/const_goto_storage.rs:+8:17: +8:21
++         goto -> bb3;                     // scope 0 at $DIR/const_goto_storage.rs:+8:17: +8:21
       }
   
 -     bb11: {
--         StorageDead(_4);                 // scope 0 at $DIR/const_goto_storage.rs:8:9: 8:10
--         StorageDead(_3);                 // scope 0 at $DIR/const_goto_storage.rs:8:9: 8:10
+-         StorageDead(_4);                 // scope 0 at $DIR/const_goto_storage.rs:+6:9: +6:10
+-         StorageDead(_3);                 // scope 0 at $DIR/const_goto_storage.rs:+6:9: +6:10
 +     bb2: {
-+         StorageDead(_2);                 // scope 0 at $DIR/const_goto_storage.rs:4:51: 4:52
-          _1 = const false;                // scope 0 at $DIR/const_goto_storage.rs:12:14: 12:19
--         goto -> bb12;                    // scope 0 at $DIR/const_goto_storage.rs:12:14: 12:19
-+         goto -> bb3;                     // scope 0 at $DIR/const_goto_storage.rs:12:14: 12:19
++         StorageDead(_2);                 // scope 0 at $DIR/const_goto_storage.rs:+2:51: +2:52
+          _1 = const false;                // scope 0 at $DIR/const_goto_storage.rs:+10:14: +10:19
+-         goto -> bb12;                    // scope 0 at $DIR/const_goto_storage.rs:+10:14: +10:19
++         goto -> bb3;                     // scope 0 at $DIR/const_goto_storage.rs:+10:14: +10:19
       }
   
 -     bb12: {
--         StorageDead(_2);                 // scope 0 at $DIR/const_goto_storage.rs:13:6: 13:7
+-         StorageDead(_2);                 // scope 0 at $DIR/const_goto_storage.rs:+11:6: +11:7
 +     bb3: {
-          _0 = _1;                         // scope 1 at $DIR/const_goto_storage.rs:14:5: 14:8
-          StorageDead(_1);                 // scope 0 at $DIR/const_goto_storage.rs:15:1: 15:2
-          return;                          // scope 0 at $DIR/const_goto_storage.rs:15:2: 15:2
+          _0 = _1;                         // scope 1 at $DIR/const_goto_storage.rs:+12:5: +12:8
+          StorageDead(_1);                 // scope 0 at $DIR/const_goto_storage.rs:+13:1: +13:2
+          return;                          // scope 0 at $DIR/const_goto_storage.rs:+13:2: +13:2
       }
   }
   
index 666b805e822c1a5286fb8190c32cc1b376284b1f..7650769de3b593bc7ae8b79986253d683931b59d 100644 (file)
@@ -1,20 +1,20 @@
 // MIR for `BAR::promoted[0]` after SimplifyCfg-elaborate-drops
 
 promoted[0] in BAR: &[&i32; 1] = {
-    let mut _0: &[&i32; 1];              // return place in scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:44
-    let mut _1: [&i32; 1];               // in scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:35
-    let mut _2: &i32;                    // in scope 0 at $DIR/const-promotion-extern-static.rs:9:32: 9:34
-    let mut _3: &i32;                    // in scope 0 at $DIR/const-promotion-extern-static.rs:9:33: 9:34
+    let mut _0: &[&i32; 1];              // return place in scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:44
+    let mut _1: [&i32; 1];               // in scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:35
+    let mut _2: &i32;                    // in scope 0 at $DIR/const-promotion-extern-static.rs:+0:32: +0:34
+    let mut _3: &i32;                    // in scope 0 at $DIR/const-promotion-extern-static.rs:+0:33: +0:34
 
     bb0: {
-        _3 = const {alloc1: &i32};       // scope 0 at $DIR/const-promotion-extern-static.rs:9:33: 9:34
+        _3 = const {alloc1: &i32};       // scope 0 at $DIR/const-promotion-extern-static.rs:+0:33: +0:34
                                          // mir::Constant
                                          // + span: $DIR/const-promotion-extern-static.rs:9:33: 9:34
                                          // + literal: Const { ty: &i32, val: Value(Scalar(alloc1)) }
-        _2 = &(*_3);                     // scope 0 at $DIR/const-promotion-extern-static.rs:9:32: 9:34
-        _1 = [move _2];                  // scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:35
-        _0 = &_1;                        // scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:44
-        return;                          // scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:44
+        _2 = &(*_3);                     // scope 0 at $DIR/const-promotion-extern-static.rs:+0:32: +0:34
+        _1 = [move _2];                  // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:35
+        _0 = &_1;                        // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:44
+        return;                          // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:44
     }
 }
 
index bc82222d11856ee185060b6786bc53638c1bb29f..f58ba56b943f4f9ba309123ac6516f1008499805 100644 (file)
@@ -2,49 +2,49 @@
 + // MIR for `BAR` after PromoteTemps
   
   static mut BAR: *const &i32 = {
-      let mut _0: *const &i32;             // return place in scope 0 at $DIR/const-promotion-extern-static.rs:9:17: 9:28
-      let mut _1: &[&i32];                 // in scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:44
-      let mut _2: &[&i32; 1];              // in scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:44
-      let _3: [&i32; 1];                   // in scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:35
-      let mut _4: &i32;                    // in scope 0 at $DIR/const-promotion-extern-static.rs:9:32: 9:34
-      let _5: &i32;                        // in scope 0 at $DIR/const-promotion-extern-static.rs:9:33: 9:34
-+     let mut _6: &[&i32; 1];              // in scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:44
+      let mut _0: *const &i32;             // return place in scope 0 at $DIR/const-promotion-extern-static.rs:+0:17: +0:28
+      let mut _1: &[&i32];                 // in scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:44
+      let mut _2: &[&i32; 1];              // in scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:44
+      let _3: [&i32; 1];                   // in scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:35
+      let mut _4: &i32;                    // in scope 0 at $DIR/const-promotion-extern-static.rs:+0:32: +0:34
+      let _5: &i32;                        // in scope 0 at $DIR/const-promotion-extern-static.rs:+0:33: +0:34
++     let mut _6: &[&i32; 1];              // in scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:44
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:44
-          StorageLive(_2);                 // scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:44
--         StorageLive(_3);                 // scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:35
--         StorageLive(_4);                 // scope 0 at $DIR/const-promotion-extern-static.rs:9:32: 9:34
--         StorageLive(_5);                 // scope 0 at $DIR/const-promotion-extern-static.rs:9:33: 9:34
--         _5 = const {alloc1: &i32};       // scope 0 at $DIR/const-promotion-extern-static.rs:9:33: 9:34
-+         _6 = const BAR::promoted[0];     // scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:44
+          StorageLive(_1);                 // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:44
+          StorageLive(_2);                 // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:44
+-         StorageLive(_3);                 // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:35
+-         StorageLive(_4);                 // scope 0 at $DIR/const-promotion-extern-static.rs:+0:32: +0:34
+-         StorageLive(_5);                 // scope 0 at $DIR/const-promotion-extern-static.rs:+0:33: +0:34
+-         _5 = const {alloc1: &i32};       // scope 0 at $DIR/const-promotion-extern-static.rs:+0:33: +0:34
++         _6 = const BAR::promoted[0];     // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:44
                                            // mir::Constant
 -                                          // + span: $DIR/const-promotion-extern-static.rs:9:33: 9:34
 -                                          // + literal: Const { ty: &i32, val: Value(Scalar(alloc1)) }
--         _4 = &(*_5);                     // scope 0 at $DIR/const-promotion-extern-static.rs:9:32: 9:34
--         _3 = [move _4];                  // scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:35
--         _2 = &_3;                        // scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:44
+-         _4 = &(*_5);                     // scope 0 at $DIR/const-promotion-extern-static.rs:+0:32: +0:34
+-         _3 = [move _4];                  // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:35
+-         _2 = &_3;                        // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:44
 +                                          // + span: $DIR/const-promotion-extern-static.rs:9:31: 9:44
 +                                          // + literal: Const { ty: &[&i32; 1], val: Unevaluated(BAR, [], Some(promoted[0])) }
-+         _2 = &(*_6);                     // scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:44
-          _1 = move _2 as &[&i32] (Pointer(Unsize)); // scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:44
--         StorageDead(_4);                 // scope 0 at $DIR/const-promotion-extern-static.rs:9:34: 9:35
-          StorageDead(_2);                 // scope 0 at $DIR/const-promotion-extern-static.rs:9:34: 9:35
-          _0 = core::slice::<impl [&i32]>::as_ptr(move _1) -> [return: bb1, unwind: bb2]; // scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:44
++         _2 = &(*_6);                     // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:44
+          _1 = move _2 as &[&i32] (Pointer(Unsize)); // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:44
+-         StorageDead(_4);                 // scope 0 at $DIR/const-promotion-extern-static.rs:+0:34: +0:35
+          StorageDead(_2);                 // scope 0 at $DIR/const-promotion-extern-static.rs:+0:34: +0:35
+          _0 = core::slice::<impl [&i32]>::as_ptr(move _1) -> [return: bb1, unwind: bb2]; // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:44
                                            // mir::Constant
                                            // + span: $DIR/const-promotion-extern-static.rs:9:36: 9:42
                                            // + literal: Const { ty: for<'r> fn(&'r [&i32]) -> *const &i32 {core::slice::<impl [&i32]>::as_ptr}, val: Value(<ZST>) }
       }
   
       bb1: {
--         StorageDead(_5);                 // scope 0 at $DIR/const-promotion-extern-static.rs:9:43: 9:44
--         StorageDead(_3);                 // scope 0 at $DIR/const-promotion-extern-static.rs:9:43: 9:44
-          StorageDead(_1);                 // scope 0 at $DIR/const-promotion-extern-static.rs:9:43: 9:44
-          return;                          // scope 0 at $DIR/const-promotion-extern-static.rs:9:1: 9:28
+-         StorageDead(_5);                 // scope 0 at $DIR/const-promotion-extern-static.rs:+0:43: +0:44
+-         StorageDead(_3);                 // scope 0 at $DIR/const-promotion-extern-static.rs:+0:43: +0:44
+          StorageDead(_1);                 // scope 0 at $DIR/const-promotion-extern-static.rs:+0:43: +0:44
+          return;                          // scope 0 at $DIR/const-promotion-extern-static.rs:+0:1: +0:28
       }
   
       bb2 (cleanup): {
-          resume;                          // scope 0 at $DIR/const-promotion-extern-static.rs:9:1: 9:28
+          resume;                          // scope 0 at $DIR/const-promotion-extern-static.rs:+0:1: +0:28
       }
 - }
 - 
index 2e63c2c25fac325ac7f3552ba3edb21b20ea11c8..deb467977d7bfe654ae50ff67d452292a91ed4a8 100644 (file)
@@ -1,17 +1,17 @@
 // MIR for `BOP` 0 mir_map
 
 static BOP: &i32 = {
-    let mut _0: &i32;                    // return place in scope 0 at $DIR/const-promotion-extern-static.rs:16:13: 16:17
-    let _1: &i32;                        // in scope 0 at $DIR/const-promotion-extern-static.rs:16:20: 16:23
-    let _2: i32;                         // in scope 0 at $DIR/const-promotion-extern-static.rs:16:21: 16:23
+    let mut _0: &i32;                    // return place in scope 0 at $DIR/const-promotion-extern-static.rs:+0:13: +0:17
+    let _1: &i32;                        // in scope 0 at $DIR/const-promotion-extern-static.rs:+0:20: +0:23
+    let _2: i32;                         // in scope 0 at $DIR/const-promotion-extern-static.rs:+0:21: +0:23
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/const-promotion-extern-static.rs:16:20: 16:23
-        StorageLive(_2);                 // scope 0 at $DIR/const-promotion-extern-static.rs:16:21: 16:23
-        _2 = const 13_i32;               // scope 0 at $DIR/const-promotion-extern-static.rs:16:21: 16:23
-        _1 = &_2;                        // scope 0 at $DIR/const-promotion-extern-static.rs:16:20: 16:23
-        _0 = &(*_1);                     // scope 0 at $DIR/const-promotion-extern-static.rs:16:20: 16:23
-        StorageDead(_1);                 // scope 0 at $DIR/const-promotion-extern-static.rs:16:22: 16:23
-        return;                          // scope 0 at $DIR/const-promotion-extern-static.rs:16:1: 16:17
+        StorageLive(_1);                 // scope 0 at $DIR/const-promotion-extern-static.rs:+0:20: +0:23
+        StorageLive(_2);                 // scope 0 at $DIR/const-promotion-extern-static.rs:+0:21: +0:23
+        _2 = const 13_i32;               // scope 0 at $DIR/const-promotion-extern-static.rs:+0:21: +0:23
+        _1 = &_2;                        // scope 0 at $DIR/const-promotion-extern-static.rs:+0:20: +0:23
+        _0 = &(*_1);                     // scope 0 at $DIR/const-promotion-extern-static.rs:+0:20: +0:23
+        StorageDead(_1);                 // scope 0 at $DIR/const-promotion-extern-static.rs:+0:22: +0:23
+        return;                          // scope 0 at $DIR/const-promotion-extern-static.rs:+0:1: +0:17
     }
 }
index 785c8386e88b51b447b298e9732d6efd529f8812..71827eab1c28b953435c365a119e0a10281b8951 100644 (file)
@@ -1,20 +1,20 @@
 // MIR for `FOO::promoted[0]` after SimplifyCfg-elaborate-drops
 
 promoted[0] in FOO: &[&i32; 1] = {
-    let mut _0: &[&i32; 1];              // return place in scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:55
-    let mut _1: [&i32; 1];               // in scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:46
-    let mut _2: &i32;                    // in scope 0 at $DIR/const-promotion-extern-static.rs:13:32: 13:45
-    let mut _3: *const i32;              // in scope 0 at $DIR/const-promotion-extern-static.rs:13:42: 13:43
+    let mut _0: &[&i32; 1];              // return place in scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:55
+    let mut _1: [&i32; 1];               // in scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:46
+    let mut _2: &i32;                    // in scope 0 at $DIR/const-promotion-extern-static.rs:+0:32: +0:45
+    let mut _3: *const i32;              // in scope 0 at $DIR/const-promotion-extern-static.rs:+0:42: +0:43
 
     bb0: {
-        _3 = const {alloc3: *const i32}; // scope 0 at $DIR/const-promotion-extern-static.rs:13:42: 13:43
+        _3 = const {alloc3: *const i32}; // scope 0 at $DIR/const-promotion-extern-static.rs:+0:42: +0:43
                                          // mir::Constant
                                          // + span: $DIR/const-promotion-extern-static.rs:13:42: 13:43
                                          // + literal: Const { ty: *const i32, val: Value(Scalar(alloc3)) }
-        _2 = &(*_3);                     // scope 0 at $DIR/const-promotion-extern-static.rs:13:41: 13:43
-        _1 = [move _2];                  // scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:46
-        _0 = &_1;                        // scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:55
-        return;                          // scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:55
+        _2 = &(*_3);                     // scope 0 at $DIR/const-promotion-extern-static.rs:+0:41: +0:43
+        _1 = [move _2];                  // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:46
+        _0 = &_1;                        // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:55
+        return;                          // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:55
     }
 }
 
index 39dcf2f10c6f2c3f23643aea4192f4004112e9c1..5300f555fdfb862ca6e5dec1d83b55c53f88a6cb 100644 (file)
@@ -2,51 +2,51 @@
 + // MIR for `FOO` after PromoteTemps
   
   static mut FOO: *const &i32 = {
-      let mut _0: *const &i32;             // return place in scope 0 at $DIR/const-promotion-extern-static.rs:13:17: 13:28
-      let mut _1: &[&i32];                 // in scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:55
-      let mut _2: &[&i32; 1];              // in scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:55
-      let _3: [&i32; 1];                   // in scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:46
-      let mut _4: &i32;                    // in scope 0 at $DIR/const-promotion-extern-static.rs:13:32: 13:45
-      let _5: *const i32;                  // in scope 0 at $DIR/const-promotion-extern-static.rs:13:42: 13:43
-+     let mut _6: &[&i32; 1];              // in scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:55
+      let mut _0: *const &i32;             // return place in scope 0 at $DIR/const-promotion-extern-static.rs:+0:17: +0:28
+      let mut _1: &[&i32];                 // in scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:55
+      let mut _2: &[&i32; 1];              // in scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:55
+      let _3: [&i32; 1];                   // in scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:46
+      let mut _4: &i32;                    // in scope 0 at $DIR/const-promotion-extern-static.rs:+0:32: +0:45
+      let _5: *const i32;                  // in scope 0 at $DIR/const-promotion-extern-static.rs:+0:42: +0:43
++     let mut _6: &[&i32; 1];              // in scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:55
       scope 1 {
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:55
-          StorageLive(_2);                 // scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:55
--         StorageLive(_3);                 // scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:46
--         StorageLive(_4);                 // scope 0 at $DIR/const-promotion-extern-static.rs:13:32: 13:45
--         StorageLive(_5);                 // scope 1 at $DIR/const-promotion-extern-static.rs:13:42: 13:43
--         _5 = const {alloc3: *const i32}; // scope 1 at $DIR/const-promotion-extern-static.rs:13:42: 13:43
-+         _6 = const FOO::promoted[0];     // scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:55
+          StorageLive(_1);                 // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:55
+          StorageLive(_2);                 // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:55
+-         StorageLive(_3);                 // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:46
+-         StorageLive(_4);                 // scope 0 at $DIR/const-promotion-extern-static.rs:+0:32: +0:45
+-         StorageLive(_5);                 // scope 1 at $DIR/const-promotion-extern-static.rs:+0:42: +0:43
+-         _5 = const {alloc3: *const i32}; // scope 1 at $DIR/const-promotion-extern-static.rs:+0:42: +0:43
++         _6 = const FOO::promoted[0];     // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:55
                                            // mir::Constant
 -                                          // + span: $DIR/const-promotion-extern-static.rs:13:42: 13:43
 -                                          // + literal: Const { ty: *const i32, val: Value(Scalar(alloc3)) }
--         _4 = &(*_5);                     // scope 1 at $DIR/const-promotion-extern-static.rs:13:41: 13:43
--         _3 = [move _4];                  // scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:46
--         _2 = &_3;                        // scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:55
+-         _4 = &(*_5);                     // scope 1 at $DIR/const-promotion-extern-static.rs:+0:41: +0:43
+-         _3 = [move _4];                  // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:46
+-         _2 = &_3;                        // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:55
 +                                          // + span: $DIR/const-promotion-extern-static.rs:13:31: 13:55
 +                                          // + literal: Const { ty: &[&i32; 1], val: Unevaluated(FOO, [], Some(promoted[0])) }
-+         _2 = &(*_6);                     // scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:55
-          _1 = move _2 as &[&i32] (Pointer(Unsize)); // scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:55
--         StorageDead(_4);                 // scope 0 at $DIR/const-promotion-extern-static.rs:13:45: 13:46
-          StorageDead(_2);                 // scope 0 at $DIR/const-promotion-extern-static.rs:13:45: 13:46
-          _0 = core::slice::<impl [&i32]>::as_ptr(move _1) -> [return: bb1, unwind: bb2]; // scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:55
++         _2 = &(*_6);                     // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:55
+          _1 = move _2 as &[&i32] (Pointer(Unsize)); // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:55
+-         StorageDead(_4);                 // scope 0 at $DIR/const-promotion-extern-static.rs:+0:45: +0:46
+          StorageDead(_2);                 // scope 0 at $DIR/const-promotion-extern-static.rs:+0:45: +0:46
+          _0 = core::slice::<impl [&i32]>::as_ptr(move _1) -> [return: bb1, unwind: bb2]; // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:55
                                            // mir::Constant
                                            // + span: $DIR/const-promotion-extern-static.rs:13:47: 13:53
                                            // + literal: Const { ty: for<'r> fn(&'r [&i32]) -> *const &i32 {core::slice::<impl [&i32]>::as_ptr}, val: Value(<ZST>) }
       }
   
       bb1: {
--         StorageDead(_5);                 // scope 0 at $DIR/const-promotion-extern-static.rs:13:54: 13:55
--         StorageDead(_3);                 // scope 0 at $DIR/const-promotion-extern-static.rs:13:54: 13:55
-          StorageDead(_1);                 // scope 0 at $DIR/const-promotion-extern-static.rs:13:54: 13:55
-          return;                          // scope 0 at $DIR/const-promotion-extern-static.rs:13:1: 13:28
+-         StorageDead(_5);                 // scope 0 at $DIR/const-promotion-extern-static.rs:+0:54: +0:55
+-         StorageDead(_3);                 // scope 0 at $DIR/const-promotion-extern-static.rs:+0:54: +0:55
+          StorageDead(_1);                 // scope 0 at $DIR/const-promotion-extern-static.rs:+0:54: +0:55
+          return;                          // scope 0 at $DIR/const-promotion-extern-static.rs:+0:1: +0:28
       }
   
       bb2 (cleanup): {
-          resume;                          // scope 0 at $DIR/const-promotion-extern-static.rs:13:1: 13:28
+          resume;                          // scope 0 at $DIR/const-promotion-extern-static.rs:+0:1: +0:28
       }
   }
 - 
index 821075047cb876e4605cfd71a4880ea5c23b5ad8..836443bf4d2933995b8f9a67754208709519a705 100644 (file)
@@ -2,31 +2,31 @@
 + // MIR for `main` after ConstProp
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/aggregate.rs:4:11: 4:11
-      let _1: i32;                         // in scope 0 at $DIR/aggregate.rs:5:9: 5:10
-      let mut _2: i32;                     // in scope 0 at $DIR/aggregate.rs:5:13: 5:24
-      let mut _3: (i32, i32, i32);         // in scope 0 at $DIR/aggregate.rs:5:13: 5:22
+      let mut _0: ();                      // return place in scope 0 at $DIR/aggregate.rs:+0:11: +0:11
+      let _1: i32;                         // in scope 0 at $DIR/aggregate.rs:+1:9: +1:10
+      let mut _2: i32;                     // in scope 0 at $DIR/aggregate.rs:+1:13: +1:24
+      let mut _3: (i32, i32, i32);         // in scope 0 at $DIR/aggregate.rs:+1:13: +1:22
       scope 1 {
-          debug x => _1;                   // in scope 1 at $DIR/aggregate.rs:5:9: 5:10
+          debug x => _1;                   // in scope 1 at $DIR/aggregate.rs:+1:9: +1:10
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/aggregate.rs:5:9: 5:10
-          StorageLive(_2);                 // scope 0 at $DIR/aggregate.rs:5:13: 5:24
-          StorageLive(_3);                 // scope 0 at $DIR/aggregate.rs:5:13: 5:22
-          Deinit(_3);                      // scope 0 at $DIR/aggregate.rs:5:13: 5:22
-          (_3.0: i32) = const 0_i32;       // scope 0 at $DIR/aggregate.rs:5:13: 5:22
-          (_3.1: i32) = const 1_i32;       // scope 0 at $DIR/aggregate.rs:5:13: 5:22
-          (_3.2: i32) = const 2_i32;       // scope 0 at $DIR/aggregate.rs:5:13: 5:22
--         _2 = (_3.1: i32);                // scope 0 at $DIR/aggregate.rs:5:13: 5:24
--         _1 = Add(move _2, const 0_i32);  // scope 0 at $DIR/aggregate.rs:5:13: 5:28
-+         _2 = const 1_i32;                // scope 0 at $DIR/aggregate.rs:5:13: 5:24
-+         _1 = const 1_i32;                // scope 0 at $DIR/aggregate.rs:5:13: 5:28
-          StorageDead(_2);                 // scope 0 at $DIR/aggregate.rs:5:27: 5:28
-          StorageDead(_3);                 // scope 0 at $DIR/aggregate.rs:5:28: 5:29
-          nop;                             // scope 0 at $DIR/aggregate.rs:4:11: 6:2
-          StorageDead(_1);                 // scope 0 at $DIR/aggregate.rs:6:1: 6:2
-          return;                          // scope 0 at $DIR/aggregate.rs:6:2: 6:2
+          StorageLive(_1);                 // scope 0 at $DIR/aggregate.rs:+1:9: +1:10
+          StorageLive(_2);                 // scope 0 at $DIR/aggregate.rs:+1:13: +1:24
+          StorageLive(_3);                 // scope 0 at $DIR/aggregate.rs:+1:13: +1:22
+          Deinit(_3);                      // scope 0 at $DIR/aggregate.rs:+1:13: +1:22
+          (_3.0: i32) = const 0_i32;       // scope 0 at $DIR/aggregate.rs:+1:13: +1:22
+          (_3.1: i32) = const 1_i32;       // scope 0 at $DIR/aggregate.rs:+1:13: +1:22
+          (_3.2: i32) = const 2_i32;       // scope 0 at $DIR/aggregate.rs:+1:13: +1:22
+-         _2 = (_3.1: i32);                // scope 0 at $DIR/aggregate.rs:+1:13: +1:24
+-         _1 = Add(move _2, const 0_i32);  // scope 0 at $DIR/aggregate.rs:+1:13: +1:28
++         _2 = const 1_i32;                // scope 0 at $DIR/aggregate.rs:+1:13: +1:24
++         _1 = const 1_i32;                // scope 0 at $DIR/aggregate.rs:+1:13: +1:28
+          StorageDead(_2);                 // scope 0 at $DIR/aggregate.rs:+1:27: +1:28
+          StorageDead(_3);                 // scope 0 at $DIR/aggregate.rs:+1:28: +1:29
+          nop;                             // scope 0 at $DIR/aggregate.rs:+0:11: +2:2
+          StorageDead(_1);                 // scope 0 at $DIR/aggregate.rs:+2:1: +2:2
+          return;                          // scope 0 at $DIR/aggregate.rs:+2:2: +2:2
       }
   }
   
index e69f887cea8fa3bd0f8e450cbee36d909fad3bd6..bb9abdd10200dddc3e2796c021603162c1ce8ddf 100644 (file)
@@ -2,37 +2,37 @@
 + // MIR for `main` after ConstProp
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/array_index.rs:4:11: 4:11
-      let _1: u32;                         // in scope 0 at $DIR/array_index.rs:5:9: 5:10
-      let mut _2: [u32; 4];                // in scope 0 at $DIR/array_index.rs:5:18: 5:30
-      let _3: usize;                       // in scope 0 at $DIR/array_index.rs:5:31: 5:32
-      let mut _4: usize;                   // in scope 0 at $DIR/array_index.rs:5:18: 5:33
-      let mut _5: bool;                    // in scope 0 at $DIR/array_index.rs:5:18: 5:33
+      let mut _0: ();                      // return place in scope 0 at $DIR/array_index.rs:+0:11: +0:11
+      let _1: u32;                         // in scope 0 at $DIR/array_index.rs:+1:9: +1:10
+      let mut _2: [u32; 4];                // in scope 0 at $DIR/array_index.rs:+1:18: +1:30
+      let _3: usize;                       // in scope 0 at $DIR/array_index.rs:+1:31: +1:32
+      let mut _4: usize;                   // in scope 0 at $DIR/array_index.rs:+1:18: +1:33
+      let mut _5: bool;                    // in scope 0 at $DIR/array_index.rs:+1:18: +1:33
       scope 1 {
-          debug x => _1;                   // in scope 1 at $DIR/array_index.rs:5:9: 5:10
+          debug x => _1;                   // in scope 1 at $DIR/array_index.rs:+1:9: +1:10
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/array_index.rs:5:9: 5:10
-          StorageLive(_2);                 // scope 0 at $DIR/array_index.rs:5:18: 5:30
-          _2 = [const 0_u32, const 1_u32, const 2_u32, const 3_u32]; // scope 0 at $DIR/array_index.rs:5:18: 5:30
-          StorageLive(_3);                 // scope 0 at $DIR/array_index.rs:5:31: 5:32
-          _3 = const 2_usize;              // scope 0 at $DIR/array_index.rs:5:31: 5:32
-          _4 = const 4_usize;              // scope 0 at $DIR/array_index.rs:5:18: 5:33
--         _5 = Lt(_3, _4);                 // scope 0 at $DIR/array_index.rs:5:18: 5:33
--         assert(move _5, "index out of bounds: the length is {} but the index is {}", move _4, _3) -> bb1; // scope 0 at $DIR/array_index.rs:5:18: 5:33
-+         _5 = const true;                 // scope 0 at $DIR/array_index.rs:5:18: 5:33
-+         assert(const true, "index out of bounds: the length is {} but the index is {}", const 4_usize, const 2_usize) -> bb1; // scope 0 at $DIR/array_index.rs:5:18: 5:33
+          StorageLive(_1);                 // scope 0 at $DIR/array_index.rs:+1:9: +1:10
+          StorageLive(_2);                 // scope 0 at $DIR/array_index.rs:+1:18: +1:30
+          _2 = [const 0_u32, const 1_u32, const 2_u32, const 3_u32]; // scope 0 at $DIR/array_index.rs:+1:18: +1:30
+          StorageLive(_3);                 // scope 0 at $DIR/array_index.rs:+1:31: +1:32
+          _3 = const 2_usize;              // scope 0 at $DIR/array_index.rs:+1:31: +1:32
+          _4 = const 4_usize;              // scope 0 at $DIR/array_index.rs:+1:18: +1:33
+-         _5 = Lt(_3, _4);                 // scope 0 at $DIR/array_index.rs:+1:18: +1:33
+-         assert(move _5, "index out of bounds: the length is {} but the index is {}", move _4, _3) -> bb1; // scope 0 at $DIR/array_index.rs:+1:18: +1:33
++         _5 = const true;                 // scope 0 at $DIR/array_index.rs:+1:18: +1:33
++         assert(const true, "index out of bounds: the length is {} but the index is {}", const 4_usize, const 2_usize) -> bb1; // scope 0 at $DIR/array_index.rs:+1:18: +1:33
       }
   
       bb1: {
--         _1 = _2[_3];                     // scope 0 at $DIR/array_index.rs:5:18: 5:33
-+         _1 = const 2_u32;                // scope 0 at $DIR/array_index.rs:5:18: 5:33
-          StorageDead(_3);                 // scope 0 at $DIR/array_index.rs:5:33: 5:34
-          StorageDead(_2);                 // scope 0 at $DIR/array_index.rs:5:33: 5:34
-          nop;                             // scope 0 at $DIR/array_index.rs:4:11: 6:2
-          StorageDead(_1);                 // scope 0 at $DIR/array_index.rs:6:1: 6:2
-          return;                          // scope 0 at $DIR/array_index.rs:6:2: 6:2
+-         _1 = _2[_3];                     // scope 0 at $DIR/array_index.rs:+1:18: +1:33
++         _1 = const 2_u32;                // scope 0 at $DIR/array_index.rs:+1:18: +1:33
+          StorageDead(_3);                 // scope 0 at $DIR/array_index.rs:+1:33: +1:34
+          StorageDead(_2);                 // scope 0 at $DIR/array_index.rs:+1:33: +1:34
+          nop;                             // scope 0 at $DIR/array_index.rs:+0:11: +2:2
+          StorageDead(_1);                 // scope 0 at $DIR/array_index.rs:+2:1: +2:2
+          return;                          // scope 0 at $DIR/array_index.rs:+2:2: +2:2
       }
   }
   
index e69f887cea8fa3bd0f8e450cbee36d909fad3bd6..bb9abdd10200dddc3e2796c021603162c1ce8ddf 100644 (file)
@@ -2,37 +2,37 @@
 + // MIR for `main` after ConstProp
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/array_index.rs:4:11: 4:11
-      let _1: u32;                         // in scope 0 at $DIR/array_index.rs:5:9: 5:10
-      let mut _2: [u32; 4];                // in scope 0 at $DIR/array_index.rs:5:18: 5:30
-      let _3: usize;                       // in scope 0 at $DIR/array_index.rs:5:31: 5:32
-      let mut _4: usize;                   // in scope 0 at $DIR/array_index.rs:5:18: 5:33
-      let mut _5: bool;                    // in scope 0 at $DIR/array_index.rs:5:18: 5:33
+      let mut _0: ();                      // return place in scope 0 at $DIR/array_index.rs:+0:11: +0:11
+      let _1: u32;                         // in scope 0 at $DIR/array_index.rs:+1:9: +1:10
+      let mut _2: [u32; 4];                // in scope 0 at $DIR/array_index.rs:+1:18: +1:30
+      let _3: usize;                       // in scope 0 at $DIR/array_index.rs:+1:31: +1:32
+      let mut _4: usize;                   // in scope 0 at $DIR/array_index.rs:+1:18: +1:33
+      let mut _5: bool;                    // in scope 0 at $DIR/array_index.rs:+1:18: +1:33
       scope 1 {
-          debug x => _1;                   // in scope 1 at $DIR/array_index.rs:5:9: 5:10
+          debug x => _1;                   // in scope 1 at $DIR/array_index.rs:+1:9: +1:10
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/array_index.rs:5:9: 5:10
-          StorageLive(_2);                 // scope 0 at $DIR/array_index.rs:5:18: 5:30
-          _2 = [const 0_u32, const 1_u32, const 2_u32, const 3_u32]; // scope 0 at $DIR/array_index.rs:5:18: 5:30
-          StorageLive(_3);                 // scope 0 at $DIR/array_index.rs:5:31: 5:32
-          _3 = const 2_usize;              // scope 0 at $DIR/array_index.rs:5:31: 5:32
-          _4 = const 4_usize;              // scope 0 at $DIR/array_index.rs:5:18: 5:33
--         _5 = Lt(_3, _4);                 // scope 0 at $DIR/array_index.rs:5:18: 5:33
--         assert(move _5, "index out of bounds: the length is {} but the index is {}", move _4, _3) -> bb1; // scope 0 at $DIR/array_index.rs:5:18: 5:33
-+         _5 = const true;                 // scope 0 at $DIR/array_index.rs:5:18: 5:33
-+         assert(const true, "index out of bounds: the length is {} but the index is {}", const 4_usize, const 2_usize) -> bb1; // scope 0 at $DIR/array_index.rs:5:18: 5:33
+          StorageLive(_1);                 // scope 0 at $DIR/array_index.rs:+1:9: +1:10
+          StorageLive(_2);                 // scope 0 at $DIR/array_index.rs:+1:18: +1:30
+          _2 = [const 0_u32, const 1_u32, const 2_u32, const 3_u32]; // scope 0 at $DIR/array_index.rs:+1:18: +1:30
+          StorageLive(_3);                 // scope 0 at $DIR/array_index.rs:+1:31: +1:32
+          _3 = const 2_usize;              // scope 0 at $DIR/array_index.rs:+1:31: +1:32
+          _4 = const 4_usize;              // scope 0 at $DIR/array_index.rs:+1:18: +1:33
+-         _5 = Lt(_3, _4);                 // scope 0 at $DIR/array_index.rs:+1:18: +1:33
+-         assert(move _5, "index out of bounds: the length is {} but the index is {}", move _4, _3) -> bb1; // scope 0 at $DIR/array_index.rs:+1:18: +1:33
++         _5 = const true;                 // scope 0 at $DIR/array_index.rs:+1:18: +1:33
++         assert(const true, "index out of bounds: the length is {} but the index is {}", const 4_usize, const 2_usize) -> bb1; // scope 0 at $DIR/array_index.rs:+1:18: +1:33
       }
   
       bb1: {
--         _1 = _2[_3];                     // scope 0 at $DIR/array_index.rs:5:18: 5:33
-+         _1 = const 2_u32;                // scope 0 at $DIR/array_index.rs:5:18: 5:33
-          StorageDead(_3);                 // scope 0 at $DIR/array_index.rs:5:33: 5:34
-          StorageDead(_2);                 // scope 0 at $DIR/array_index.rs:5:33: 5:34
-          nop;                             // scope 0 at $DIR/array_index.rs:4:11: 6:2
-          StorageDead(_1);                 // scope 0 at $DIR/array_index.rs:6:1: 6:2
-          return;                          // scope 0 at $DIR/array_index.rs:6:2: 6:2
+-         _1 = _2[_3];                     // scope 0 at $DIR/array_index.rs:+1:18: +1:33
++         _1 = const 2_u32;                // scope 0 at $DIR/array_index.rs:+1:18: +1:33
+          StorageDead(_3);                 // scope 0 at $DIR/array_index.rs:+1:33: +1:34
+          StorageDead(_2);                 // scope 0 at $DIR/array_index.rs:+1:33: +1:34
+          nop;                             // scope 0 at $DIR/array_index.rs:+0:11: +2:2
+          StorageDead(_1);                 // scope 0 at $DIR/array_index.rs:+2:1: +2:2
+          return;                          // scope 0 at $DIR/array_index.rs:+2:2: +2:2
       }
   }
   
index 8d4852e3727e00c47da6b995de332f8aa24729b1..45134a3fdff3cfe6785fb76189c2eaa91eb8380c 100644 (file)
@@ -2,53 +2,53 @@
 + // MIR for `main` after ConstProp
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/bad_op_div_by_zero.rs:3:11: 3:11
-      let _1: i32;                         // in scope 0 at $DIR/bad_op_div_by_zero.rs:4:9: 4:10
-      let mut _3: i32;                     // in scope 0 at $DIR/bad_op_div_by_zero.rs:5:18: 5:19
-      let mut _4: bool;                    // in scope 0 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19
-      let mut _5: bool;                    // in scope 0 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19
-      let mut _6: bool;                    // in scope 0 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19
-      let mut _7: bool;                    // in scope 0 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19
+      let mut _0: ();                      // return place in scope 0 at $DIR/bad_op_div_by_zero.rs:+0:11: +0:11
+      let _1: i32;                         // in scope 0 at $DIR/bad_op_div_by_zero.rs:+1:9: +1:10
+      let mut _3: i32;                     // in scope 0 at $DIR/bad_op_div_by_zero.rs:+2:18: +2:19
+      let mut _4: bool;                    // in scope 0 at $DIR/bad_op_div_by_zero.rs:+2:14: +2:19
+      let mut _5: bool;                    // in scope 0 at $DIR/bad_op_div_by_zero.rs:+2:14: +2:19
+      let mut _6: bool;                    // in scope 0 at $DIR/bad_op_div_by_zero.rs:+2:14: +2:19
+      let mut _7: bool;                    // in scope 0 at $DIR/bad_op_div_by_zero.rs:+2:14: +2:19
       scope 1 {
-          debug y => _1;                   // in scope 1 at $DIR/bad_op_div_by_zero.rs:4:9: 4:10
-          let _2: i32;                     // in scope 1 at $DIR/bad_op_div_by_zero.rs:5:9: 5:11
+          debug y => _1;                   // in scope 1 at $DIR/bad_op_div_by_zero.rs:+1:9: +1:10
+          let _2: i32;                     // in scope 1 at $DIR/bad_op_div_by_zero.rs:+2:9: +2:11
           scope 2 {
-              debug _z => _2;              // in scope 2 at $DIR/bad_op_div_by_zero.rs:5:9: 5:11
+              debug _z => _2;              // in scope 2 at $DIR/bad_op_div_by_zero.rs:+2:9: +2:11
           }
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/bad_op_div_by_zero.rs:4:9: 4:10
-          _1 = const 0_i32;                // scope 0 at $DIR/bad_op_div_by_zero.rs:4:13: 4:14
-          StorageLive(_2);                 // scope 1 at $DIR/bad_op_div_by_zero.rs:5:9: 5:11
-          StorageLive(_3);                 // scope 1 at $DIR/bad_op_div_by_zero.rs:5:18: 5:19
--         _3 = _1;                         // scope 1 at $DIR/bad_op_div_by_zero.rs:5:18: 5:19
--         _4 = Eq(_3, const 0_i32);        // scope 1 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19
--         assert(!move _4, "attempt to divide `{}` by zero", const 1_i32) -> bb1; // scope 1 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19
-+         _3 = const 0_i32;                // scope 1 at $DIR/bad_op_div_by_zero.rs:5:18: 5:19
-+         _4 = const true;                 // scope 1 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19
-+         assert(!const true, "attempt to divide `{}` by zero", const 1_i32) -> bb1; // scope 1 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19
+          StorageLive(_1);                 // scope 0 at $DIR/bad_op_div_by_zero.rs:+1:9: +1:10
+          _1 = const 0_i32;                // scope 0 at $DIR/bad_op_div_by_zero.rs:+1:13: +1:14
+          StorageLive(_2);                 // scope 1 at $DIR/bad_op_div_by_zero.rs:+2:9: +2:11
+          StorageLive(_3);                 // scope 1 at $DIR/bad_op_div_by_zero.rs:+2:18: +2:19
+-         _3 = _1;                         // scope 1 at $DIR/bad_op_div_by_zero.rs:+2:18: +2:19
+-         _4 = Eq(_3, const 0_i32);        // scope 1 at $DIR/bad_op_div_by_zero.rs:+2:14: +2:19
+-         assert(!move _4, "attempt to divide `{}` by zero", const 1_i32) -> bb1; // scope 1 at $DIR/bad_op_div_by_zero.rs:+2:14: +2:19
++         _3 = const 0_i32;                // scope 1 at $DIR/bad_op_div_by_zero.rs:+2:18: +2:19
++         _4 = const true;                 // scope 1 at $DIR/bad_op_div_by_zero.rs:+2:14: +2:19
++         assert(!const true, "attempt to divide `{}` by zero", const 1_i32) -> bb1; // scope 1 at $DIR/bad_op_div_by_zero.rs:+2:14: +2:19
       }
   
       bb1: {
--         _5 = Eq(_3, const -1_i32);       // scope 1 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19
--         _6 = Eq(const 1_i32, const i32::MIN); // scope 1 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19
--         _7 = BitAnd(move _5, move _6);   // scope 1 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19
--         assert(!move _7, "attempt to compute `{} / {}`, which would overflow", const 1_i32, _3) -> bb2; // scope 1 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19
-+         _5 = const false;                // scope 1 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19
-+         _6 = const false;                // scope 1 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19
-+         _7 = const false;                // scope 1 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19
-+         assert(!const false, "attempt to compute `{} / {}`, which would overflow", const 1_i32, const 0_i32) -> bb2; // scope 1 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19
+-         _5 = Eq(_3, const -1_i32);       // scope 1 at $DIR/bad_op_div_by_zero.rs:+2:14: +2:19
+-         _6 = Eq(const 1_i32, const i32::MIN); // scope 1 at $DIR/bad_op_div_by_zero.rs:+2:14: +2:19
+-         _7 = BitAnd(move _5, move _6);   // scope 1 at $DIR/bad_op_div_by_zero.rs:+2:14: +2:19
+-         assert(!move _7, "attempt to compute `{} / {}`, which would overflow", const 1_i32, _3) -> bb2; // scope 1 at $DIR/bad_op_div_by_zero.rs:+2:14: +2:19
++         _5 = const false;                // scope 1 at $DIR/bad_op_div_by_zero.rs:+2:14: +2:19
++         _6 = const false;                // scope 1 at $DIR/bad_op_div_by_zero.rs:+2:14: +2:19
++         _7 = const false;                // scope 1 at $DIR/bad_op_div_by_zero.rs:+2:14: +2:19
++         assert(!const false, "attempt to compute `{} / {}`, which would overflow", const 1_i32, const 0_i32) -> bb2; // scope 1 at $DIR/bad_op_div_by_zero.rs:+2:14: +2:19
       }
   
       bb2: {
--         _2 = Div(const 1_i32, move _3);  // scope 1 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19
-+         _2 = Div(const 1_i32, const 0_i32); // scope 1 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19
-          StorageDead(_3);                 // scope 1 at $DIR/bad_op_div_by_zero.rs:5:18: 5:19
-          nop;                             // scope 0 at $DIR/bad_op_div_by_zero.rs:3:11: 6:2
-          StorageDead(_2);                 // scope 1 at $DIR/bad_op_div_by_zero.rs:6:1: 6:2
-          StorageDead(_1);                 // scope 0 at $DIR/bad_op_div_by_zero.rs:6:1: 6:2
-          return;                          // scope 0 at $DIR/bad_op_div_by_zero.rs:6:2: 6:2
+-         _2 = Div(const 1_i32, move _3);  // scope 1 at $DIR/bad_op_div_by_zero.rs:+2:14: +2:19
++         _2 = Div(const 1_i32, const 0_i32); // scope 1 at $DIR/bad_op_div_by_zero.rs:+2:14: +2:19
+          StorageDead(_3);                 // scope 1 at $DIR/bad_op_div_by_zero.rs:+2:18: +2:19
+          nop;                             // scope 0 at $DIR/bad_op_div_by_zero.rs:+0:11: +3:2
+          StorageDead(_2);                 // scope 1 at $DIR/bad_op_div_by_zero.rs:+3:1: +3:2
+          StorageDead(_1);                 // scope 0 at $DIR/bad_op_div_by_zero.rs:+3:1: +3:2
+          return;                          // scope 0 at $DIR/bad_op_div_by_zero.rs:+3:2: +3:2
       }
   }
   
index ae1fa64e745b415d8aed57d1c1c49152b8b21f38..22151304259bc674321c53a529201648cb5abc3b 100644 (file)
@@ -2,53 +2,53 @@
 + // MIR for `main` after ConstProp
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/bad_op_mod_by_zero.rs:3:11: 3:11
-      let _1: i32;                         // in scope 0 at $DIR/bad_op_mod_by_zero.rs:4:9: 4:10
-      let mut _3: i32;                     // in scope 0 at $DIR/bad_op_mod_by_zero.rs:5:18: 5:19
-      let mut _4: bool;                    // in scope 0 at $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
-      let mut _5: bool;                    // in scope 0 at $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
-      let mut _6: bool;                    // in scope 0 at $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
-      let mut _7: bool;                    // in scope 0 at $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
+      let mut _0: ();                      // return place in scope 0 at $DIR/bad_op_mod_by_zero.rs:+0:11: +0:11
+      let _1: i32;                         // in scope 0 at $DIR/bad_op_mod_by_zero.rs:+1:9: +1:10
+      let mut _3: i32;                     // in scope 0 at $DIR/bad_op_mod_by_zero.rs:+2:18: +2:19
+      let mut _4: bool;                    // in scope 0 at $DIR/bad_op_mod_by_zero.rs:+2:14: +2:19
+      let mut _5: bool;                    // in scope 0 at $DIR/bad_op_mod_by_zero.rs:+2:14: +2:19
+      let mut _6: bool;                    // in scope 0 at $DIR/bad_op_mod_by_zero.rs:+2:14: +2:19
+      let mut _7: bool;                    // in scope 0 at $DIR/bad_op_mod_by_zero.rs:+2:14: +2:19
       scope 1 {
-          debug y => _1;                   // in scope 1 at $DIR/bad_op_mod_by_zero.rs:4:9: 4:10
-          let _2: i32;                     // in scope 1 at $DIR/bad_op_mod_by_zero.rs:5:9: 5:11
+          debug y => _1;                   // in scope 1 at $DIR/bad_op_mod_by_zero.rs:+1:9: +1:10
+          let _2: i32;                     // in scope 1 at $DIR/bad_op_mod_by_zero.rs:+2:9: +2:11
           scope 2 {
-              debug _z => _2;              // in scope 2 at $DIR/bad_op_mod_by_zero.rs:5:9: 5:11
+              debug _z => _2;              // in scope 2 at $DIR/bad_op_mod_by_zero.rs:+2:9: +2:11
           }
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/bad_op_mod_by_zero.rs:4:9: 4:10
-          _1 = const 0_i32;                // scope 0 at $DIR/bad_op_mod_by_zero.rs:4:13: 4:14
-          StorageLive(_2);                 // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:9: 5:11
-          StorageLive(_3);                 // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:18: 5:19
--         _3 = _1;                         // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:18: 5:19
--         _4 = Eq(_3, const 0_i32);        // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
--         assert(!move _4, "attempt to calculate the remainder of `{}` with a divisor of zero", const 1_i32) -> bb1; // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
-+         _3 = const 0_i32;                // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:18: 5:19
-+         _4 = const true;                 // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
-+         assert(!const true, "attempt to calculate the remainder of `{}` with a divisor of zero", const 1_i32) -> bb1; // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
+          StorageLive(_1);                 // scope 0 at $DIR/bad_op_mod_by_zero.rs:+1:9: +1:10
+          _1 = const 0_i32;                // scope 0 at $DIR/bad_op_mod_by_zero.rs:+1:13: +1:14
+          StorageLive(_2);                 // scope 1 at $DIR/bad_op_mod_by_zero.rs:+2:9: +2:11
+          StorageLive(_3);                 // scope 1 at $DIR/bad_op_mod_by_zero.rs:+2:18: +2:19
+-         _3 = _1;                         // scope 1 at $DIR/bad_op_mod_by_zero.rs:+2:18: +2:19
+-         _4 = Eq(_3, const 0_i32);        // scope 1 at $DIR/bad_op_mod_by_zero.rs:+2:14: +2:19
+-         assert(!move _4, "attempt to calculate the remainder of `{}` with a divisor of zero", const 1_i32) -> bb1; // scope 1 at $DIR/bad_op_mod_by_zero.rs:+2:14: +2:19
++         _3 = const 0_i32;                // scope 1 at $DIR/bad_op_mod_by_zero.rs:+2:18: +2:19
++         _4 = const true;                 // scope 1 at $DIR/bad_op_mod_by_zero.rs:+2:14: +2:19
++         assert(!const true, "attempt to calculate the remainder of `{}` with a divisor of zero", const 1_i32) -> bb1; // scope 1 at $DIR/bad_op_mod_by_zero.rs:+2:14: +2:19
       }
   
       bb1: {
--         _5 = Eq(_3, const -1_i32);       // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
--         _6 = Eq(const 1_i32, const i32::MIN); // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
--         _7 = BitAnd(move _5, move _6);   // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
--         assert(!move _7, "attempt to compute the remainder of `{} % {}`, which would overflow", const 1_i32, _3) -> bb2; // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
-+         _5 = const false;                // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
-+         _6 = const false;                // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
-+         _7 = const false;                // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
-+         assert(!const false, "attempt to compute the remainder of `{} % {}`, which would overflow", const 1_i32, const 0_i32) -> bb2; // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
+-         _5 = Eq(_3, const -1_i32);       // scope 1 at $DIR/bad_op_mod_by_zero.rs:+2:14: +2:19
+-         _6 = Eq(const 1_i32, const i32::MIN); // scope 1 at $DIR/bad_op_mod_by_zero.rs:+2:14: +2:19
+-         _7 = BitAnd(move _5, move _6);   // scope 1 at $DIR/bad_op_mod_by_zero.rs:+2:14: +2:19
+-         assert(!move _7, "attempt to compute the remainder of `{} % {}`, which would overflow", const 1_i32, _3) -> bb2; // scope 1 at $DIR/bad_op_mod_by_zero.rs:+2:14: +2:19
++         _5 = const false;                // scope 1 at $DIR/bad_op_mod_by_zero.rs:+2:14: +2:19
++         _6 = const false;                // scope 1 at $DIR/bad_op_mod_by_zero.rs:+2:14: +2:19
++         _7 = const false;                // scope 1 at $DIR/bad_op_mod_by_zero.rs:+2:14: +2:19
++         assert(!const false, "attempt to compute the remainder of `{} % {}`, which would overflow", const 1_i32, const 0_i32) -> bb2; // scope 1 at $DIR/bad_op_mod_by_zero.rs:+2:14: +2:19
       }
   
       bb2: {
--         _2 = Rem(const 1_i32, move _3);  // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
-+         _2 = Rem(const 1_i32, const 0_i32); // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
-          StorageDead(_3);                 // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:18: 5:19
-          nop;                             // scope 0 at $DIR/bad_op_mod_by_zero.rs:3:11: 6:2
-          StorageDead(_2);                 // scope 1 at $DIR/bad_op_mod_by_zero.rs:6:1: 6:2
-          StorageDead(_1);                 // scope 0 at $DIR/bad_op_mod_by_zero.rs:6:1: 6:2
-          return;                          // scope 0 at $DIR/bad_op_mod_by_zero.rs:6:2: 6:2
+-         _2 = Rem(const 1_i32, move _3);  // scope 1 at $DIR/bad_op_mod_by_zero.rs:+2:14: +2:19
++         _2 = Rem(const 1_i32, const 0_i32); // scope 1 at $DIR/bad_op_mod_by_zero.rs:+2:14: +2:19
+          StorageDead(_3);                 // scope 1 at $DIR/bad_op_mod_by_zero.rs:+2:18: +2:19
+          nop;                             // scope 0 at $DIR/bad_op_mod_by_zero.rs:+0:11: +3:2
+          StorageDead(_2);                 // scope 1 at $DIR/bad_op_mod_by_zero.rs:+3:1: +3:2
+          StorageDead(_1);                 // scope 0 at $DIR/bad_op_mod_by_zero.rs:+3:1: +3:2
+          return;                          // scope 0 at $DIR/bad_op_mod_by_zero.rs:+3:2: +3:2
       }
   }
   
index cda6e751c8ef5dd9cc97e93f106e79ca04866a64..55348883810f3344c04a6fc0b680d60d4f0ceed7 100644 (file)
@@ -2,55 +2,55 @@
 + // MIR for `main` after ConstProp
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:4:11: 4:11
-      let _1: *const [i32];                // in scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:5:9: 5:10
-      let mut _2: *const [i32; 3];         // in scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:5:25: 5:35
-      let _3: &[i32; 3];                   // in scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:5:25: 5:35
-      let _4: [i32; 3];                    // in scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:5:26: 5:35
-      let _6: usize;                       // in scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:23: 7:24
-      let mut _7: usize;                   // in scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:18: 7:25
-      let mut _8: bool;                    // in scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:18: 7:25
-      let mut _9: &[i32; 3];               // in scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:5:25: 5:35
+      let mut _0: ();                      // return place in scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:+0:11: +0:11
+      let _1: *const [i32];                // in scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:+1:9: +1:10
+      let mut _2: *const [i32; 3];         // in scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:+1:25: +1:35
+      let _3: &[i32; 3];                   // in scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:+1:25: +1:35
+      let _4: [i32; 3];                    // in scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:+1:26: +1:35
+      let _6: usize;                       // in scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:+3:23: +3:24
+      let mut _7: usize;                   // in scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:+3:18: +3:25
+      let mut _8: bool;                    // in scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:+3:18: +3:25
+      let mut _9: &[i32; 3];               // in scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:+1:25: +1:35
       scope 1 {
-          debug a => _1;                   // in scope 1 at $DIR/bad_op_unsafe_oob_for_slices.rs:5:9: 5:10
+          debug a => _1;                   // in scope 1 at $DIR/bad_op_unsafe_oob_for_slices.rs:+1:9: +1:10
           scope 2 {
-              let _5: i32;                 // in scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:13: 7:15
+              let _5: i32;                 // in scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:+3:13: +3:15
               scope 3 {
-                  debug _b => _5;          // in scope 3 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:13: 7:15
+                  debug _b => _5;          // in scope 3 at $DIR/bad_op_unsafe_oob_for_slices.rs:+3:13: +3:15
               }
           }
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:5:9: 5:10
-          StorageLive(_2);                 // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:5:25: 5:35
-          StorageLive(_3);                 // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:5:25: 5:35
-          _9 = const main::promoted[0];    // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:5:25: 5:35
+          StorageLive(_1);                 // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:+1:9: +1:10
+          StorageLive(_2);                 // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:+1:25: +1:35
+          StorageLive(_3);                 // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:+1:25: +1:35
+          _9 = const main::promoted[0];    // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:+1:25: +1:35
                                            // mir::Constant
                                            // + span: $DIR/bad_op_unsafe_oob_for_slices.rs:5:25: 5:35
                                            // + literal: Const { ty: &[i32; 3], val: Unevaluated(main, [], Some(promoted[0])) }
-          _3 = _9;                         // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:5:25: 5:35
-          _2 = &raw const (*_3);           // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:5:25: 5:35
-          _1 = move _2 as *const [i32] (Pointer(Unsize)); // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:5:25: 5:35
-          StorageDead(_2);                 // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:5:34: 5:35
-          StorageDead(_3);                 // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:5:35: 5:36
-          StorageLive(_5);                 // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:13: 7:15
-          StorageLive(_6);                 // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:23: 7:24
-          _6 = const 3_usize;              // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:23: 7:24
-          _7 = Len((*_1));                 // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:18: 7:25
--         _8 = Lt(_6, _7);                 // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:18: 7:25
--         assert(move _8, "index out of bounds: the length is {} but the index is {}", move _7, _6) -> bb1; // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:18: 7:25
-+         _8 = Lt(const 3_usize, _7);      // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:18: 7:25
-+         assert(move _8, "index out of bounds: the length is {} but the index is {}", move _7, const 3_usize) -> bb1; // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:18: 7:25
+          _3 = _9;                         // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:+1:25: +1:35
+          _2 = &raw const (*_3);           // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:+1:25: +1:35
+          _1 = move _2 as *const [i32] (Pointer(Unsize)); // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:+1:25: +1:35
+          StorageDead(_2);                 // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:+1:34: +1:35
+          StorageDead(_3);                 // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:+1:35: +1:36
+          StorageLive(_5);                 // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:+3:13: +3:15
+          StorageLive(_6);                 // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:+3:23: +3:24
+          _6 = const 3_usize;              // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:+3:23: +3:24
+          _7 = Len((*_1));                 // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:+3:18: +3:25
+-         _8 = Lt(_6, _7);                 // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:+3:18: +3:25
+-         assert(move _8, "index out of bounds: the length is {} but the index is {}", move _7, _6) -> bb1; // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:+3:18: +3:25
++         _8 = Lt(const 3_usize, _7);      // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:+3:18: +3:25
++         assert(move _8, "index out of bounds: the length is {} but the index is {}", move _7, const 3_usize) -> bb1; // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:+3:18: +3:25
       }
   
       bb1: {
-          _5 = (*_1)[_6];                  // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:18: 7:25
-          StorageDead(_6);                 // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:25: 7:26
-          nop;                             // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:6:5: 8:6
-          StorageDead(_5);                 // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:8:5: 8:6
-          StorageDead(_1);                 // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:9:1: 9:2
-          return;                          // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:9:2: 9:2
+          _5 = (*_1)[_6];                  // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:+3:18: +3:25
+          StorageDead(_6);                 // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:+3:25: +3:26
+          nop;                             // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:+2:5: +4:6
+          StorageDead(_5);                 // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:+4:5: +4:6
+          StorageDead(_1);                 // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:+5:1: +5:2
+          return;                          // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:+5:2: +5:2
       }
   }
   
index cda6e751c8ef5dd9cc97e93f106e79ca04866a64..55348883810f3344c04a6fc0b680d60d4f0ceed7 100644 (file)
@@ -2,55 +2,55 @@
 + // MIR for `main` after ConstProp
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:4:11: 4:11
-      let _1: *const [i32];                // in scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:5:9: 5:10
-      let mut _2: *const [i32; 3];         // in scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:5:25: 5:35
-      let _3: &[i32; 3];                   // in scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:5:25: 5:35
-      let _4: [i32; 3];                    // in scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:5:26: 5:35
-      let _6: usize;                       // in scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:23: 7:24
-      let mut _7: usize;                   // in scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:18: 7:25
-      let mut _8: bool;                    // in scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:18: 7:25
-      let mut _9: &[i32; 3];               // in scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:5:25: 5:35
+      let mut _0: ();                      // return place in scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:+0:11: +0:11
+      let _1: *const [i32];                // in scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:+1:9: +1:10
+      let mut _2: *const [i32; 3];         // in scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:+1:25: +1:35
+      let _3: &[i32; 3];                   // in scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:+1:25: +1:35
+      let _4: [i32; 3];                    // in scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:+1:26: +1:35
+      let _6: usize;                       // in scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:+3:23: +3:24
+      let mut _7: usize;                   // in scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:+3:18: +3:25
+      let mut _8: bool;                    // in scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:+3:18: +3:25
+      let mut _9: &[i32; 3];               // in scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:+1:25: +1:35
       scope 1 {
-          debug a => _1;                   // in scope 1 at $DIR/bad_op_unsafe_oob_for_slices.rs:5:9: 5:10
+          debug a => _1;                   // in scope 1 at $DIR/bad_op_unsafe_oob_for_slices.rs:+1:9: +1:10
           scope 2 {
-              let _5: i32;                 // in scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:13: 7:15
+              let _5: i32;                 // in scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:+3:13: +3:15
               scope 3 {
-                  debug _b => _5;          // in scope 3 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:13: 7:15
+                  debug _b => _5;          // in scope 3 at $DIR/bad_op_unsafe_oob_for_slices.rs:+3:13: +3:15
               }
           }
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:5:9: 5:10
-          StorageLive(_2);                 // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:5:25: 5:35
-          StorageLive(_3);                 // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:5:25: 5:35
-          _9 = const main::promoted[0];    // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:5:25: 5:35
+          StorageLive(_1);                 // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:+1:9: +1:10
+          StorageLive(_2);                 // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:+1:25: +1:35
+          StorageLive(_3);                 // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:+1:25: +1:35
+          _9 = const main::promoted[0];    // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:+1:25: +1:35
                                            // mir::Constant
                                            // + span: $DIR/bad_op_unsafe_oob_for_slices.rs:5:25: 5:35
                                            // + literal: Const { ty: &[i32; 3], val: Unevaluated(main, [], Some(promoted[0])) }
-          _3 = _9;                         // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:5:25: 5:35
-          _2 = &raw const (*_3);           // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:5:25: 5:35
-          _1 = move _2 as *const [i32] (Pointer(Unsize)); // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:5:25: 5:35
-          StorageDead(_2);                 // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:5:34: 5:35
-          StorageDead(_3);                 // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:5:35: 5:36
-          StorageLive(_5);                 // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:13: 7:15
-          StorageLive(_6);                 // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:23: 7:24
-          _6 = const 3_usize;              // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:23: 7:24
-          _7 = Len((*_1));                 // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:18: 7:25
--         _8 = Lt(_6, _7);                 // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:18: 7:25
--         assert(move _8, "index out of bounds: the length is {} but the index is {}", move _7, _6) -> bb1; // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:18: 7:25
-+         _8 = Lt(const 3_usize, _7);      // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:18: 7:25
-+         assert(move _8, "index out of bounds: the length is {} but the index is {}", move _7, const 3_usize) -> bb1; // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:18: 7:25
+          _3 = _9;                         // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:+1:25: +1:35
+          _2 = &raw const (*_3);           // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:+1:25: +1:35
+          _1 = move _2 as *const [i32] (Pointer(Unsize)); // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:+1:25: +1:35
+          StorageDead(_2);                 // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:+1:34: +1:35
+          StorageDead(_3);                 // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:+1:35: +1:36
+          StorageLive(_5);                 // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:+3:13: +3:15
+          StorageLive(_6);                 // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:+3:23: +3:24
+          _6 = const 3_usize;              // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:+3:23: +3:24
+          _7 = Len((*_1));                 // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:+3:18: +3:25
+-         _8 = Lt(_6, _7);                 // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:+3:18: +3:25
+-         assert(move _8, "index out of bounds: the length is {} but the index is {}", move _7, _6) -> bb1; // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:+3:18: +3:25
++         _8 = Lt(const 3_usize, _7);      // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:+3:18: +3:25
++         assert(move _8, "index out of bounds: the length is {} but the index is {}", move _7, const 3_usize) -> bb1; // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:+3:18: +3:25
       }
   
       bb1: {
-          _5 = (*_1)[_6];                  // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:18: 7:25
-          StorageDead(_6);                 // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:25: 7:26
-          nop;                             // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:6:5: 8:6
-          StorageDead(_5);                 // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:8:5: 8:6
-          StorageDead(_1);                 // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:9:1: 9:2
-          return;                          // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:9:2: 9:2
+          _5 = (*_1)[_6];                  // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:+3:18: +3:25
+          StorageDead(_6);                 // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:+3:25: +3:26
+          nop;                             // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:+2:5: +4:6
+          StorageDead(_5);                 // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:+4:5: +4:6
+          StorageDead(_1);                 // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:+5:1: +5:2
+          return;                          // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:+5:2: +5:2
       }
   }
   
index 8a6d16a3a15c17cb8eb928c5e14d7b1483aa54c3..0de800917534a4492ffc9c886036880d1dd99659 100644 (file)
@@ -2,32 +2,32 @@
 + // MIR for `test` after ConstProp
   
   fn test(_1: bool, _2: bool) -> bool {
-      debug x => _1;                       // in scope 0 at $DIR/boolean_identities.rs:4:13: 4:14
-      debug y => _2;                       // in scope 0 at $DIR/boolean_identities.rs:4:22: 4:23
-      let mut _0: bool;                    // return place in scope 0 at $DIR/boolean_identities.rs:4:34: 4:38
-      let mut _3: bool;                    // in scope 0 at $DIR/boolean_identities.rs:5:5: 5:15
-      let mut _4: bool;                    // in scope 0 at $DIR/boolean_identities.rs:5:6: 5:7
-      let mut _5: bool;                    // in scope 0 at $DIR/boolean_identities.rs:5:18: 5:29
-      let mut _6: bool;                    // in scope 0 at $DIR/boolean_identities.rs:5:19: 5:20
+      debug x => _1;                       // in scope 0 at $DIR/boolean_identities.rs:+0:13: +0:14
+      debug y => _2;                       // in scope 0 at $DIR/boolean_identities.rs:+0:22: +0:23
+      let mut _0: bool;                    // return place in scope 0 at $DIR/boolean_identities.rs:+0:34: +0:38
+      let mut _3: bool;                    // in scope 0 at $DIR/boolean_identities.rs:+1:5: +1:15
+      let mut _4: bool;                    // in scope 0 at $DIR/boolean_identities.rs:+1:6: +1:7
+      let mut _5: bool;                    // in scope 0 at $DIR/boolean_identities.rs:+1:18: +1:29
+      let mut _6: bool;                    // in scope 0 at $DIR/boolean_identities.rs:+1:19: +1:20
   
       bb0: {
-          StorageLive(_3);                 // scope 0 at $DIR/boolean_identities.rs:5:5: 5:15
-          StorageLive(_4);                 // scope 0 at $DIR/boolean_identities.rs:5:6: 5:7
-          _4 = _2;                         // scope 0 at $DIR/boolean_identities.rs:5:6: 5:7
--         _3 = BitOr(move _4, const true); // scope 0 at $DIR/boolean_identities.rs:5:5: 5:15
-+         _3 = const true;                 // scope 0 at $DIR/boolean_identities.rs:5:5: 5:15
-          StorageDead(_4);                 // scope 0 at $DIR/boolean_identities.rs:5:14: 5:15
-          StorageLive(_5);                 // scope 0 at $DIR/boolean_identities.rs:5:18: 5:29
-          StorageLive(_6);                 // scope 0 at $DIR/boolean_identities.rs:5:19: 5:20
-          _6 = _1;                         // scope 0 at $DIR/boolean_identities.rs:5:19: 5:20
--         _5 = BitAnd(move _6, const false); // scope 0 at $DIR/boolean_identities.rs:5:18: 5:29
-+         _5 = const false;                // scope 0 at $DIR/boolean_identities.rs:5:18: 5:29
-          StorageDead(_6);                 // scope 0 at $DIR/boolean_identities.rs:5:28: 5:29
--         _0 = BitAnd(move _3, move _5);   // scope 0 at $DIR/boolean_identities.rs:5:5: 5:29
-+         _0 = const false;                // scope 0 at $DIR/boolean_identities.rs:5:5: 5:29
-          StorageDead(_5);                 // scope 0 at $DIR/boolean_identities.rs:5:28: 5:29
-          StorageDead(_3);                 // scope 0 at $DIR/boolean_identities.rs:5:28: 5:29
-          return;                          // scope 0 at $DIR/boolean_identities.rs:6:2: 6:2
+          StorageLive(_3);                 // scope 0 at $DIR/boolean_identities.rs:+1:5: +1:15
+          StorageLive(_4);                 // scope 0 at $DIR/boolean_identities.rs:+1:6: +1:7
+          _4 = _2;                         // scope 0 at $DIR/boolean_identities.rs:+1:6: +1:7
+-         _3 = BitOr(move _4, const true); // scope 0 at $DIR/boolean_identities.rs:+1:5: +1:15
++         _3 = const true;                 // scope 0 at $DIR/boolean_identities.rs:+1:5: +1:15
+          StorageDead(_4);                 // scope 0 at $DIR/boolean_identities.rs:+1:14: +1:15
+          StorageLive(_5);                 // scope 0 at $DIR/boolean_identities.rs:+1:18: +1:29
+          StorageLive(_6);                 // scope 0 at $DIR/boolean_identities.rs:+1:19: +1:20
+          _6 = _1;                         // scope 0 at $DIR/boolean_identities.rs:+1:19: +1:20
+-         _5 = BitAnd(move _6, const false); // scope 0 at $DIR/boolean_identities.rs:+1:18: +1:29
++         _5 = const false;                // scope 0 at $DIR/boolean_identities.rs:+1:18: +1:29
+          StorageDead(_6);                 // scope 0 at $DIR/boolean_identities.rs:+1:28: +1:29
+-         _0 = BitAnd(move _3, move _5);   // scope 0 at $DIR/boolean_identities.rs:+1:5: +1:29
++         _0 = const false;                // scope 0 at $DIR/boolean_identities.rs:+1:5: +1:29
+          StorageDead(_5);                 // scope 0 at $DIR/boolean_identities.rs:+1:28: +1:29
+          StorageDead(_3);                 // scope 0 at $DIR/boolean_identities.rs:+1:28: +1:29
+          return;                          // scope 0 at $DIR/boolean_identities.rs:+2:2: +2:2
       }
   }
   
index 919b909435197d91e78fcf85013a6b5e0c5f1c8b..f2d4bee1bf94dabedba57ff9908e9d0feda87579 100644 (file)
@@ -2,66 +2,66 @@
 + // MIR for `main` after ConstProp
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/boxes.rs:11:11: 11:11
-      let _1: i32;                         // in scope 0 at $DIR/boxes.rs:12:9: 12:10
-      let mut _2: i32;                     // in scope 0 at $DIR/boxes.rs:12:13: 12:22
-      let mut _3: std::boxed::Box<i32>;    // in scope 0 at $DIR/boxes.rs:12:14: 12:22
-      let mut _4: usize;                   // in scope 0 at $DIR/boxes.rs:12:14: 12:22
-      let mut _5: usize;                   // in scope 0 at $DIR/boxes.rs:12:14: 12:22
-      let mut _6: *mut u8;                 // in scope 0 at $DIR/boxes.rs:12:14: 12:22
-      let mut _7: std::boxed::Box<i32>;    // in scope 0 at $DIR/boxes.rs:12:14: 12:22
-      let mut _8: *const i32;              // in scope 0 at $DIR/boxes.rs:12:14: 12:22
-      let mut _9: *const i32;              // in scope 0 at $DIR/boxes.rs:12:14: 12:22
-      let mut _10: *const i32;             // in scope 0 at $DIR/boxes.rs:12:14: 12:22
-      let mut _11: *const i32;             // in scope 0 at $DIR/boxes.rs:12:14: 12:22
+      let mut _0: ();                      // return place in scope 0 at $DIR/boxes.rs:+0:11: +0:11
+      let _1: i32;                         // in scope 0 at $DIR/boxes.rs:+1:9: +1:10
+      let mut _2: i32;                     // in scope 0 at $DIR/boxes.rs:+1:13: +1:22
+      let mut _3: std::boxed::Box<i32>;    // in scope 0 at $DIR/boxes.rs:+1:14: +1:22
+      let mut _4: usize;                   // in scope 0 at $DIR/boxes.rs:+1:14: +1:22
+      let mut _5: usize;                   // in scope 0 at $DIR/boxes.rs:+1:14: +1:22
+      let mut _6: *mut u8;                 // in scope 0 at $DIR/boxes.rs:+1:14: +1:22
+      let mut _7: std::boxed::Box<i32>;    // in scope 0 at $DIR/boxes.rs:+1:14: +1:22
+      let mut _8: *const i32;              // in scope 0 at $DIR/boxes.rs:+1:14: +1:22
+      let mut _9: *const i32;              // in scope 0 at $DIR/boxes.rs:+1:14: +1:22
+      let mut _10: *const i32;             // in scope 0 at $DIR/boxes.rs:+1:14: +1:22
+      let mut _11: *const i32;             // in scope 0 at $DIR/boxes.rs:+1:14: +1:22
       scope 1 {
-          debug x => _1;                   // in scope 1 at $DIR/boxes.rs:12:9: 12:10
+          debug x => _1;                   // in scope 1 at $DIR/boxes.rs:+1:9: +1:10
       }
       scope 2 {
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/boxes.rs:12:9: 12:10
-          StorageLive(_2);                 // scope 0 at $DIR/boxes.rs:12:13: 12:22
-          StorageLive(_3);                 // scope 0 at $DIR/boxes.rs:12:14: 12:22
--         _4 = SizeOf(i32);                // scope 2 at $DIR/boxes.rs:12:14: 12:22
--         _5 = AlignOf(i32);               // scope 2 at $DIR/boxes.rs:12:14: 12:22
--         _6 = alloc::alloc::exchange_malloc(move _4, move _5) -> bb1; // scope 2 at $DIR/boxes.rs:12:14: 12:22
-+         _4 = const 4_usize;              // scope 2 at $DIR/boxes.rs:12:14: 12:22
-+         _5 = const 4_usize;              // scope 2 at $DIR/boxes.rs:12:14: 12:22
-+         _6 = alloc::alloc::exchange_malloc(const 4_usize, const 4_usize) -> bb1; // scope 2 at $DIR/boxes.rs:12:14: 12:22
+          StorageLive(_1);                 // scope 0 at $DIR/boxes.rs:+1:9: +1:10
+          StorageLive(_2);                 // scope 0 at $DIR/boxes.rs:+1:13: +1:22
+          StorageLive(_3);                 // scope 0 at $DIR/boxes.rs:+1:14: +1:22
+-         _4 = SizeOf(i32);                // scope 2 at $DIR/boxes.rs:+1:14: +1:22
+-         _5 = AlignOf(i32);               // scope 2 at $DIR/boxes.rs:+1:14: +1:22
+-         _6 = alloc::alloc::exchange_malloc(move _4, move _5) -> bb1; // scope 2 at $DIR/boxes.rs:+1:14: +1:22
++         _4 = const 4_usize;              // scope 2 at $DIR/boxes.rs:+1:14: +1:22
++         _5 = const 4_usize;              // scope 2 at $DIR/boxes.rs:+1:14: +1:22
++         _6 = alloc::alloc::exchange_malloc(const 4_usize, const 4_usize) -> bb1; // scope 2 at $DIR/boxes.rs:+1:14: +1:22
                                            // mir::Constant
                                            // + span: $DIR/boxes.rs:12:14: 12:22
                                            // + literal: Const { ty: unsafe fn(usize, usize) -> *mut u8 {alloc::alloc::exchange_malloc}, val: Value(<ZST>) }
       }
   
       bb1: {
-          StorageLive(_7);                 // scope 0 at $DIR/boxes.rs:12:14: 12:22
-          _7 = ShallowInitBox(move _6, i32); // scope 0 at $DIR/boxes.rs:12:14: 12:22
-          StorageLive(_8);                 // scope 0 at $DIR/boxes.rs:12:19: 12:21
-          _8 = (((_7.0: std::ptr::Unique<i32>).0: std::ptr::NonNull<i32>).0: *const i32); // scope 0 at $DIR/boxes.rs:12:19: 12:21
-          (*_8) = const 42_i32;            // scope 0 at $DIR/boxes.rs:12:19: 12:21
-          StorageDead(_8);                 // scope 0 at $DIR/boxes.rs:12:14: 12:22
-          _3 = move _7;                    // scope 0 at $DIR/boxes.rs:12:14: 12:22
-          StorageDead(_7);                 // scope 0 at $DIR/boxes.rs:12:21: 12:22
-          StorageLive(_9);                 // scope 0 at $DIR/boxes.rs:12:13: 12:22
-          _9 = (((_3.0: std::ptr::Unique<i32>).0: std::ptr::NonNull<i32>).0: *const i32); // scope 0 at $DIR/boxes.rs:12:13: 12:22
-          _2 = (*_9);                      // scope 0 at $DIR/boxes.rs:12:13: 12:22
-          StorageDead(_9);                 // scope 0 at $DIR/boxes.rs:12:13: 12:26
-          _1 = Add(move _2, const 0_i32);  // scope 0 at $DIR/boxes.rs:12:13: 12:26
-          StorageDead(_2);                 // scope 0 at $DIR/boxes.rs:12:25: 12:26
-          drop(_3) -> [return: bb2, unwind: bb3]; // scope 0 at $DIR/boxes.rs:12:26: 12:27
+          StorageLive(_7);                 // scope 0 at $DIR/boxes.rs:+1:14: +1:22
+          _7 = ShallowInitBox(move _6, i32); // scope 0 at $DIR/boxes.rs:+1:14: +1:22
+          StorageLive(_8);                 // scope 0 at $DIR/boxes.rs:+1:19: +1:21
+          _8 = (((_7.0: std::ptr::Unique<i32>).0: std::ptr::NonNull<i32>).0: *const i32); // scope 0 at $DIR/boxes.rs:+1:19: +1:21
+          (*_8) = const 42_i32;            // scope 0 at $DIR/boxes.rs:+1:19: +1:21
+          StorageDead(_8);                 // scope 0 at $DIR/boxes.rs:+1:14: +1:22
+          _3 = move _7;                    // scope 0 at $DIR/boxes.rs:+1:14: +1:22
+          StorageDead(_7);                 // scope 0 at $DIR/boxes.rs:+1:21: +1:22
+          StorageLive(_9);                 // scope 0 at $DIR/boxes.rs:+1:13: +1:22
+          _9 = (((_3.0: std::ptr::Unique<i32>).0: std::ptr::NonNull<i32>).0: *const i32); // scope 0 at $DIR/boxes.rs:+1:13: +1:22
+          _2 = (*_9);                      // scope 0 at $DIR/boxes.rs:+1:13: +1:22
+          StorageDead(_9);                 // scope 0 at $DIR/boxes.rs:+1:13: +1:26
+          _1 = Add(move _2, const 0_i32);  // scope 0 at $DIR/boxes.rs:+1:13: +1:26
+          StorageDead(_2);                 // scope 0 at $DIR/boxes.rs:+1:25: +1:26
+          drop(_3) -> [return: bb2, unwind: bb3]; // scope 0 at $DIR/boxes.rs:+1:26: +1:27
       }
   
       bb2: {
-          StorageDead(_3);                 // scope 0 at $DIR/boxes.rs:12:26: 12:27
-          nop;                             // scope 0 at $DIR/boxes.rs:11:11: 13:2
-          StorageDead(_1);                 // scope 0 at $DIR/boxes.rs:13:1: 13:2
-          return;                          // scope 0 at $DIR/boxes.rs:13:2: 13:2
+          StorageDead(_3);                 // scope 0 at $DIR/boxes.rs:+1:26: +1:27
+          nop;                             // scope 0 at $DIR/boxes.rs:+0:11: +2:2
+          StorageDead(_1);                 // scope 0 at $DIR/boxes.rs:+2:1: +2:2
+          return;                          // scope 0 at $DIR/boxes.rs:+2:2: +2:2
       }
   
       bb3 (cleanup): {
-          resume;                          // scope 0 at $DIR/boxes.rs:11:1: 13:2
+          resume;                          // scope 0 at $DIR/boxes.rs:+0:1: +2:2
       }
   }
   
index 21326d8b1cf5752e5506052d7e402e6b417e7a65..5698a612fe2d2e78e139d485c0db56f63ca7c9ca 100644 (file)
@@ -2,27 +2,27 @@
 + // MIR for `main` after ConstProp
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/cast.rs:3:11: 3:11
-      let _1: u32;                         // in scope 0 at $DIR/cast.rs:4:9: 4:10
+      let mut _0: ();                      // return place in scope 0 at $DIR/cast.rs:+0:11: +0:11
+      let _1: u32;                         // in scope 0 at $DIR/cast.rs:+1:9: +1:10
       scope 1 {
-          debug x => _1;                   // in scope 1 at $DIR/cast.rs:4:9: 4:10
-          let _2: u8;                      // in scope 1 at $DIR/cast.rs:6:9: 6:10
+          debug x => _1;                   // in scope 1 at $DIR/cast.rs:+1:9: +1:10
+          let _2: u8;                      // in scope 1 at $DIR/cast.rs:+3:9: +3:10
           scope 2 {
-              debug y => _2;               // in scope 2 at $DIR/cast.rs:6:9: 6:10
+              debug y => _2;               // in scope 2 at $DIR/cast.rs:+3:9: +3:10
           }
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/cast.rs:4:9: 4:10
--         _1 = const 42_u8 as u32 (Misc);  // scope 0 at $DIR/cast.rs:4:13: 4:24
-+         _1 = const 42_u32;               // scope 0 at $DIR/cast.rs:4:13: 4:24
-          StorageLive(_2);                 // scope 1 at $DIR/cast.rs:6:9: 6:10
--         _2 = const 42_u32 as u8 (Misc);  // scope 1 at $DIR/cast.rs:6:13: 6:24
-+         _2 = const 42_u8;                // scope 1 at $DIR/cast.rs:6:13: 6:24
-          nop;                             // scope 0 at $DIR/cast.rs:3:11: 7:2
-          StorageDead(_2);                 // scope 1 at $DIR/cast.rs:7:1: 7:2
-          StorageDead(_1);                 // scope 0 at $DIR/cast.rs:7:1: 7:2
-          return;                          // scope 0 at $DIR/cast.rs:7:2: 7:2
+          StorageLive(_1);                 // scope 0 at $DIR/cast.rs:+1:9: +1:10
+-         _1 = const 42_u8 as u32 (Misc);  // scope 0 at $DIR/cast.rs:+1:13: +1:24
++         _1 = const 42_u32;               // scope 0 at $DIR/cast.rs:+1:13: +1:24
+          StorageLive(_2);                 // scope 1 at $DIR/cast.rs:+3:9: +3:10
+-         _2 = const 42_u32 as u8 (Misc);  // scope 1 at $DIR/cast.rs:+3:13: +3:24
++         _2 = const 42_u8;                // scope 1 at $DIR/cast.rs:+3:13: +3:24
+          nop;                             // scope 0 at $DIR/cast.rs:+0:11: +4:2
+          StorageDead(_2);                 // scope 1 at $DIR/cast.rs:+4:1: +4:2
+          StorageDead(_1);                 // scope 0 at $DIR/cast.rs:+4:1: +4:2
+          return;                          // scope 0 at $DIR/cast.rs:+4:2: +4:2
       }
   }
   
index 77ff8ef4e49528554280b86aac3334a30e090469..5e33d054207b0036fbb9c2f33f508af276337da8 100644 (file)
@@ -2,27 +2,27 @@
 + // MIR for `main` after ConstProp
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/checked_add.rs:4:11: 4:11
-      let _1: u32;                         // in scope 0 at $DIR/checked_add.rs:5:9: 5:10
-      let mut _2: (u32, bool);             // in scope 0 at $DIR/checked_add.rs:5:18: 5:23
+      let mut _0: ();                      // return place in scope 0 at $DIR/checked_add.rs:+0:11: +0:11
+      let _1: u32;                         // in scope 0 at $DIR/checked_add.rs:+1:9: +1:10
+      let mut _2: (u32, bool);             // in scope 0 at $DIR/checked_add.rs:+1:18: +1:23
       scope 1 {
-          debug x => _1;                   // in scope 1 at $DIR/checked_add.rs:5:9: 5:10
+          debug x => _1;                   // in scope 1 at $DIR/checked_add.rs:+1:9: +1:10
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/checked_add.rs:5:9: 5:10
--         _2 = CheckedAdd(const 1_u32, const 1_u32); // scope 0 at $DIR/checked_add.rs:5:18: 5:23
--         assert(!move (_2.1: bool), "attempt to compute `{} + {}`, which would overflow", const 1_u32, const 1_u32) -> bb1; // scope 0 at $DIR/checked_add.rs:5:18: 5:23
-+         _2 = const (2_u32, false);       // scope 0 at $DIR/checked_add.rs:5:18: 5:23
-+         assert(!const false, "attempt to compute `{} + {}`, which would overflow", const 1_u32, const 1_u32) -> bb1; // scope 0 at $DIR/checked_add.rs:5:18: 5:23
+          StorageLive(_1);                 // scope 0 at $DIR/checked_add.rs:+1:9: +1:10
+-         _2 = CheckedAdd(const 1_u32, const 1_u32); // scope 0 at $DIR/checked_add.rs:+1:18: +1:23
+-         assert(!move (_2.1: bool), "attempt to compute `{} + {}`, which would overflow", const 1_u32, const 1_u32) -> bb1; // scope 0 at $DIR/checked_add.rs:+1:18: +1:23
++         _2 = const (2_u32, false);       // scope 0 at $DIR/checked_add.rs:+1:18: +1:23
++         assert(!const false, "attempt to compute `{} + {}`, which would overflow", const 1_u32, const 1_u32) -> bb1; // scope 0 at $DIR/checked_add.rs:+1:18: +1:23
       }
   
       bb1: {
--         _1 = move (_2.0: u32);           // scope 0 at $DIR/checked_add.rs:5:18: 5:23
-+         _1 = const 2_u32;                // scope 0 at $DIR/checked_add.rs:5:18: 5:23
-          nop;                             // scope 0 at $DIR/checked_add.rs:4:11: 6:2
-          StorageDead(_1);                 // scope 0 at $DIR/checked_add.rs:6:1: 6:2
-          return;                          // scope 0 at $DIR/checked_add.rs:6:2: 6:2
+-         _1 = move (_2.0: u32);           // scope 0 at $DIR/checked_add.rs:+1:18: +1:23
++         _1 = const 2_u32;                // scope 0 at $DIR/checked_add.rs:+1:18: +1:23
+          nop;                             // scope 0 at $DIR/checked_add.rs:+0:11: +2:2
+          StorageDead(_1);                 // scope 0 at $DIR/checked_add.rs:+2:1: +2:2
+          return;                          // scope 0 at $DIR/checked_add.rs:+2:2: +2:2
       }
   }
   
index 852a2419f558dd3a64d29624321cc5108bb89274..c21b24591d88e8b388949e3942461b843b508897 100644 (file)
@@ -2,43 +2,43 @@
 + // MIR for `main` after ConstProp
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/const_prop_fails_gracefully.rs:5:11: 5:11
-      let _1: usize;                       // in scope 0 at $DIR/const_prop_fails_gracefully.rs:7:9: 7:10
-      let mut _2: *const i32;              // in scope 0 at $DIR/const_prop_fails_gracefully.rs:7:13: 7:30
-      let _3: &i32;                        // in scope 0 at $DIR/const_prop_fails_gracefully.rs:7:13: 7:16
-      let _4: ();                          // in scope 0 at $DIR/const_prop_fails_gracefully.rs:8:5: 8:12
-      let mut _5: usize;                   // in scope 0 at $DIR/const_prop_fails_gracefully.rs:8:10: 8:11
+      let mut _0: ();                      // return place in scope 0 at $DIR/const_prop_fails_gracefully.rs:+0:11: +0:11
+      let _1: usize;                       // in scope 0 at $DIR/const_prop_fails_gracefully.rs:+2:9: +2:10
+      let mut _2: *const i32;              // in scope 0 at $DIR/const_prop_fails_gracefully.rs:+2:13: +2:30
+      let _3: &i32;                        // in scope 0 at $DIR/const_prop_fails_gracefully.rs:+2:13: +2:16
+      let _4: ();                          // in scope 0 at $DIR/const_prop_fails_gracefully.rs:+3:5: +3:12
+      let mut _5: usize;                   // in scope 0 at $DIR/const_prop_fails_gracefully.rs:+3:10: +3:11
       scope 1 {
-          debug x => _1;                   // in scope 1 at $DIR/const_prop_fails_gracefully.rs:7:9: 7:10
+          debug x => _1;                   // in scope 1 at $DIR/const_prop_fails_gracefully.rs:+2:9: +2:10
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/const_prop_fails_gracefully.rs:7:9: 7:10
-          StorageLive(_2);                 // scope 0 at $DIR/const_prop_fails_gracefully.rs:7:13: 7:30
-          StorageLive(_3);                 // scope 0 at $DIR/const_prop_fails_gracefully.rs:7:13: 7:16
-          _3 = const FOO;                  // scope 0 at $DIR/const_prop_fails_gracefully.rs:7:13: 7:16
+          StorageLive(_1);                 // scope 0 at $DIR/const_prop_fails_gracefully.rs:+2:9: +2:10
+          StorageLive(_2);                 // scope 0 at $DIR/const_prop_fails_gracefully.rs:+2:13: +2:30
+          StorageLive(_3);                 // scope 0 at $DIR/const_prop_fails_gracefully.rs:+2:13: +2:16
+          _3 = const FOO;                  // scope 0 at $DIR/const_prop_fails_gracefully.rs:+2:13: +2:16
                                            // mir::Constant
                                            // + span: $DIR/const_prop_fails_gracefully.rs:7:13: 7:16
                                            // + literal: Const { ty: &i32, val: Unevaluated(FOO, [], None) }
-          _2 = &raw const (*_3);           // scope 0 at $DIR/const_prop_fails_gracefully.rs:7:13: 7:16
-          _1 = move _2 as usize (PointerExposeAddress); // scope 0 at $DIR/const_prop_fails_gracefully.rs:7:13: 7:39
-          StorageDead(_2);                 // scope 0 at $DIR/const_prop_fails_gracefully.rs:7:38: 7:39
-          StorageDead(_3);                 // scope 0 at $DIR/const_prop_fails_gracefully.rs:7:39: 7:40
-          StorageLive(_4);                 // scope 1 at $DIR/const_prop_fails_gracefully.rs:8:5: 8:12
-          StorageLive(_5);                 // scope 1 at $DIR/const_prop_fails_gracefully.rs:8:10: 8:11
-          _5 = _1;                         // scope 1 at $DIR/const_prop_fails_gracefully.rs:8:10: 8:11
-          _4 = read(move _5) -> bb1;       // scope 1 at $DIR/const_prop_fails_gracefully.rs:8:5: 8:12
+          _2 = &raw const (*_3);           // scope 0 at $DIR/const_prop_fails_gracefully.rs:+2:13: +2:16
+          _1 = move _2 as usize (PointerExposeAddress); // scope 0 at $DIR/const_prop_fails_gracefully.rs:+2:13: +2:39
+          StorageDead(_2);                 // scope 0 at $DIR/const_prop_fails_gracefully.rs:+2:38: +2:39
+          StorageDead(_3);                 // scope 0 at $DIR/const_prop_fails_gracefully.rs:+2:39: +2:40
+          StorageLive(_4);                 // scope 1 at $DIR/const_prop_fails_gracefully.rs:+3:5: +3:12
+          StorageLive(_5);                 // scope 1 at $DIR/const_prop_fails_gracefully.rs:+3:10: +3:11
+          _5 = _1;                         // scope 1 at $DIR/const_prop_fails_gracefully.rs:+3:10: +3:11
+          _4 = read(move _5) -> bb1;       // scope 1 at $DIR/const_prop_fails_gracefully.rs:+3:5: +3:12
                                            // mir::Constant
                                            // + span: $DIR/const_prop_fails_gracefully.rs:8:5: 8:9
                                            // + literal: Const { ty: fn(usize) {read}, val: Value(<ZST>) }
       }
   
       bb1: {
-          StorageDead(_5);                 // scope 1 at $DIR/const_prop_fails_gracefully.rs:8:11: 8:12
-          StorageDead(_4);                 // scope 1 at $DIR/const_prop_fails_gracefully.rs:8:12: 8:13
-          nop;                             // scope 0 at $DIR/const_prop_fails_gracefully.rs:5:11: 9:2
-          StorageDead(_1);                 // scope 0 at $DIR/const_prop_fails_gracefully.rs:9:1: 9:2
-          return;                          // scope 0 at $DIR/const_prop_fails_gracefully.rs:9:2: 9:2
+          StorageDead(_5);                 // scope 1 at $DIR/const_prop_fails_gracefully.rs:+3:11: +3:12
+          StorageDead(_4);                 // scope 1 at $DIR/const_prop_fails_gracefully.rs:+3:12: +3:13
+          nop;                             // scope 0 at $DIR/const_prop_fails_gracefully.rs:+0:11: +4:2
+          StorageDead(_1);                 // scope 0 at $DIR/const_prop_fails_gracefully.rs:+4:1: +4:2
+          return;                          // scope 0 at $DIR/const_prop_fails_gracefully.rs:+4:2: +4:2
       }
   }
   
index d0287cc2b2b64238d00c6ea7681cec600a2b284a..5f4df0d883bca125fcf4f997a10b34b74f77bb08 100644 (file)
@@ -2,16 +2,16 @@
 + // MIR for `hello` after ConstProp
   
   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 _0: ();                      // return place in scope 0 at $DIR/control-flow-simplification.rs:+0:14: +0:14
+      let mut _1: bool;                    // in scope 0 at $DIR/control-flow-simplification.rs:+1:8: +1:21
       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
--         _1 = const <bool as NeedsDrop>::NEEDS; // scope 0 at $DIR/control-flow-simplification.rs:12:8: 12:21
--         switchInt(move _1) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/control-flow-simplification.rs:12:8: 12:21
-+         _1 = const false;                // scope 0 at $DIR/control-flow-simplification.rs:12:8: 12:21
-+         switchInt(const false) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/control-flow-simplification.rs:12:8: 12:21
+          StorageLive(_1);                 // scope 0 at $DIR/control-flow-simplification.rs:+1:8: +1:21
+-         _1 = const <bool as NeedsDrop>::NEEDS; // scope 0 at $DIR/control-flow-simplification.rs:+1:8: +1:21
+-         switchInt(move _1) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/control-flow-simplification.rs:+1:8: +1:21
++         _1 = const false;                // scope 0 at $DIR/control-flow-simplification.rs:+1:8: +1:21
++         switchInt(const false) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/control-flow-simplification.rs:+1:8: +1:21
       }
   
       bb1: {
@@ -26,9 +26,9 @@
       }
   
       bb2: {
-          nop;                             // scope 0 at $DIR/control-flow-simplification.rs:14:6: 14:6
-          StorageDead(_1);                 // scope 0 at $DIR/control-flow-simplification.rs:14:5: 14:6
-          return;                          // scope 0 at $DIR/control-flow-simplification.rs:15:2: 15:2
+          nop;                             // scope 0 at $DIR/control-flow-simplification.rs:+3:6: +3:6
+          StorageDead(_1);                 // scope 0 at $DIR/control-flow-simplification.rs:+3:5: +3:6
+          return;                          // scope 0 at $DIR/control-flow-simplification.rs:+4:2: +4:2
       }
   }
   
index 30512d0bbe8747db0e327e055e8179044d7d571c..70f9797751131f61cfac51ee1529e1a26ddb308f 100644 (file)
@@ -1,9 +1,9 @@
 // MIR for `hello` before PreCodegen
 
 fn hello() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/control-flow-simplification.rs:11:14: 11:14
+    let mut _0: ();                      // return place in scope 0 at $DIR/control-flow-simplification.rs:+0:14: +0:14
 
     bb0: {
-        return;                          // scope 0 at $DIR/control-flow-simplification.rs:15:2: 15:2
+        return;                          // scope 0 at $DIR/control-flow-simplification.rs:+4:2: +4:2
     }
 }
index 047853696f228c93be89cbe81a7aa323ac43ade0..5b4ecaa80f1f10f5e89cb70402ba249b91b16e02 100644 (file)
@@ -2,51 +2,51 @@
 + // MIR for `main` after ConstProp
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/discriminant.rs:10:11: 10:11
-      let _1: i32;                         // in scope 0 at $DIR/discriminant.rs:11:9: 11:10
-      let mut _2: i32;                     // in scope 0 at $DIR/discriminant.rs:11:13: 11:64
-      let mut _3: std::option::Option<bool>; // in scope 0 at $DIR/discriminant.rs:11:34: 11:44
-      let mut _4: isize;                   // in scope 0 at $DIR/discriminant.rs:11:21: 11:31
+      let mut _0: ();                      // return place in scope 0 at $DIR/discriminant.rs:+0:11: +0:11
+      let _1: i32;                         // in scope 0 at $DIR/discriminant.rs:+1:9: +1:10
+      let mut _2: i32;                     // in scope 0 at $DIR/discriminant.rs:+1:13: +1:64
+      let mut _3: std::option::Option<bool>; // in scope 0 at $DIR/discriminant.rs:+1:34: +1:44
+      let mut _4: isize;                   // in scope 0 at $DIR/discriminant.rs:+1:21: +1:31
       scope 1 {
-          debug x => _1;                   // in scope 1 at $DIR/discriminant.rs:11:9: 11:10
+          debug x => _1;                   // in scope 1 at $DIR/discriminant.rs:+1:9: +1:10
       }
       scope 2 {
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/discriminant.rs:11:9: 11:10
-          StorageLive(_2);                 // scope 0 at $DIR/discriminant.rs:11:13: 11:64
-          StorageLive(_3);                 // scope 2 at $DIR/discriminant.rs:11:34: 11:44
-          Deinit(_3);                      // scope 2 at $DIR/discriminant.rs:11:34: 11:44
-          ((_3 as Some).0: bool) = const true; // scope 2 at $DIR/discriminant.rs:11:34: 11:44
-          discriminant(_3) = 1;            // scope 2 at $DIR/discriminant.rs:11:34: 11:44
--         _4 = discriminant(_3);           // scope 2 at $DIR/discriminant.rs:11:21: 11:31
--         switchInt(move _4) -> [1_isize: bb1, otherwise: bb3]; // scope 2 at $DIR/discriminant.rs:11:21: 11:31
-+         _4 = const 1_isize;              // scope 2 at $DIR/discriminant.rs:11:21: 11:31
-+         switchInt(const 1_isize) -> [1_isize: bb1, otherwise: bb3]; // scope 2 at $DIR/discriminant.rs:11:21: 11:31
+          StorageLive(_1);                 // scope 0 at $DIR/discriminant.rs:+1:9: +1:10
+          StorageLive(_2);                 // scope 0 at $DIR/discriminant.rs:+1:13: +1:64
+          StorageLive(_3);                 // scope 2 at $DIR/discriminant.rs:+1:34: +1:44
+          Deinit(_3);                      // scope 2 at $DIR/discriminant.rs:+1:34: +1:44
+          ((_3 as Some).0: bool) = const true; // scope 2 at $DIR/discriminant.rs:+1:34: +1:44
+          discriminant(_3) = 1;            // scope 2 at $DIR/discriminant.rs:+1:34: +1:44
+-         _4 = discriminant(_3);           // scope 2 at $DIR/discriminant.rs:+1:21: +1:31
+-         switchInt(move _4) -> [1_isize: bb1, otherwise: bb3]; // scope 2 at $DIR/discriminant.rs:+1:21: +1:31
++         _4 = const 1_isize;              // scope 2 at $DIR/discriminant.rs:+1:21: +1:31
++         switchInt(const 1_isize) -> [1_isize: bb1, otherwise: bb3]; // scope 2 at $DIR/discriminant.rs:+1:21: +1:31
       }
   
       bb1: {
-          switchInt(((_3 as Some).0: bool)) -> [false: bb3, otherwise: bb2]; // scope 2 at $DIR/discriminant.rs:11:21: 11:31
+          switchInt(((_3 as Some).0: bool)) -> [false: bb3, otherwise: bb2]; // scope 2 at $DIR/discriminant.rs:+1:21: +1:31
       }
   
       bb2: {
-          _2 = const 42_i32;               // scope 2 at $DIR/discriminant.rs:11:47: 11:49
-          goto -> bb4;                     // scope 0 at $DIR/discriminant.rs:11:13: 11:64
+          _2 = const 42_i32;               // scope 2 at $DIR/discriminant.rs:+1:47: +1:49
+          goto -> bb4;                     // scope 0 at $DIR/discriminant.rs:+1:13: +1:64
       }
   
       bb3: {
-          _2 = const 10_i32;               // scope 0 at $DIR/discriminant.rs:11:59: 11:61
-          goto -> bb4;                     // scope 0 at $DIR/discriminant.rs:11:13: 11:64
+          _2 = const 10_i32;               // scope 0 at $DIR/discriminant.rs:+1:59: +1:61
+          goto -> bb4;                     // scope 0 at $DIR/discriminant.rs:+1:13: +1:64
       }
   
       bb4: {
-          _1 = Add(move _2, const 0_i32);  // scope 0 at $DIR/discriminant.rs:11:13: 11:68
-          StorageDead(_2);                 // scope 0 at $DIR/discriminant.rs:11:67: 11:68
-          StorageDead(_3);                 // scope 0 at $DIR/discriminant.rs:11:68: 11:69
-          nop;                             // scope 0 at $DIR/discriminant.rs:10:11: 12:2
-          StorageDead(_1);                 // scope 0 at $DIR/discriminant.rs:12:1: 12:2
-          return;                          // scope 0 at $DIR/discriminant.rs:12:2: 12:2
+          _1 = Add(move _2, const 0_i32);  // scope 0 at $DIR/discriminant.rs:+1:13: +1:68
+          StorageDead(_2);                 // scope 0 at $DIR/discriminant.rs:+1:67: +1:68
+          StorageDead(_3);                 // scope 0 at $DIR/discriminant.rs:+1:68: +1:69
+          nop;                             // scope 0 at $DIR/discriminant.rs:+0:11: +2:2
+          StorageDead(_1);                 // scope 0 at $DIR/discriminant.rs:+2:1: +2:2
+          return;                          // scope 0 at $DIR/discriminant.rs:+2:2: +2:2
       }
   }
   
index 047853696f228c93be89cbe81a7aa323ac43ade0..5b4ecaa80f1f10f5e89cb70402ba249b91b16e02 100644 (file)
@@ -2,51 +2,51 @@
 + // MIR for `main` after ConstProp
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/discriminant.rs:10:11: 10:11
-      let _1: i32;                         // in scope 0 at $DIR/discriminant.rs:11:9: 11:10
-      let mut _2: i32;                     // in scope 0 at $DIR/discriminant.rs:11:13: 11:64
-      let mut _3: std::option::Option<bool>; // in scope 0 at $DIR/discriminant.rs:11:34: 11:44
-      let mut _4: isize;                   // in scope 0 at $DIR/discriminant.rs:11:21: 11:31
+      let mut _0: ();                      // return place in scope 0 at $DIR/discriminant.rs:+0:11: +0:11
+      let _1: i32;                         // in scope 0 at $DIR/discriminant.rs:+1:9: +1:10
+      let mut _2: i32;                     // in scope 0 at $DIR/discriminant.rs:+1:13: +1:64
+      let mut _3: std::option::Option<bool>; // in scope 0 at $DIR/discriminant.rs:+1:34: +1:44
+      let mut _4: isize;                   // in scope 0 at $DIR/discriminant.rs:+1:21: +1:31
       scope 1 {
-          debug x => _1;                   // in scope 1 at $DIR/discriminant.rs:11:9: 11:10
+          debug x => _1;                   // in scope 1 at $DIR/discriminant.rs:+1:9: +1:10
       }
       scope 2 {
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/discriminant.rs:11:9: 11:10
-          StorageLive(_2);                 // scope 0 at $DIR/discriminant.rs:11:13: 11:64
-          StorageLive(_3);                 // scope 2 at $DIR/discriminant.rs:11:34: 11:44
-          Deinit(_3);                      // scope 2 at $DIR/discriminant.rs:11:34: 11:44
-          ((_3 as Some).0: bool) = const true; // scope 2 at $DIR/discriminant.rs:11:34: 11:44
-          discriminant(_3) = 1;            // scope 2 at $DIR/discriminant.rs:11:34: 11:44
--         _4 = discriminant(_3);           // scope 2 at $DIR/discriminant.rs:11:21: 11:31
--         switchInt(move _4) -> [1_isize: bb1, otherwise: bb3]; // scope 2 at $DIR/discriminant.rs:11:21: 11:31
-+         _4 = const 1_isize;              // scope 2 at $DIR/discriminant.rs:11:21: 11:31
-+         switchInt(const 1_isize) -> [1_isize: bb1, otherwise: bb3]; // scope 2 at $DIR/discriminant.rs:11:21: 11:31
+          StorageLive(_1);                 // scope 0 at $DIR/discriminant.rs:+1:9: +1:10
+          StorageLive(_2);                 // scope 0 at $DIR/discriminant.rs:+1:13: +1:64
+          StorageLive(_3);                 // scope 2 at $DIR/discriminant.rs:+1:34: +1:44
+          Deinit(_3);                      // scope 2 at $DIR/discriminant.rs:+1:34: +1:44
+          ((_3 as Some).0: bool) = const true; // scope 2 at $DIR/discriminant.rs:+1:34: +1:44
+          discriminant(_3) = 1;            // scope 2 at $DIR/discriminant.rs:+1:34: +1:44
+-         _4 = discriminant(_3);           // scope 2 at $DIR/discriminant.rs:+1:21: +1:31
+-         switchInt(move _4) -> [1_isize: bb1, otherwise: bb3]; // scope 2 at $DIR/discriminant.rs:+1:21: +1:31
++         _4 = const 1_isize;              // scope 2 at $DIR/discriminant.rs:+1:21: +1:31
++         switchInt(const 1_isize) -> [1_isize: bb1, otherwise: bb3]; // scope 2 at $DIR/discriminant.rs:+1:21: +1:31
       }
   
       bb1: {
-          switchInt(((_3 as Some).0: bool)) -> [false: bb3, otherwise: bb2]; // scope 2 at $DIR/discriminant.rs:11:21: 11:31
+          switchInt(((_3 as Some).0: bool)) -> [false: bb3, otherwise: bb2]; // scope 2 at $DIR/discriminant.rs:+1:21: +1:31
       }
   
       bb2: {
-          _2 = const 42_i32;               // scope 2 at $DIR/discriminant.rs:11:47: 11:49
-          goto -> bb4;                     // scope 0 at $DIR/discriminant.rs:11:13: 11:64
+          _2 = const 42_i32;               // scope 2 at $DIR/discriminant.rs:+1:47: +1:49
+          goto -> bb4;                     // scope 0 at $DIR/discriminant.rs:+1:13: +1:64
       }
   
       bb3: {
-          _2 = const 10_i32;               // scope 0 at $DIR/discriminant.rs:11:59: 11:61
-          goto -> bb4;                     // scope 0 at $DIR/discriminant.rs:11:13: 11:64
+          _2 = const 10_i32;               // scope 0 at $DIR/discriminant.rs:+1:59: +1:61
+          goto -> bb4;                     // scope 0 at $DIR/discriminant.rs:+1:13: +1:64
       }
   
       bb4: {
-          _1 = Add(move _2, const 0_i32);  // scope 0 at $DIR/discriminant.rs:11:13: 11:68
-          StorageDead(_2);                 // scope 0 at $DIR/discriminant.rs:11:67: 11:68
-          StorageDead(_3);                 // scope 0 at $DIR/discriminant.rs:11:68: 11:69
-          nop;                             // scope 0 at $DIR/discriminant.rs:10:11: 12:2
-          StorageDead(_1);                 // scope 0 at $DIR/discriminant.rs:12:1: 12:2
-          return;                          // scope 0 at $DIR/discriminant.rs:12:2: 12:2
+          _1 = Add(move _2, const 0_i32);  // scope 0 at $DIR/discriminant.rs:+1:13: +1:68
+          StorageDead(_2);                 // scope 0 at $DIR/discriminant.rs:+1:67: +1:68
+          StorageDead(_3);                 // scope 0 at $DIR/discriminant.rs:+1:68: +1:69
+          nop;                             // scope 0 at $DIR/discriminant.rs:+0:11: +2:2
+          StorageDead(_1);                 // scope 0 at $DIR/discriminant.rs:+2:1: +2:2
+          return;                          // scope 0 at $DIR/discriminant.rs:+2:2: +2:2
       }
   }
   
index 8dd55235ef37b42c6aa258d352977f62221931cf..2e1e32545a28629aa300b7a407348551b4021688 100644 (file)
@@ -2,32 +2,32 @@
 + // MIR for `main` after ConstProp
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/indirect.rs:4:11: 4:11
-      let _1: u8;                          // in scope 0 at $DIR/indirect.rs:5:9: 5:10
-      let mut _2: u8;                      // in scope 0 at $DIR/indirect.rs:5:13: 5:25
-      let mut _3: (u8, bool);              // in scope 0 at $DIR/indirect.rs:5:13: 5:29
+      let mut _0: ();                      // return place in scope 0 at $DIR/indirect.rs:+0:11: +0:11
+      let _1: u8;                          // in scope 0 at $DIR/indirect.rs:+1:9: +1:10
+      let mut _2: u8;                      // in scope 0 at $DIR/indirect.rs:+1:13: +1:25
+      let mut _3: (u8, bool);              // in scope 0 at $DIR/indirect.rs:+1:13: +1:29
       scope 1 {
-          debug x => _1;                   // in scope 1 at $DIR/indirect.rs:5:9: 5:10
+          debug x => _1;                   // in scope 1 at $DIR/indirect.rs:+1:9: +1:10
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/indirect.rs:5:9: 5:10
-          StorageLive(_2);                 // scope 0 at $DIR/indirect.rs:5:13: 5:25
--         _2 = const 2_u32 as u8 (Misc);   // scope 0 at $DIR/indirect.rs:5:13: 5:25
--         _3 = CheckedAdd(_2, const 1_u8); // scope 0 at $DIR/indirect.rs:5:13: 5:29
--         assert(!move (_3.1: bool), "attempt to compute `{} + {}`, which would overflow", move _2, const 1_u8) -> bb1; // scope 0 at $DIR/indirect.rs:5:13: 5:29
-+         _2 = const 2_u8;                 // scope 0 at $DIR/indirect.rs:5:13: 5:25
-+         _3 = const (3_u8, false);        // scope 0 at $DIR/indirect.rs:5:13: 5:29
-+         assert(!const false, "attempt to compute `{} + {}`, which would overflow", const 2_u8, const 1_u8) -> bb1; // scope 0 at $DIR/indirect.rs:5:13: 5:29
+          StorageLive(_1);                 // scope 0 at $DIR/indirect.rs:+1:9: +1:10
+          StorageLive(_2);                 // scope 0 at $DIR/indirect.rs:+1:13: +1:25
+-         _2 = const 2_u32 as u8 (Misc);   // scope 0 at $DIR/indirect.rs:+1:13: +1:25
+-         _3 = CheckedAdd(_2, const 1_u8); // scope 0 at $DIR/indirect.rs:+1:13: +1:29
+-         assert(!move (_3.1: bool), "attempt to compute `{} + {}`, which would overflow", move _2, const 1_u8) -> bb1; // scope 0 at $DIR/indirect.rs:+1:13: +1:29
++         _2 = const 2_u8;                 // scope 0 at $DIR/indirect.rs:+1:13: +1:25
++         _3 = const (3_u8, false);        // scope 0 at $DIR/indirect.rs:+1:13: +1:29
++         assert(!const false, "attempt to compute `{} + {}`, which would overflow", const 2_u8, const 1_u8) -> bb1; // scope 0 at $DIR/indirect.rs:+1:13: +1:29
       }
   
       bb1: {
--         _1 = move (_3.0: u8);            // scope 0 at $DIR/indirect.rs:5:13: 5:29
-+         _1 = const 3_u8;                 // scope 0 at $DIR/indirect.rs:5:13: 5:29
-          StorageDead(_2);                 // scope 0 at $DIR/indirect.rs:5:28: 5:29
-          nop;                             // scope 0 at $DIR/indirect.rs:4:11: 6:2
-          StorageDead(_1);                 // scope 0 at $DIR/indirect.rs:6:1: 6:2
-          return;                          // scope 0 at $DIR/indirect.rs:6:2: 6:2
+-         _1 = move (_3.0: u8);            // scope 0 at $DIR/indirect.rs:+1:13: +1:29
++         _1 = const 3_u8;                 // scope 0 at $DIR/indirect.rs:+1:13: +1:29
+          StorageDead(_2);                 // scope 0 at $DIR/indirect.rs:+1:28: +1:29
+          nop;                             // scope 0 at $DIR/indirect.rs:+0:11: +2:2
+          StorageDead(_1);                 // scope 0 at $DIR/indirect.rs:+2:1: +2:2
+          return;                          // scope 0 at $DIR/indirect.rs:+2:2: +2:2
       }
   }
   
index c60cf1e481dcdd1fc6098e12bc7708e50ba061ea..67a4dc3c092698f1c97f95197d0eaac454000d98 100644 (file)
@@ -2,24 +2,24 @@
 + // MIR for `main` after ConstProp
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/invalid_constant.rs:15:11: 15:11
-      let _1: char;                        // in scope 0 at $DIR/invalid_constant.rs:21:9: 21:22
-      let mut _2: main::InvalidChar;       // in scope 0 at $DIR/invalid_constant.rs:21:34: 21:63
-      let mut _4: E;                       // in scope 0 at $DIR/invalid_constant.rs:28:25: 28:59
-      let mut _5: main::InvalidTag;        // in scope 0 at $DIR/invalid_constant.rs:28:34: 28:55
-      let mut _7: Empty;                   // in scope 0 at $DIR/invalid_constant.rs:35:35: 35:73
-      let mut _8: main::NoVariants;        // in scope 0 at $DIR/invalid_constant.rs:35:44: 35:65
+      let mut _0: ();                      // return place in scope 0 at $DIR/invalid_constant.rs:+0:11: +0:11
+      let _1: char;                        // in scope 0 at $DIR/invalid_constant.rs:+6:9: +6:22
+      let mut _2: main::InvalidChar;       // in scope 0 at $DIR/invalid_constant.rs:+6:34: +6:63
+      let mut _4: E;                       // in scope 0 at $DIR/invalid_constant.rs:+13:25: +13:59
+      let mut _5: main::InvalidTag;        // in scope 0 at $DIR/invalid_constant.rs:+13:34: +13:55
+      let mut _7: Empty;                   // in scope 0 at $DIR/invalid_constant.rs:+20:35: +20:73
+      let mut _8: main::NoVariants;        // in scope 0 at $DIR/invalid_constant.rs:+20:44: +20:65
       scope 1 {
-          debug _invalid_char => _1;       // in scope 1 at $DIR/invalid_constant.rs:21:9: 21:22
-          let _3: [E; 1];                  // in scope 1 at $DIR/invalid_constant.rs:28:9: 28:21
+          debug _invalid_char => _1;       // in scope 1 at $DIR/invalid_constant.rs:+6:9: +6:22
+          let _3: [E; 1];                  // in scope 1 at $DIR/invalid_constant.rs:+13:9: +13:21
           scope 3 {
-              debug _invalid_tag => _3;    // in scope 3 at $DIR/invalid_constant.rs:28:9: 28:21
-              let _6: [Empty; 1];          // in scope 3 at $DIR/invalid_constant.rs:35:9: 35:31
+              debug _invalid_tag => _3;    // in scope 3 at $DIR/invalid_constant.rs:+13:9: +13:21
+              let _6: [Empty; 1];          // in scope 3 at $DIR/invalid_constant.rs:+20:9: +20:31
               scope 5 {
-                  debug _enum_without_variants => _6; // in scope 5 at $DIR/invalid_constant.rs:35:9: 35:31
-                  let _9: main::Str<"���">; // in scope 5 at $DIR/invalid_constant.rs:39:9: 39:22
+                  debug _enum_without_variants => _6; // in scope 5 at $DIR/invalid_constant.rs:+20:9: +20:31
+                  let _9: main::Str<"���">; // in scope 5 at $DIR/invalid_constant.rs:+24:9: +24:22
                   scope 7 {
-                      debug _non_utf8_str => _9; // in scope 7 at $DIR/invalid_constant.rs:39:9: 39:22
+                      debug _non_utf8_str => _9; // in scope 7 at $DIR/invalid_constant.rs:+24:9: +24:22
                   }
               }
               scope 6 {
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/invalid_constant.rs:21:9: 21:22
-          StorageLive(_2);                 // scope 2 at $DIR/invalid_constant.rs:21:34: 21:63
-          Deinit(_2);                      // scope 2 at $DIR/invalid_constant.rs:21:34: 21:63
-          (_2.0: u32) = const 1114113_u32; // scope 2 at $DIR/invalid_constant.rs:21:34: 21:63
--         _1 = (_2.1: char);               // scope 2 at $DIR/invalid_constant.rs:21:34: 21:67
-+         _1 = const {transmute(0x00110001): char}; // scope 2 at $DIR/invalid_constant.rs:21:34: 21:67
-          StorageDead(_2);                 // scope 0 at $DIR/invalid_constant.rs:21:69: 21:70
-          StorageLive(_3);                 // scope 1 at $DIR/invalid_constant.rs:28:9: 28:21
-          StorageLive(_4);                 // scope 1 at $DIR/invalid_constant.rs:28:25: 28:59
-          StorageLive(_5);                 // scope 4 at $DIR/invalid_constant.rs:28:34: 28:55
-          Deinit(_5);                      // scope 4 at $DIR/invalid_constant.rs:28:34: 28:55
-          (_5.0: u32) = const 4_u32;       // scope 4 at $DIR/invalid_constant.rs:28:34: 28:55
--         _4 = (_5.1: E);                  // scope 4 at $DIR/invalid_constant.rs:28:34: 28:57
--         _3 = [move _4];                  // scope 1 at $DIR/invalid_constant.rs:28:24: 28:60
-+         _4 = const Scalar(0x00000004): E; // scope 4 at $DIR/invalid_constant.rs:28:34: 28:57
+          StorageLive(_1);                 // scope 0 at $DIR/invalid_constant.rs:+6:9: +6:22
+          StorageLive(_2);                 // scope 2 at $DIR/invalid_constant.rs:+6:34: +6:63
+          Deinit(_2);                      // scope 2 at $DIR/invalid_constant.rs:+6:34: +6:63
+          (_2.0: u32) = const 1114113_u32; // scope 2 at $DIR/invalid_constant.rs:+6:34: +6:63
+-         _1 = (_2.1: char);               // scope 2 at $DIR/invalid_constant.rs:+6:34: +6:67
++         _1 = const {transmute(0x00110001): char}; // scope 2 at $DIR/invalid_constant.rs:+6:34: +6:67
+          StorageDead(_2);                 // scope 0 at $DIR/invalid_constant.rs:+6:69: +6:70
+          StorageLive(_3);                 // scope 1 at $DIR/invalid_constant.rs:+13:9: +13:21
+          StorageLive(_4);                 // scope 1 at $DIR/invalid_constant.rs:+13:25: +13:59
+          StorageLive(_5);                 // scope 4 at $DIR/invalid_constant.rs:+13:34: +13:55
+          Deinit(_5);                      // scope 4 at $DIR/invalid_constant.rs:+13:34: +13:55
+          (_5.0: u32) = const 4_u32;       // scope 4 at $DIR/invalid_constant.rs:+13:34: +13:55
+-         _4 = (_5.1: E);                  // scope 4 at $DIR/invalid_constant.rs:+13:34: +13:57
+-         _3 = [move _4];                  // scope 1 at $DIR/invalid_constant.rs:+13:24: +13:60
++         _4 = const Scalar(0x00000004): E; // scope 4 at $DIR/invalid_constant.rs:+13:34: +13:57
 +                                          // mir::Constant
 +                                          // + span: $DIR/invalid_constant.rs:28:34: 28:57
 +                                          // + literal: Const { ty: E, val: Value(Scalar(0x00000004)) }
-+         _3 = [const Scalar(0x00000004): E]; // scope 1 at $DIR/invalid_constant.rs:28:24: 28:60
++         _3 = [const Scalar(0x00000004): E]; // scope 1 at $DIR/invalid_constant.rs:+13:24: +13:60
 +                                          // mir::Constant
 +                                          // + span: $DIR/invalid_constant.rs:28:24: 28:60
 +                                          // + literal: Const { ty: E, val: Value(Scalar(0x00000004)) }
-          StorageDead(_4);                 // scope 1 at $DIR/invalid_constant.rs:28:59: 28:60
-          StorageDead(_5);                 // scope 1 at $DIR/invalid_constant.rs:28:60: 28:61
-          StorageLive(_6);                 // scope 3 at $DIR/invalid_constant.rs:35:9: 35:31
-          StorageLive(_7);                 // scope 3 at $DIR/invalid_constant.rs:35:35: 35:73
-          StorageLive(_8);                 // scope 6 at $DIR/invalid_constant.rs:35:44: 35:65
-          Deinit(_8);                      // scope 6 at $DIR/invalid_constant.rs:35:44: 35:65
-          (_8.0: u32) = const 0_u32;       // scope 6 at $DIR/invalid_constant.rs:35:44: 35:65
-          nop;                             // scope 6 at $DIR/invalid_constant.rs:35:44: 35:71
-          nop;                             // scope 3 at $DIR/invalid_constant.rs:35:34: 35:74
-          StorageDead(_7);                 // scope 3 at $DIR/invalid_constant.rs:35:73: 35:74
-          StorageDead(_8);                 // scope 3 at $DIR/invalid_constant.rs:35:74: 35:75
-          StorageLive(_9);                 // scope 5 at $DIR/invalid_constant.rs:39:9: 39:22
-          nop;                             // scope 0 at $DIR/invalid_constant.rs:15:11: 42:2
-          StorageDead(_9);                 // scope 5 at $DIR/invalid_constant.rs:42:1: 42:2
-          StorageDead(_6);                 // scope 3 at $DIR/invalid_constant.rs:42:1: 42:2
-          StorageDead(_3);                 // scope 1 at $DIR/invalid_constant.rs:42:1: 42:2
-          StorageDead(_1);                 // scope 0 at $DIR/invalid_constant.rs:42:1: 42:2
-          return;                          // scope 0 at $DIR/invalid_constant.rs:42:2: 42:2
+          StorageDead(_4);                 // scope 1 at $DIR/invalid_constant.rs:+13:59: +13:60
+          StorageDead(_5);                 // scope 1 at $DIR/invalid_constant.rs:+13:60: +13:61
+          StorageLive(_6);                 // scope 3 at $DIR/invalid_constant.rs:+20:9: +20:31
+          StorageLive(_7);                 // scope 3 at $DIR/invalid_constant.rs:+20:35: +20:73
+          StorageLive(_8);                 // scope 6 at $DIR/invalid_constant.rs:+20:44: +20:65
+          Deinit(_8);                      // scope 6 at $DIR/invalid_constant.rs:+20:44: +20:65
+          (_8.0: u32) = const 0_u32;       // scope 6 at $DIR/invalid_constant.rs:+20:44: +20:65
+          nop;                             // scope 6 at $DIR/invalid_constant.rs:+20:44: +20:71
+          nop;                             // scope 3 at $DIR/invalid_constant.rs:+20:34: +20:74
+          StorageDead(_7);                 // scope 3 at $DIR/invalid_constant.rs:+20:73: +20:74
+          StorageDead(_8);                 // scope 3 at $DIR/invalid_constant.rs:+20:74: +20:75
+          StorageLive(_9);                 // scope 5 at $DIR/invalid_constant.rs:+24:9: +24:22
+          nop;                             // scope 0 at $DIR/invalid_constant.rs:+0:11: +27:2
+          StorageDead(_9);                 // scope 5 at $DIR/invalid_constant.rs:+27:1: +27:2
+          StorageDead(_6);                 // scope 3 at $DIR/invalid_constant.rs:+27:1: +27:2
+          StorageDead(_3);                 // scope 1 at $DIR/invalid_constant.rs:+27:1: +27:2
+          StorageDead(_1);                 // scope 0 at $DIR/invalid_constant.rs:+27:1: +27:2
+          return;                          // scope 0 at $DIR/invalid_constant.rs:+27:2: +27:2
       }
   }
   
index 5991d7637f50faa0819a728f02228d116325efe5..b3d5980aa73367006d4ef9ac0c24f49fe272c0cd 100644 (file)
@@ -2,32 +2,32 @@
 + // MIR for `main` after ConstProp
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/issue-66971.rs:15:11: 15:11
-      let _1: ();                          // in scope 0 at $DIR/issue-66971.rs:16:5: 16:23
-      let mut _2: ((), u8, u8);            // in scope 0 at $DIR/issue-66971.rs:16:12: 16:22
-      let mut _3: ();                      // in scope 0 at $DIR/issue-66971.rs:16:13: 16:15
+      let mut _0: ();                      // return place in scope 0 at $DIR/issue-66971.rs:+0:11: +0:11
+      let _1: ();                          // in scope 0 at $DIR/issue-66971.rs:+1:5: +1:23
+      let mut _2: ((), u8, u8);            // in scope 0 at $DIR/issue-66971.rs:+1:12: +1:22
+      let mut _3: ();                      // in scope 0 at $DIR/issue-66971.rs:+1:13: +1:15
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/issue-66971.rs:16:5: 16:23
-          StorageLive(_2);                 // scope 0 at $DIR/issue-66971.rs:16:12: 16:22
-          StorageLive(_3);                 // scope 0 at $DIR/issue-66971.rs:16:13: 16:15
-          nop;                             // scope 0 at $DIR/issue-66971.rs:16:13: 16:15
-          Deinit(_2);                      // scope 0 at $DIR/issue-66971.rs:16:12: 16:22
-          nop;                             // scope 0 at $DIR/issue-66971.rs:16:12: 16:22
-          (_2.1: u8) = const 0_u8;         // scope 0 at $DIR/issue-66971.rs:16:12: 16:22
-          (_2.2: u8) = const 0_u8;         // scope 0 at $DIR/issue-66971.rs:16:12: 16:22
-          StorageDead(_3);                 // scope 0 at $DIR/issue-66971.rs:16:21: 16:22
-          _1 = encode(move _2) -> bb1;     // scope 0 at $DIR/issue-66971.rs:16:5: 16:23
+          StorageLive(_1);                 // scope 0 at $DIR/issue-66971.rs:+1:5: +1:23
+          StorageLive(_2);                 // scope 0 at $DIR/issue-66971.rs:+1:12: +1:22
+          StorageLive(_3);                 // scope 0 at $DIR/issue-66971.rs:+1:13: +1:15
+          nop;                             // scope 0 at $DIR/issue-66971.rs:+1:13: +1:15
+          Deinit(_2);                      // scope 0 at $DIR/issue-66971.rs:+1:12: +1:22
+          nop;                             // scope 0 at $DIR/issue-66971.rs:+1:12: +1:22
+          (_2.1: u8) = const 0_u8;         // scope 0 at $DIR/issue-66971.rs:+1:12: +1:22
+          (_2.2: u8) = const 0_u8;         // scope 0 at $DIR/issue-66971.rs:+1:12: +1:22
+          StorageDead(_3);                 // scope 0 at $DIR/issue-66971.rs:+1:21: +1:22
+          _1 = encode(move _2) -> bb1;     // scope 0 at $DIR/issue-66971.rs:+1:5: +1:23
                                            // mir::Constant
                                            // + span: $DIR/issue-66971.rs:16:5: 16:11
                                            // + literal: Const { ty: fn(((), u8, u8)) {encode}, val: Value(<ZST>) }
       }
   
       bb1: {
-          StorageDead(_2);                 // scope 0 at $DIR/issue-66971.rs:16:22: 16:23
-          StorageDead(_1);                 // scope 0 at $DIR/issue-66971.rs:16:23: 16:24
-          nop;                             // scope 0 at $DIR/issue-66971.rs:15:11: 17:2
-          return;                          // scope 0 at $DIR/issue-66971.rs:17:2: 17:2
+          StorageDead(_2);                 // scope 0 at $DIR/issue-66971.rs:+1:22: +1:23
+          StorageDead(_1);                 // scope 0 at $DIR/issue-66971.rs:+1:23: +1:24
+          nop;                             // scope 0 at $DIR/issue-66971.rs:+0:11: +2:2
+          return;                          // scope 0 at $DIR/issue-66971.rs:+2:2: +2:2
       }
   }
   
index 149a60c0bbb549e354044773e2db435defbcc3e5..8330b50529f73f1916c81f75806d7c7a1bda1fe2 100644 (file)
@@ -2,33 +2,33 @@
 + // MIR for `main` after ConstProp
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/issue-67019.rs:10:11: 10:11
-      let _1: ();                          // in scope 0 at $DIR/issue-67019.rs:11:5: 11:20
-      let mut _2: ((u8, u8),);             // in scope 0 at $DIR/issue-67019.rs:11:10: 11:19
-      let mut _3: (u8, u8);                // in scope 0 at $DIR/issue-67019.rs:11:11: 11:17
+      let mut _0: ();                      // return place in scope 0 at $DIR/issue-67019.rs:+0:11: +0:11
+      let _1: ();                          // in scope 0 at $DIR/issue-67019.rs:+1:5: +1:20
+      let mut _2: ((u8, u8),);             // in scope 0 at $DIR/issue-67019.rs:+1:10: +1:19
+      let mut _3: (u8, u8);                // in scope 0 at $DIR/issue-67019.rs:+1:11: +1:17
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/issue-67019.rs:11:5: 11:20
-          StorageLive(_2);                 // scope 0 at $DIR/issue-67019.rs:11:10: 11:19
-          StorageLive(_3);                 // scope 0 at $DIR/issue-67019.rs:11:11: 11:17
-          Deinit(_3);                      // scope 0 at $DIR/issue-67019.rs:11:11: 11:17
-          (_3.0: u8) = const 1_u8;         // scope 0 at $DIR/issue-67019.rs:11:11: 11:17
-          (_3.1: u8) = const 2_u8;         // scope 0 at $DIR/issue-67019.rs:11:11: 11:17
-          Deinit(_2);                      // scope 0 at $DIR/issue-67019.rs:11:10: 11:19
--         (_2.0: (u8, u8)) = move _3;      // scope 0 at $DIR/issue-67019.rs:11:10: 11:19
-+         (_2.0: (u8, u8)) = const (1_u8, 2_u8); // scope 0 at $DIR/issue-67019.rs:11:10: 11:19
-          StorageDead(_3);                 // scope 0 at $DIR/issue-67019.rs:11:18: 11:19
-          _1 = test(move _2) -> bb1;       // scope 0 at $DIR/issue-67019.rs:11:5: 11:20
+          StorageLive(_1);                 // scope 0 at $DIR/issue-67019.rs:+1:5: +1:20
+          StorageLive(_2);                 // scope 0 at $DIR/issue-67019.rs:+1:10: +1:19
+          StorageLive(_3);                 // scope 0 at $DIR/issue-67019.rs:+1:11: +1:17
+          Deinit(_3);                      // scope 0 at $DIR/issue-67019.rs:+1:11: +1:17
+          (_3.0: u8) = const 1_u8;         // scope 0 at $DIR/issue-67019.rs:+1:11: +1:17
+          (_3.1: u8) = const 2_u8;         // scope 0 at $DIR/issue-67019.rs:+1:11: +1:17
+          Deinit(_2);                      // scope 0 at $DIR/issue-67019.rs:+1:10: +1:19
+-         (_2.0: (u8, u8)) = move _3;      // scope 0 at $DIR/issue-67019.rs:+1:10: +1:19
++         (_2.0: (u8, u8)) = const (1_u8, 2_u8); // scope 0 at $DIR/issue-67019.rs:+1:10: +1:19
+          StorageDead(_3);                 // scope 0 at $DIR/issue-67019.rs:+1:18: +1:19
+          _1 = test(move _2) -> bb1;       // scope 0 at $DIR/issue-67019.rs:+1:5: +1:20
                                            // mir::Constant
                                            // + span: $DIR/issue-67019.rs:11:5: 11:9
                                            // + literal: Const { ty: fn(((u8, u8),)) {test}, val: Value(<ZST>) }
       }
   
       bb1: {
-          StorageDead(_2);                 // scope 0 at $DIR/issue-67019.rs:11:19: 11:20
-          StorageDead(_1);                 // scope 0 at $DIR/issue-67019.rs:11:20: 11:21
-          nop;                             // scope 0 at $DIR/issue-67019.rs:10:11: 12:2
-          return;                          // scope 0 at $DIR/issue-67019.rs:12:2: 12:2
+          StorageDead(_2);                 // scope 0 at $DIR/issue-67019.rs:+1:19: +1:20
+          StorageDead(_1);                 // scope 0 at $DIR/issue-67019.rs:+1:20: +1:21
+          nop;                             // scope 0 at $DIR/issue-67019.rs:+0:11: +2:2
+          return;                          // scope 0 at $DIR/issue-67019.rs:+2:2: +2:2
       }
   }
   
index 8276318f1ef84cf9bf51928019c0c7333b368e9f..96de39258e4ddcb6fe86e154133474c90848971f 100644 (file)
@@ -2,36 +2,36 @@
 + // MIR for `main` after ConstProp
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/large_array_index.rs:4:11: 4:11
-      let _1: u8;                          // in scope 0 at $DIR/large_array_index.rs:6:9: 6:10
-      let mut _2: [u8; 5000];              // in scope 0 at $DIR/large_array_index.rs:6:17: 6:29
-      let _3: usize;                       // in scope 0 at $DIR/large_array_index.rs:6:30: 6:31
-      let mut _4: usize;                   // in scope 0 at $DIR/large_array_index.rs:6:17: 6:32
-      let mut _5: bool;                    // in scope 0 at $DIR/large_array_index.rs:6:17: 6:32
+      let mut _0: ();                      // return place in scope 0 at $DIR/large_array_index.rs:+0:11: +0:11
+      let _1: u8;                          // in scope 0 at $DIR/large_array_index.rs:+2:9: +2:10
+      let mut _2: [u8; 5000];              // in scope 0 at $DIR/large_array_index.rs:+2:17: +2:29
+      let _3: usize;                       // in scope 0 at $DIR/large_array_index.rs:+2:30: +2:31
+      let mut _4: usize;                   // in scope 0 at $DIR/large_array_index.rs:+2:17: +2:32
+      let mut _5: bool;                    // in scope 0 at $DIR/large_array_index.rs:+2:17: +2:32
       scope 1 {
-          debug x => _1;                   // in scope 1 at $DIR/large_array_index.rs:6:9: 6:10
+          debug x => _1;                   // in scope 1 at $DIR/large_array_index.rs:+2:9: +2:10
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/large_array_index.rs:6:9: 6:10
-          StorageLive(_2);                 // scope 0 at $DIR/large_array_index.rs:6:17: 6:29
-          _2 = [const 0_u8; 5000];         // scope 0 at $DIR/large_array_index.rs:6:17: 6:29
-          StorageLive(_3);                 // scope 0 at $DIR/large_array_index.rs:6:30: 6:31
-          _3 = const 2_usize;              // scope 0 at $DIR/large_array_index.rs:6:30: 6:31
-          _4 = const 5000_usize;           // scope 0 at $DIR/large_array_index.rs:6:17: 6:32
--         _5 = Lt(_3, _4);                 // scope 0 at $DIR/large_array_index.rs:6:17: 6:32
--         assert(move _5, "index out of bounds: the length is {} but the index is {}", move _4, _3) -> bb1; // scope 0 at $DIR/large_array_index.rs:6:17: 6:32
-+         _5 = const true;                 // scope 0 at $DIR/large_array_index.rs:6:17: 6:32
-+         assert(const true, "index out of bounds: the length is {} but the index is {}", const 5000_usize, const 2_usize) -> bb1; // scope 0 at $DIR/large_array_index.rs:6:17: 6:32
+          StorageLive(_1);                 // scope 0 at $DIR/large_array_index.rs:+2:9: +2:10
+          StorageLive(_2);                 // scope 0 at $DIR/large_array_index.rs:+2:17: +2:29
+          _2 = [const 0_u8; 5000];         // scope 0 at $DIR/large_array_index.rs:+2:17: +2:29
+          StorageLive(_3);                 // scope 0 at $DIR/large_array_index.rs:+2:30: +2:31
+          _3 = const 2_usize;              // scope 0 at $DIR/large_array_index.rs:+2:30: +2:31
+          _4 = const 5000_usize;           // scope 0 at $DIR/large_array_index.rs:+2:17: +2:32
+-         _5 = Lt(_3, _4);                 // scope 0 at $DIR/large_array_index.rs:+2:17: +2:32
+-         assert(move _5, "index out of bounds: the length is {} but the index is {}", move _4, _3) -> bb1; // scope 0 at $DIR/large_array_index.rs:+2:17: +2:32
++         _5 = const true;                 // scope 0 at $DIR/large_array_index.rs:+2:17: +2:32
++         assert(const true, "index out of bounds: the length is {} but the index is {}", const 5000_usize, const 2_usize) -> bb1; // scope 0 at $DIR/large_array_index.rs:+2:17: +2:32
       }
   
       bb1: {
-          _1 = _2[_3];                     // scope 0 at $DIR/large_array_index.rs:6:17: 6:32
-          StorageDead(_3);                 // scope 0 at $DIR/large_array_index.rs:6:32: 6:33
-          StorageDead(_2);                 // scope 0 at $DIR/large_array_index.rs:6:32: 6:33
-          nop;                             // scope 0 at $DIR/large_array_index.rs:4:11: 7:2
-          StorageDead(_1);                 // scope 0 at $DIR/large_array_index.rs:7:1: 7:2
-          return;                          // scope 0 at $DIR/large_array_index.rs:7:2: 7:2
+          _1 = _2[_3];                     // scope 0 at $DIR/large_array_index.rs:+2:17: +2:32
+          StorageDead(_3);                 // scope 0 at $DIR/large_array_index.rs:+2:32: +2:33
+          StorageDead(_2);                 // scope 0 at $DIR/large_array_index.rs:+2:32: +2:33
+          nop;                             // scope 0 at $DIR/large_array_index.rs:+0:11: +3:2
+          StorageDead(_1);                 // scope 0 at $DIR/large_array_index.rs:+3:1: +3:2
+          return;                          // scope 0 at $DIR/large_array_index.rs:+3:2: +3:2
       }
   }
   
index 8276318f1ef84cf9bf51928019c0c7333b368e9f..96de39258e4ddcb6fe86e154133474c90848971f 100644 (file)
@@ -2,36 +2,36 @@
 + // MIR for `main` after ConstProp
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/large_array_index.rs:4:11: 4:11
-      let _1: u8;                          // in scope 0 at $DIR/large_array_index.rs:6:9: 6:10
-      let mut _2: [u8; 5000];              // in scope 0 at $DIR/large_array_index.rs:6:17: 6:29
-      let _3: usize;                       // in scope 0 at $DIR/large_array_index.rs:6:30: 6:31
-      let mut _4: usize;                   // in scope 0 at $DIR/large_array_index.rs:6:17: 6:32
-      let mut _5: bool;                    // in scope 0 at $DIR/large_array_index.rs:6:17: 6:32
+      let mut _0: ();                      // return place in scope 0 at $DIR/large_array_index.rs:+0:11: +0:11
+      let _1: u8;                          // in scope 0 at $DIR/large_array_index.rs:+2:9: +2:10
+      let mut _2: [u8; 5000];              // in scope 0 at $DIR/large_array_index.rs:+2:17: +2:29
+      let _3: usize;                       // in scope 0 at $DIR/large_array_index.rs:+2:30: +2:31
+      let mut _4: usize;                   // in scope 0 at $DIR/large_array_index.rs:+2:17: +2:32
+      let mut _5: bool;                    // in scope 0 at $DIR/large_array_index.rs:+2:17: +2:32
       scope 1 {
-          debug x => _1;                   // in scope 1 at $DIR/large_array_index.rs:6:9: 6:10
+          debug x => _1;                   // in scope 1 at $DIR/large_array_index.rs:+2:9: +2:10
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/large_array_index.rs:6:9: 6:10
-          StorageLive(_2);                 // scope 0 at $DIR/large_array_index.rs:6:17: 6:29
-          _2 = [const 0_u8; 5000];         // scope 0 at $DIR/large_array_index.rs:6:17: 6:29
-          StorageLive(_3);                 // scope 0 at $DIR/large_array_index.rs:6:30: 6:31
-          _3 = const 2_usize;              // scope 0 at $DIR/large_array_index.rs:6:30: 6:31
-          _4 = const 5000_usize;           // scope 0 at $DIR/large_array_index.rs:6:17: 6:32
--         _5 = Lt(_3, _4);                 // scope 0 at $DIR/large_array_index.rs:6:17: 6:32
--         assert(move _5, "index out of bounds: the length is {} but the index is {}", move _4, _3) -> bb1; // scope 0 at $DIR/large_array_index.rs:6:17: 6:32
-+         _5 = const true;                 // scope 0 at $DIR/large_array_index.rs:6:17: 6:32
-+         assert(const true, "index out of bounds: the length is {} but the index is {}", const 5000_usize, const 2_usize) -> bb1; // scope 0 at $DIR/large_array_index.rs:6:17: 6:32
+          StorageLive(_1);                 // scope 0 at $DIR/large_array_index.rs:+2:9: +2:10
+          StorageLive(_2);                 // scope 0 at $DIR/large_array_index.rs:+2:17: +2:29
+          _2 = [const 0_u8; 5000];         // scope 0 at $DIR/large_array_index.rs:+2:17: +2:29
+          StorageLive(_3);                 // scope 0 at $DIR/large_array_index.rs:+2:30: +2:31
+          _3 = const 2_usize;              // scope 0 at $DIR/large_array_index.rs:+2:30: +2:31
+          _4 = const 5000_usize;           // scope 0 at $DIR/large_array_index.rs:+2:17: +2:32
+-         _5 = Lt(_3, _4);                 // scope 0 at $DIR/large_array_index.rs:+2:17: +2:32
+-         assert(move _5, "index out of bounds: the length is {} but the index is {}", move _4, _3) -> bb1; // scope 0 at $DIR/large_array_index.rs:+2:17: +2:32
++         _5 = const true;                 // scope 0 at $DIR/large_array_index.rs:+2:17: +2:32
++         assert(const true, "index out of bounds: the length is {} but the index is {}", const 5000_usize, const 2_usize) -> bb1; // scope 0 at $DIR/large_array_index.rs:+2:17: +2:32
       }
   
       bb1: {
-          _1 = _2[_3];                     // scope 0 at $DIR/large_array_index.rs:6:17: 6:32
-          StorageDead(_3);                 // scope 0 at $DIR/large_array_index.rs:6:32: 6:33
-          StorageDead(_2);                 // scope 0 at $DIR/large_array_index.rs:6:32: 6:33
-          nop;                             // scope 0 at $DIR/large_array_index.rs:4:11: 7:2
-          StorageDead(_1);                 // scope 0 at $DIR/large_array_index.rs:7:1: 7:2
-          return;                          // scope 0 at $DIR/large_array_index.rs:7:2: 7:2
+          _1 = _2[_3];                     // scope 0 at $DIR/large_array_index.rs:+2:17: +2:32
+          StorageDead(_3);                 // scope 0 at $DIR/large_array_index.rs:+2:32: +2:33
+          StorageDead(_2);                 // scope 0 at $DIR/large_array_index.rs:+2:32: +2:33
+          nop;                             // scope 0 at $DIR/large_array_index.rs:+0:11: +3:2
+          StorageDead(_1);                 // scope 0 at $DIR/large_array_index.rs:+3:1: +3:2
+          return;                          // scope 0 at $DIR/large_array_index.rs:+3:2: +3:2
       }
   }
   
index 84ae8cc7477e37b6e3d4f3eac82a2d33ceb6cdc4..629c8e60148fdbd8fdf465cedaa593b51e1643b3 100644 (file)
@@ -2,17 +2,17 @@
 + // MIR for `test` after ConstProp
   
   fn test(_1: i32) -> i32 {
-      debug x => _1;                       // in scope 0 at $DIR/mult_by_zero.rs:4:9: 4:10
-      let mut _0: i32;                     // return place in scope 0 at $DIR/mult_by_zero.rs:4:21: 4:24
-      let mut _2: i32;                     // in scope 0 at $DIR/mult_by_zero.rs:5:3: 5:4
+      debug x => _1;                       // in scope 0 at $DIR/mult_by_zero.rs:+0:9: +0:10
+      let mut _0: i32;                     // return place in scope 0 at $DIR/mult_by_zero.rs:+0:21: +0:24
+      let mut _2: i32;                     // in scope 0 at $DIR/mult_by_zero.rs:+1:3: +1:4
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/mult_by_zero.rs:5:3: 5:4
-          _2 = _1;                         // scope 0 at $DIR/mult_by_zero.rs:5:3: 5:4
--         _0 = Mul(move _2, const 0_i32);  // scope 0 at $DIR/mult_by_zero.rs:5:3: 5:8
-+         _0 = const 0_i32;                // scope 0 at $DIR/mult_by_zero.rs:5:3: 5:8
-          StorageDead(_2);                 // scope 0 at $DIR/mult_by_zero.rs:5:7: 5:8
-          return;                          // scope 0 at $DIR/mult_by_zero.rs:6:2: 6:2
+          StorageLive(_2);                 // scope 0 at $DIR/mult_by_zero.rs:+1:3: +1:4
+          _2 = _1;                         // scope 0 at $DIR/mult_by_zero.rs:+1:3: +1:4
+-         _0 = Mul(move _2, const 0_i32);  // scope 0 at $DIR/mult_by_zero.rs:+1:3: +1:8
++         _0 = const 0_i32;                // scope 0 at $DIR/mult_by_zero.rs:+1:3: +1:8
+          StorageDead(_2);                 // scope 0 at $DIR/mult_by_zero.rs:+1:7: +1:8
+          return;                          // scope 0 at $DIR/mult_by_zero.rs:+2:2: +2:2
       }
   }
   
index f159cfa025cc86d052097967ecdc5616c27430d0..3bbd6a87f97144bf6f3edfe57bebc2fdaa82856e 100644 (file)
@@ -2,27 +2,27 @@
 + // MIR for `main` after ConstProp
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/mutable_variable.rs:4:11: 4:11
-      let mut _1: i32;                     // in scope 0 at $DIR/mutable_variable.rs:5:9: 5:14
+      let mut _0: ();                      // return place in scope 0 at $DIR/mutable_variable.rs:+0:11: +0:11
+      let mut _1: i32;                     // in scope 0 at $DIR/mutable_variable.rs:+1:9: +1:14
       scope 1 {
-          debug x => _1;                   // in scope 1 at $DIR/mutable_variable.rs:5:9: 5:14
-          let _2: i32;                     // in scope 1 at $DIR/mutable_variable.rs:7:9: 7:10
+          debug x => _1;                   // in scope 1 at $DIR/mutable_variable.rs:+1:9: +1:14
+          let _2: i32;                     // in scope 1 at $DIR/mutable_variable.rs:+3:9: +3:10
           scope 2 {
-              debug y => _2;               // in scope 2 at $DIR/mutable_variable.rs:7:9: 7:10
+              debug y => _2;               // in scope 2 at $DIR/mutable_variable.rs:+3:9: +3:10
           }
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/mutable_variable.rs:5:9: 5:14
-          _1 = const 42_i32;               // scope 0 at $DIR/mutable_variable.rs:5:17: 5:19
-          _1 = const 99_i32;               // scope 1 at $DIR/mutable_variable.rs:6:5: 6:11
-          StorageLive(_2);                 // scope 1 at $DIR/mutable_variable.rs:7:9: 7:10
--         _2 = _1;                         // scope 1 at $DIR/mutable_variable.rs:7:13: 7:14
-+         _2 = const 99_i32;               // scope 1 at $DIR/mutable_variable.rs:7:13: 7:14
-          nop;                             // scope 0 at $DIR/mutable_variable.rs:4:11: 8:2
-          StorageDead(_2);                 // scope 1 at $DIR/mutable_variable.rs:8:1: 8:2
-          StorageDead(_1);                 // scope 0 at $DIR/mutable_variable.rs:8:1: 8:2
-          return;                          // scope 0 at $DIR/mutable_variable.rs:8:2: 8:2
+          StorageLive(_1);                 // scope 0 at $DIR/mutable_variable.rs:+1:9: +1:14
+          _1 = const 42_i32;               // scope 0 at $DIR/mutable_variable.rs:+1:17: +1:19
+          _1 = const 99_i32;               // scope 1 at $DIR/mutable_variable.rs:+2:5: +2:11
+          StorageLive(_2);                 // scope 1 at $DIR/mutable_variable.rs:+3:9: +3:10
+-         _2 = _1;                         // scope 1 at $DIR/mutable_variable.rs:+3:13: +3:14
++         _2 = const 99_i32;               // scope 1 at $DIR/mutable_variable.rs:+3:13: +3:14
+          nop;                             // scope 0 at $DIR/mutable_variable.rs:+0:11: +4:2
+          StorageDead(_2);                 // scope 1 at $DIR/mutable_variable.rs:+4:1: +4:2
+          StorageDead(_1);                 // scope 0 at $DIR/mutable_variable.rs:+4:1: +4:2
+          return;                          // scope 0 at $DIR/mutable_variable.rs:+4:2: +4:2
       }
   }
   
index b1deebe40fac0b6db93eced5d35e363a717a6b95..fed6a98b9f3644ef11aa7f7d7ec36e5a2c9fbcb8 100644 (file)
@@ -2,29 +2,29 @@
 + // MIR for `main` after ConstProp
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/mutable_variable_aggregate.rs:4:11: 4:11
-      let mut _1: (i32, i32);              // in scope 0 at $DIR/mutable_variable_aggregate.rs:5:9: 5:14
+      let mut _0: ();                      // return place in scope 0 at $DIR/mutable_variable_aggregate.rs:+0:11: +0:11
+      let mut _1: (i32, i32);              // in scope 0 at $DIR/mutable_variable_aggregate.rs:+1:9: +1:14
       scope 1 {
-          debug x => _1;                   // in scope 1 at $DIR/mutable_variable_aggregate.rs:5:9: 5:14
-          let _2: (i32, i32);              // in scope 1 at $DIR/mutable_variable_aggregate.rs:7:9: 7:10
+          debug x => _1;                   // in scope 1 at $DIR/mutable_variable_aggregate.rs:+1:9: +1:14
+          let _2: (i32, i32);              // in scope 1 at $DIR/mutable_variable_aggregate.rs:+3:9: +3:10
           scope 2 {
-              debug y => _2;               // in scope 2 at $DIR/mutable_variable_aggregate.rs:7:9: 7:10
+              debug y => _2;               // in scope 2 at $DIR/mutable_variable_aggregate.rs:+3:9: +3:10
           }
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/mutable_variable_aggregate.rs:5:9: 5:14
-          Deinit(_1);                      // scope 0 at $DIR/mutable_variable_aggregate.rs:5:17: 5:25
-          (_1.0: i32) = const 42_i32;      // scope 0 at $DIR/mutable_variable_aggregate.rs:5:17: 5:25
-          (_1.1: i32) = const 43_i32;      // scope 0 at $DIR/mutable_variable_aggregate.rs:5:17: 5:25
-          (_1.1: i32) = const 99_i32;      // scope 1 at $DIR/mutable_variable_aggregate.rs:6:5: 6:13
-          StorageLive(_2);                 // scope 1 at $DIR/mutable_variable_aggregate.rs:7:9: 7:10
--         _2 = _1;                         // scope 1 at $DIR/mutable_variable_aggregate.rs:7:13: 7:14
-+         _2 = const (42_i32, 99_i32);     // scope 1 at $DIR/mutable_variable_aggregate.rs:7:13: 7:14
-          nop;                             // scope 0 at $DIR/mutable_variable_aggregate.rs:4:11: 8:2
-          StorageDead(_2);                 // scope 1 at $DIR/mutable_variable_aggregate.rs:8:1: 8:2
-          StorageDead(_1);                 // scope 0 at $DIR/mutable_variable_aggregate.rs:8:1: 8:2
-          return;                          // scope 0 at $DIR/mutable_variable_aggregate.rs:8:2: 8:2
+          StorageLive(_1);                 // scope 0 at $DIR/mutable_variable_aggregate.rs:+1:9: +1:14
+          Deinit(_1);                      // scope 0 at $DIR/mutable_variable_aggregate.rs:+1:17: +1:25
+          (_1.0: i32) = const 42_i32;      // scope 0 at $DIR/mutable_variable_aggregate.rs:+1:17: +1:25
+          (_1.1: i32) = const 43_i32;      // scope 0 at $DIR/mutable_variable_aggregate.rs:+1:17: +1:25
+          (_1.1: i32) = const 99_i32;      // scope 1 at $DIR/mutable_variable_aggregate.rs:+2:5: +2:13
+          StorageLive(_2);                 // scope 1 at $DIR/mutable_variable_aggregate.rs:+3:9: +3:10
+-         _2 = _1;                         // scope 1 at $DIR/mutable_variable_aggregate.rs:+3:13: +3:14
++         _2 = const (42_i32, 99_i32);     // scope 1 at $DIR/mutable_variable_aggregate.rs:+3:13: +3:14
+          nop;                             // scope 0 at $DIR/mutable_variable_aggregate.rs:+0:11: +4:2
+          StorageDead(_2);                 // scope 1 at $DIR/mutable_variable_aggregate.rs:+4:1: +4:2
+          StorageDead(_1);                 // scope 0 at $DIR/mutable_variable_aggregate.rs:+4:1: +4:2
+          return;                          // scope 0 at $DIR/mutable_variable_aggregate.rs:+4:2: +4:2
       }
   }
   
index 07208ad0d2b58f5a1abaaf9190ae69fb801a7917..90eebd8feac60e2fe6b98cb34aba6ce9a43303fa 100644 (file)
@@ -2,35 +2,35 @@
 + // MIR for `main` after ConstProp
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/mutable_variable_aggregate_mut_ref.rs:4:11: 4:11
-      let mut _1: (i32, i32);              // in scope 0 at $DIR/mutable_variable_aggregate_mut_ref.rs:5:9: 5:14
+      let mut _0: ();                      // return place in scope 0 at $DIR/mutable_variable_aggregate_mut_ref.rs:+0:11: +0:11
+      let mut _1: (i32, i32);              // in scope 0 at $DIR/mutable_variable_aggregate_mut_ref.rs:+1:9: +1:14
       scope 1 {
-          debug x => _1;                   // in scope 1 at $DIR/mutable_variable_aggregate_mut_ref.rs:5:9: 5:14
-          let _2: &mut (i32, i32);         // in scope 1 at $DIR/mutable_variable_aggregate_mut_ref.rs:6:9: 6:10
+          debug x => _1;                   // in scope 1 at $DIR/mutable_variable_aggregate_mut_ref.rs:+1:9: +1:14
+          let _2: &mut (i32, i32);         // in scope 1 at $DIR/mutable_variable_aggregate_mut_ref.rs:+2:9: +2:10
           scope 2 {
-              debug z => _2;               // in scope 2 at $DIR/mutable_variable_aggregate_mut_ref.rs:6:9: 6:10
-              let _3: (i32, i32);          // in scope 2 at $DIR/mutable_variable_aggregate_mut_ref.rs:8:9: 8:10
+              debug z => _2;               // in scope 2 at $DIR/mutable_variable_aggregate_mut_ref.rs:+2:9: +2:10
+              let _3: (i32, i32);          // in scope 2 at $DIR/mutable_variable_aggregate_mut_ref.rs:+4:9: +4:10
               scope 3 {
-                  debug y => _3;           // in scope 3 at $DIR/mutable_variable_aggregate_mut_ref.rs:8:9: 8:10
+                  debug y => _3;           // in scope 3 at $DIR/mutable_variable_aggregate_mut_ref.rs:+4:9: +4:10
               }
           }
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/mutable_variable_aggregate_mut_ref.rs:5:9: 5:14
-          Deinit(_1);                      // scope 0 at $DIR/mutable_variable_aggregate_mut_ref.rs:5:17: 5:25
-          (_1.0: i32) = const 42_i32;      // scope 0 at $DIR/mutable_variable_aggregate_mut_ref.rs:5:17: 5:25
-          (_1.1: i32) = const 43_i32;      // scope 0 at $DIR/mutable_variable_aggregate_mut_ref.rs:5:17: 5:25
-          StorageLive(_2);                 // scope 1 at $DIR/mutable_variable_aggregate_mut_ref.rs:6:9: 6:10
-          _2 = &mut _1;                    // scope 1 at $DIR/mutable_variable_aggregate_mut_ref.rs:6:13: 6:19
-          ((*_2).1: i32) = const 99_i32;   // scope 2 at $DIR/mutable_variable_aggregate_mut_ref.rs:7:5: 7:13
-          StorageLive(_3);                 // scope 2 at $DIR/mutable_variable_aggregate_mut_ref.rs:8:9: 8:10
-          _3 = _1;                         // scope 2 at $DIR/mutable_variable_aggregate_mut_ref.rs:8:13: 8:14
-          nop;                             // scope 0 at $DIR/mutable_variable_aggregate_mut_ref.rs:4:11: 9:2
-          StorageDead(_3);                 // scope 2 at $DIR/mutable_variable_aggregate_mut_ref.rs:9:1: 9:2
-          StorageDead(_2);                 // scope 1 at $DIR/mutable_variable_aggregate_mut_ref.rs:9:1: 9:2
-          StorageDead(_1);                 // scope 0 at $DIR/mutable_variable_aggregate_mut_ref.rs:9:1: 9:2
-          return;                          // scope 0 at $DIR/mutable_variable_aggregate_mut_ref.rs:9:2: 9:2
+          StorageLive(_1);                 // scope 0 at $DIR/mutable_variable_aggregate_mut_ref.rs:+1:9: +1:14
+          Deinit(_1);                      // scope 0 at $DIR/mutable_variable_aggregate_mut_ref.rs:+1:17: +1:25
+          (_1.0: i32) = const 42_i32;      // scope 0 at $DIR/mutable_variable_aggregate_mut_ref.rs:+1:17: +1:25
+          (_1.1: i32) = const 43_i32;      // scope 0 at $DIR/mutable_variable_aggregate_mut_ref.rs:+1:17: +1:25
+          StorageLive(_2);                 // scope 1 at $DIR/mutable_variable_aggregate_mut_ref.rs:+2:9: +2:10
+          _2 = &mut _1;                    // scope 1 at $DIR/mutable_variable_aggregate_mut_ref.rs:+2:13: +2:19
+          ((*_2).1: i32) = const 99_i32;   // scope 2 at $DIR/mutable_variable_aggregate_mut_ref.rs:+3:5: +3:13
+          StorageLive(_3);                 // scope 2 at $DIR/mutable_variable_aggregate_mut_ref.rs:+4:9: +4:10
+          _3 = _1;                         // scope 2 at $DIR/mutable_variable_aggregate_mut_ref.rs:+4:13: +4:14
+          nop;                             // scope 0 at $DIR/mutable_variable_aggregate_mut_ref.rs:+0:11: +5:2
+          StorageDead(_3);                 // scope 2 at $DIR/mutable_variable_aggregate_mut_ref.rs:+5:1: +5:2
+          StorageDead(_2);                 // scope 1 at $DIR/mutable_variable_aggregate_mut_ref.rs:+5:1: +5:2
+          StorageDead(_1);                 // scope 0 at $DIR/mutable_variable_aggregate_mut_ref.rs:+5:1: +5:2
+          return;                          // scope 0 at $DIR/mutable_variable_aggregate_mut_ref.rs:+5:2: +5:2
       }
   }
   
index 724cf096f5946580d90a27e0182a6ce4a6f049fb..c678f7b0327633d6ffad6e1f68c61e2dc26ea294 100644 (file)
@@ -2,34 +2,34 @@
 + // MIR for `main` after ConstProp
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/mutable_variable_aggregate_partial_read.rs:4:11: 4:11
-      let mut _1: (i32, i32);              // in scope 0 at $DIR/mutable_variable_aggregate_partial_read.rs:5:9: 5:14
+      let mut _0: ();                      // return place in scope 0 at $DIR/mutable_variable_aggregate_partial_read.rs:+0:11: +0:11
+      let mut _1: (i32, i32);              // in scope 0 at $DIR/mutable_variable_aggregate_partial_read.rs:+1:9: +1:14
       scope 1 {
-          debug x => _1;                   // in scope 1 at $DIR/mutable_variable_aggregate_partial_read.rs:5:9: 5:14
-          let _2: i32;                     // in scope 1 at $DIR/mutable_variable_aggregate_partial_read.rs:8:9: 8:10
+          debug x => _1;                   // in scope 1 at $DIR/mutable_variable_aggregate_partial_read.rs:+1:9: +1:14
+          let _2: i32;                     // in scope 1 at $DIR/mutable_variable_aggregate_partial_read.rs:+4:9: +4:10
           scope 2 {
-              debug y => _2;               // in scope 2 at $DIR/mutable_variable_aggregate_partial_read.rs:8:9: 8:10
+              debug y => _2;               // in scope 2 at $DIR/mutable_variable_aggregate_partial_read.rs:+4:9: +4:10
           }
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/mutable_variable_aggregate_partial_read.rs:5:9: 5:14
-          _1 = foo() -> bb1;               // scope 0 at $DIR/mutable_variable_aggregate_partial_read.rs:5:29: 5:34
+          StorageLive(_1);                 // scope 0 at $DIR/mutable_variable_aggregate_partial_read.rs:+1:9: +1:14
+          _1 = foo() -> bb1;               // scope 0 at $DIR/mutable_variable_aggregate_partial_read.rs:+1:29: +1:34
                                            // mir::Constant
                                            // + span: $DIR/mutable_variable_aggregate_partial_read.rs:5:29: 5:32
                                            // + literal: Const { ty: fn() -> (i32, i32) {foo}, val: Value(<ZST>) }
       }
   
       bb1: {
-          (_1.1: i32) = const 99_i32;      // scope 1 at $DIR/mutable_variable_aggregate_partial_read.rs:6:5: 6:13
-          (_1.0: i32) = const 42_i32;      // scope 1 at $DIR/mutable_variable_aggregate_partial_read.rs:7:5: 7:13
-          StorageLive(_2);                 // scope 1 at $DIR/mutable_variable_aggregate_partial_read.rs:8:9: 8:10
--         _2 = (_1.1: i32);                // scope 1 at $DIR/mutable_variable_aggregate_partial_read.rs:8:13: 8:16
-+         _2 = const 99_i32;               // scope 1 at $DIR/mutable_variable_aggregate_partial_read.rs:8:13: 8:16
-          nop;                             // scope 0 at $DIR/mutable_variable_aggregate_partial_read.rs:4:11: 9:2
-          StorageDead(_2);                 // scope 1 at $DIR/mutable_variable_aggregate_partial_read.rs:9:1: 9:2
-          StorageDead(_1);                 // scope 0 at $DIR/mutable_variable_aggregate_partial_read.rs:9:1: 9:2
-          return;                          // scope 0 at $DIR/mutable_variable_aggregate_partial_read.rs:9:2: 9:2
+          (_1.1: i32) = const 99_i32;      // scope 1 at $DIR/mutable_variable_aggregate_partial_read.rs:+2:5: +2:13
+          (_1.0: i32) = const 42_i32;      // scope 1 at $DIR/mutable_variable_aggregate_partial_read.rs:+3:5: +3:13
+          StorageLive(_2);                 // scope 1 at $DIR/mutable_variable_aggregate_partial_read.rs:+4:9: +4:10
+-         _2 = (_1.1: i32);                // scope 1 at $DIR/mutable_variable_aggregate_partial_read.rs:+4:13: +4:16
++         _2 = const 99_i32;               // scope 1 at $DIR/mutable_variable_aggregate_partial_read.rs:+4:13: +4:16
+          nop;                             // scope 0 at $DIR/mutable_variable_aggregate_partial_read.rs:+0:11: +5:2
+          StorageDead(_2);                 // scope 1 at $DIR/mutable_variable_aggregate_partial_read.rs:+5:1: +5:2
+          StorageDead(_1);                 // scope 0 at $DIR/mutable_variable_aggregate_partial_read.rs:+5:1: +5:2
+          return;                          // scope 0 at $DIR/mutable_variable_aggregate_partial_read.rs:+5:2: +5:2
       }
   }
   
index 1fd92ddd461905413f4b81d75dedf1bfba77ac51..4c2ba9a099815fe038663afeb4736c8f8d7f2d61 100644 (file)
@@ -2,43 +2,43 @@
 + // MIR for `main` after ConstProp
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/mutable_variable_no_prop.rs:6:11: 6:11
-      let mut _1: u32;                     // in scope 0 at $DIR/mutable_variable_no_prop.rs:7:9: 7:14
-      let _2: ();                          // in scope 0 at $DIR/mutable_variable_no_prop.rs:8:5: 10:6
-      let mut _3: u32;                     // in scope 0 at $DIR/mutable_variable_no_prop.rs:9:13: 9:19
-      let mut _4: *mut u32;                // in scope 0 at $DIR/mutable_variable_no_prop.rs:9:13: 9:19
+      let mut _0: ();                      // return place in scope 0 at $DIR/mutable_variable_no_prop.rs:+0:11: +0:11
+      let mut _1: u32;                     // in scope 0 at $DIR/mutable_variable_no_prop.rs:+1:9: +1:14
+      let _2: ();                          // in scope 0 at $DIR/mutable_variable_no_prop.rs:+2:5: +4:6
+      let mut _3: u32;                     // in scope 0 at $DIR/mutable_variable_no_prop.rs:+3:13: +3:19
+      let mut _4: *mut u32;                // in scope 0 at $DIR/mutable_variable_no_prop.rs:+3:13: +3:19
       scope 1 {
-          debug x => _1;                   // in scope 1 at $DIR/mutable_variable_no_prop.rs:7:9: 7:14
-          let _5: u32;                     // in scope 1 at $DIR/mutable_variable_no_prop.rs:11:9: 11:10
+          debug x => _1;                   // in scope 1 at $DIR/mutable_variable_no_prop.rs:+1:9: +1:14
+          let _5: u32;                     // in scope 1 at $DIR/mutable_variable_no_prop.rs:+5:9: +5:10
           scope 2 {
           }
           scope 3 {
-              debug y => _5;               // in scope 3 at $DIR/mutable_variable_no_prop.rs:11:9: 11:10
+              debug y => _5;               // in scope 3 at $DIR/mutable_variable_no_prop.rs:+5:9: +5:10
           }
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/mutable_variable_no_prop.rs:7:9: 7:14
-          _1 = const 42_u32;               // scope 0 at $DIR/mutable_variable_no_prop.rs:7:17: 7:19
-          StorageLive(_2);                 // scope 1 at $DIR/mutable_variable_no_prop.rs:8:5: 10:6
-          StorageLive(_3);                 // scope 2 at $DIR/mutable_variable_no_prop.rs:9:13: 9:19
-          StorageLive(_4);                 // scope 2 at $DIR/mutable_variable_no_prop.rs:9:13: 9:19
-          _4 = const {alloc1: *mut u32};   // scope 2 at $DIR/mutable_variable_no_prop.rs:9:13: 9:19
+          StorageLive(_1);                 // scope 0 at $DIR/mutable_variable_no_prop.rs:+1:9: +1:14
+          _1 = const 42_u32;               // scope 0 at $DIR/mutable_variable_no_prop.rs:+1:17: +1:19
+          StorageLive(_2);                 // scope 1 at $DIR/mutable_variable_no_prop.rs:+2:5: +4:6
+          StorageLive(_3);                 // scope 2 at $DIR/mutable_variable_no_prop.rs:+3:13: +3:19
+          StorageLive(_4);                 // scope 2 at $DIR/mutable_variable_no_prop.rs:+3:13: +3:19
+          _4 = const {alloc1: *mut u32};   // scope 2 at $DIR/mutable_variable_no_prop.rs:+3:13: +3:19
                                            // mir::Constant
                                            // + span: $DIR/mutable_variable_no_prop.rs:9:13: 9:19
                                            // + literal: Const { ty: *mut u32, val: Value(Scalar(alloc1)) }
-          _3 = (*_4);                      // scope 2 at $DIR/mutable_variable_no_prop.rs:9:13: 9:19
-          _1 = move _3;                    // scope 2 at $DIR/mutable_variable_no_prop.rs:9:9: 9:19
-          StorageDead(_3);                 // scope 2 at $DIR/mutable_variable_no_prop.rs:9:18: 9:19
-          StorageDead(_4);                 // scope 2 at $DIR/mutable_variable_no_prop.rs:9:19: 9:20
-          nop;                             // scope 2 at $DIR/mutable_variable_no_prop.rs:8:5: 10:6
-          StorageDead(_2);                 // scope 1 at $DIR/mutable_variable_no_prop.rs:10:5: 10:6
-          StorageLive(_5);                 // scope 1 at $DIR/mutable_variable_no_prop.rs:11:9: 11:10
-          _5 = _1;                         // scope 1 at $DIR/mutable_variable_no_prop.rs:11:13: 11:14
-          nop;                             // scope 0 at $DIR/mutable_variable_no_prop.rs:6:11: 12:2
-          StorageDead(_5);                 // scope 1 at $DIR/mutable_variable_no_prop.rs:12:1: 12:2
-          StorageDead(_1);                 // scope 0 at $DIR/mutable_variable_no_prop.rs:12:1: 12:2
-          return;                          // scope 0 at $DIR/mutable_variable_no_prop.rs:12:2: 12:2
+          _3 = (*_4);                      // scope 2 at $DIR/mutable_variable_no_prop.rs:+3:13: +3:19
+          _1 = move _3;                    // scope 2 at $DIR/mutable_variable_no_prop.rs:+3:9: +3:19
+          StorageDead(_3);                 // scope 2 at $DIR/mutable_variable_no_prop.rs:+3:18: +3:19
+          StorageDead(_4);                 // scope 2 at $DIR/mutable_variable_no_prop.rs:+3:19: +3:20
+          nop;                             // scope 2 at $DIR/mutable_variable_no_prop.rs:+2:5: +4:6
+          StorageDead(_2);                 // scope 1 at $DIR/mutable_variable_no_prop.rs:+4:5: +4:6
+          StorageLive(_5);                 // scope 1 at $DIR/mutable_variable_no_prop.rs:+5:9: +5:10
+          _5 = _1;                         // scope 1 at $DIR/mutable_variable_no_prop.rs:+5:13: +5:14
+          nop;                             // scope 0 at $DIR/mutable_variable_no_prop.rs:+0:11: +6:2
+          StorageDead(_5);                 // scope 1 at $DIR/mutable_variable_no_prop.rs:+6:1: +6:2
+          StorageDead(_1);                 // scope 0 at $DIR/mutable_variable_no_prop.rs:+6:1: +6:2
+          return;                          // scope 0 at $DIR/mutable_variable_no_prop.rs:+6:2: +6:2
       }
   }
   
index a22efa7eaf50a256ef4fd9765fc335ce3d35cc91..5328792b323888dda92979c9fe6eb0c38442489e 100644 (file)
@@ -2,52 +2,52 @@
 + // MIR for `main` after ConstProp
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/mutable_variable_unprop_assign.rs:4:11: 4:11
-      let _1: i32;                         // in scope 0 at $DIR/mutable_variable_unprop_assign.rs:5:9: 5:10
-      let mut _3: i32;                     // in scope 0 at $DIR/mutable_variable_unprop_assign.rs:7:11: 7:12
+      let mut _0: ();                      // return place in scope 0 at $DIR/mutable_variable_unprop_assign.rs:+0:11: +0:11
+      let _1: i32;                         // in scope 0 at $DIR/mutable_variable_unprop_assign.rs:+1:9: +1:10
+      let mut _3: i32;                     // in scope 0 at $DIR/mutable_variable_unprop_assign.rs:+3:11: +3:12
       scope 1 {
-          debug a => _1;                   // in scope 1 at $DIR/mutable_variable_unprop_assign.rs:5:9: 5:10
-          let mut _2: (i32, i32);          // in scope 1 at $DIR/mutable_variable_unprop_assign.rs:6:9: 6:14
+          debug a => _1;                   // in scope 1 at $DIR/mutable_variable_unprop_assign.rs:+1:9: +1:10
+          let mut _2: (i32, i32);          // in scope 1 at $DIR/mutable_variable_unprop_assign.rs:+2:9: +2:14
           scope 2 {
-              debug x => _2;               // in scope 2 at $DIR/mutable_variable_unprop_assign.rs:6:9: 6:14
-              let _4: i32;                 // in scope 2 at $DIR/mutable_variable_unprop_assign.rs:8:9: 8:10
+              debug x => _2;               // in scope 2 at $DIR/mutable_variable_unprop_assign.rs:+2:9: +2:14
+              let _4: i32;                 // in scope 2 at $DIR/mutable_variable_unprop_assign.rs:+4:9: +4:10
               scope 3 {
-                  debug y => _4;           // in scope 3 at $DIR/mutable_variable_unprop_assign.rs:8:9: 8:10
-                  let _5: i32;             // in scope 3 at $DIR/mutable_variable_unprop_assign.rs:9:9: 9:10
+                  debug y => _4;           // in scope 3 at $DIR/mutable_variable_unprop_assign.rs:+4:9: +4:10
+                  let _5: i32;             // in scope 3 at $DIR/mutable_variable_unprop_assign.rs:+5:9: +5:10
                   scope 4 {
-                      debug z => _5;       // in scope 4 at $DIR/mutable_variable_unprop_assign.rs:9:9: 9:10
+                      debug z => _5;       // in scope 4 at $DIR/mutable_variable_unprop_assign.rs:+5:9: +5:10
                   }
               }
           }
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/mutable_variable_unprop_assign.rs:5:9: 5:10
-          _1 = foo() -> bb1;               // scope 0 at $DIR/mutable_variable_unprop_assign.rs:5:13: 5:18
+          StorageLive(_1);                 // scope 0 at $DIR/mutable_variable_unprop_assign.rs:+1:9: +1:10
+          _1 = foo() -> bb1;               // scope 0 at $DIR/mutable_variable_unprop_assign.rs:+1:13: +1:18
                                            // mir::Constant
                                            // + span: $DIR/mutable_variable_unprop_assign.rs:5:13: 5:16
                                            // + literal: Const { ty: fn() -> i32 {foo}, val: Value(<ZST>) }
       }
   
       bb1: {
-          StorageLive(_2);                 // scope 1 at $DIR/mutable_variable_unprop_assign.rs:6:9: 6:14
-          Deinit(_2);                      // scope 1 at $DIR/mutable_variable_unprop_assign.rs:6:29: 6:35
-          (_2.0: i32) = const 1_i32;       // scope 1 at $DIR/mutable_variable_unprop_assign.rs:6:29: 6:35
-          (_2.1: i32) = const 2_i32;       // scope 1 at $DIR/mutable_variable_unprop_assign.rs:6:29: 6:35
-          StorageLive(_3);                 // scope 2 at $DIR/mutable_variable_unprop_assign.rs:7:11: 7:12
-          _3 = _1;                         // scope 2 at $DIR/mutable_variable_unprop_assign.rs:7:11: 7:12
-          (_2.1: i32) = move _3;           // scope 2 at $DIR/mutable_variable_unprop_assign.rs:7:5: 7:12
-          StorageDead(_3);                 // scope 2 at $DIR/mutable_variable_unprop_assign.rs:7:11: 7:12
-          StorageLive(_4);                 // scope 2 at $DIR/mutable_variable_unprop_assign.rs:8:9: 8:10
-          _4 = (_2.1: i32);                // scope 2 at $DIR/mutable_variable_unprop_assign.rs:8:13: 8:16
-          StorageLive(_5);                 // scope 3 at $DIR/mutable_variable_unprop_assign.rs:9:9: 9:10
-          _5 = (_2.0: i32);                // scope 3 at $DIR/mutable_variable_unprop_assign.rs:9:13: 9:16
-          nop;                             // scope 0 at $DIR/mutable_variable_unprop_assign.rs:4:11: 10:2
-          StorageDead(_5);                 // scope 3 at $DIR/mutable_variable_unprop_assign.rs:10:1: 10:2
-          StorageDead(_4);                 // scope 2 at $DIR/mutable_variable_unprop_assign.rs:10:1: 10:2
-          StorageDead(_2);                 // scope 1 at $DIR/mutable_variable_unprop_assign.rs:10:1: 10:2
-          StorageDead(_1);                 // scope 0 at $DIR/mutable_variable_unprop_assign.rs:10:1: 10:2
-          return;                          // scope 0 at $DIR/mutable_variable_unprop_assign.rs:10:2: 10:2
+          StorageLive(_2);                 // scope 1 at $DIR/mutable_variable_unprop_assign.rs:+2:9: +2:14
+          Deinit(_2);                      // scope 1 at $DIR/mutable_variable_unprop_assign.rs:+2:29: +2:35
+          (_2.0: i32) = const 1_i32;       // scope 1 at $DIR/mutable_variable_unprop_assign.rs:+2:29: +2:35
+          (_2.1: i32) = const 2_i32;       // scope 1 at $DIR/mutable_variable_unprop_assign.rs:+2:29: +2:35
+          StorageLive(_3);                 // scope 2 at $DIR/mutable_variable_unprop_assign.rs:+3:11: +3:12
+          _3 = _1;                         // scope 2 at $DIR/mutable_variable_unprop_assign.rs:+3:11: +3:12
+          (_2.1: i32) = move _3;           // scope 2 at $DIR/mutable_variable_unprop_assign.rs:+3:5: +3:12
+          StorageDead(_3);                 // scope 2 at $DIR/mutable_variable_unprop_assign.rs:+3:11: +3:12
+          StorageLive(_4);                 // scope 2 at $DIR/mutable_variable_unprop_assign.rs:+4:9: +4:10
+          _4 = (_2.1: i32);                // scope 2 at $DIR/mutable_variable_unprop_assign.rs:+4:13: +4:16
+          StorageLive(_5);                 // scope 3 at $DIR/mutable_variable_unprop_assign.rs:+5:9: +5:10
+          _5 = (_2.0: i32);                // scope 3 at $DIR/mutable_variable_unprop_assign.rs:+5:13: +5:16
+          nop;                             // scope 0 at $DIR/mutable_variable_unprop_assign.rs:+0:11: +6:2
+          StorageDead(_5);                 // scope 3 at $DIR/mutable_variable_unprop_assign.rs:+6:1: +6:2
+          StorageDead(_4);                 // scope 2 at $DIR/mutable_variable_unprop_assign.rs:+6:1: +6:2
+          StorageDead(_2);                 // scope 1 at $DIR/mutable_variable_unprop_assign.rs:+6:1: +6:2
+          StorageDead(_1);                 // scope 0 at $DIR/mutable_variable_unprop_assign.rs:+6:1: +6:2
+          return;                          // scope 0 at $DIR/mutable_variable_unprop_assign.rs:+6:2: +6:2
       }
   }
   
index 72a613b26b6a34246f3a7405b5268d38c4a2adec..94aadfaf8d57bc57334208a88d47a3a54c898da3 100644 (file)
@@ -2,67 +2,67 @@
 + // MIR for `main` after ConstProp
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/optimizes_into_variable.rs:11:11: 11:11
-      let _1: i32;                         // in scope 0 at $DIR/optimizes_into_variable.rs:12:9: 12:10
-      let mut _2: (i32, bool);             // in scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
-      let mut _4: [i32; 6];                // in scope 0 at $DIR/optimizes_into_variable.rs:13:13: 13:31
-      let _5: usize;                       // in scope 0 at $DIR/optimizes_into_variable.rs:13:32: 13:33
-      let mut _6: usize;                   // in scope 0 at $DIR/optimizes_into_variable.rs:13:13: 13:34
-      let mut _7: bool;                    // in scope 0 at $DIR/optimizes_into_variable.rs:13:13: 13:34
-      let mut _9: Point;                   // in scope 0 at $DIR/optimizes_into_variable.rs:14:13: 14:36
+      let mut _0: ();                      // return place in scope 0 at $DIR/optimizes_into_variable.rs:+0:11: +0:11
+      let _1: i32;                         // in scope 0 at $DIR/optimizes_into_variable.rs:+1:9: +1:10
+      let mut _2: (i32, bool);             // in scope 0 at $DIR/optimizes_into_variable.rs:+1:13: +1:18
+      let mut _4: [i32; 6];                // in scope 0 at $DIR/optimizes_into_variable.rs:+2:13: +2:31
+      let _5: usize;                       // in scope 0 at $DIR/optimizes_into_variable.rs:+2:32: +2:33
+      let mut _6: usize;                   // in scope 0 at $DIR/optimizes_into_variable.rs:+2:13: +2:34
+      let mut _7: bool;                    // in scope 0 at $DIR/optimizes_into_variable.rs:+2:13: +2:34
+      let mut _9: Point;                   // in scope 0 at $DIR/optimizes_into_variable.rs:+3:13: +3:36
       scope 1 {
-          debug x => _1;                   // in scope 1 at $DIR/optimizes_into_variable.rs:12:9: 12:10
-          let _3: i32;                     // in scope 1 at $DIR/optimizes_into_variable.rs:13:9: 13:10
+          debug x => _1;                   // in scope 1 at $DIR/optimizes_into_variable.rs:+1:9: +1:10
+          let _3: i32;                     // in scope 1 at $DIR/optimizes_into_variable.rs:+2:9: +2:10
           scope 2 {
-              debug y => _3;               // in scope 2 at $DIR/optimizes_into_variable.rs:13:9: 13:10
-              let _8: u32;                 // in scope 2 at $DIR/optimizes_into_variable.rs:14:9: 14:10
+              debug y => _3;               // in scope 2 at $DIR/optimizes_into_variable.rs:+2:9: +2:10
+              let _8: u32;                 // in scope 2 at $DIR/optimizes_into_variable.rs:+3:9: +3:10
               scope 3 {
-                  debug z => _8;           // in scope 3 at $DIR/optimizes_into_variable.rs:14:9: 14:10
+                  debug z => _8;           // in scope 3 at $DIR/optimizes_into_variable.rs:+3:9: +3:10
               }
           }
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/optimizes_into_variable.rs:12:9: 12:10
--         _2 = CheckedAdd(const 2_i32, const 2_i32); // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
--         assert(!move (_2.1: bool), "attempt to compute `{} + {}`, which would overflow", const 2_i32, const 2_i32) -> bb1; // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
-+         _2 = const (4_i32, false);       // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
-+         assert(!const false, "attempt to compute `{} + {}`, which would overflow", const 2_i32, const 2_i32) -> bb1; // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
+          StorageLive(_1);                 // scope 0 at $DIR/optimizes_into_variable.rs:+1:9: +1:10
+-         _2 = CheckedAdd(const 2_i32, const 2_i32); // scope 0 at $DIR/optimizes_into_variable.rs:+1:13: +1:18
+-         assert(!move (_2.1: bool), "attempt to compute `{} + {}`, which would overflow", const 2_i32, const 2_i32) -> bb1; // scope 0 at $DIR/optimizes_into_variable.rs:+1:13: +1:18
++         _2 = const (4_i32, false);       // scope 0 at $DIR/optimizes_into_variable.rs:+1:13: +1:18
++         assert(!const false, "attempt to compute `{} + {}`, which would overflow", const 2_i32, const 2_i32) -> bb1; // scope 0 at $DIR/optimizes_into_variable.rs:+1:13: +1:18
       }
   
       bb1: {
--         _1 = move (_2.0: i32);           // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
-+         _1 = const 4_i32;                // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
-          StorageLive(_3);                 // scope 1 at $DIR/optimizes_into_variable.rs:13:9: 13:10
-          StorageLive(_4);                 // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:31
-          _4 = [const 0_i32, const 1_i32, const 2_i32, const 3_i32, const 4_i32, const 5_i32]; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:31
-          StorageLive(_5);                 // scope 1 at $DIR/optimizes_into_variable.rs:13:32: 13:33
-          _5 = const 3_usize;              // scope 1 at $DIR/optimizes_into_variable.rs:13:32: 13:33
-          _6 = const 6_usize;              // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
--         _7 = Lt(_5, _6);                 // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
--         assert(move _7, "index out of bounds: the length is {} but the index is {}", move _6, _5) -> bb2; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
-+         _7 = const true;                 // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
-+         assert(const true, "index out of bounds: the length is {} but the index is {}", const 6_usize, const 3_usize) -> bb2; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
+-         _1 = move (_2.0: i32);           // scope 0 at $DIR/optimizes_into_variable.rs:+1:13: +1:18
++         _1 = const 4_i32;                // scope 0 at $DIR/optimizes_into_variable.rs:+1:13: +1:18
+          StorageLive(_3);                 // scope 1 at $DIR/optimizes_into_variable.rs:+2:9: +2:10
+          StorageLive(_4);                 // scope 1 at $DIR/optimizes_into_variable.rs:+2:13: +2:31
+          _4 = [const 0_i32, const 1_i32, const 2_i32, const 3_i32, const 4_i32, const 5_i32]; // scope 1 at $DIR/optimizes_into_variable.rs:+2:13: +2:31
+          StorageLive(_5);                 // scope 1 at $DIR/optimizes_into_variable.rs:+2:32: +2:33
+          _5 = const 3_usize;              // scope 1 at $DIR/optimizes_into_variable.rs:+2:32: +2:33
+          _6 = const 6_usize;              // scope 1 at $DIR/optimizes_into_variable.rs:+2:13: +2:34
+-         _7 = Lt(_5, _6);                 // scope 1 at $DIR/optimizes_into_variable.rs:+2:13: +2:34
+-         assert(move _7, "index out of bounds: the length is {} but the index is {}", move _6, _5) -> bb2; // scope 1 at $DIR/optimizes_into_variable.rs:+2:13: +2:34
++         _7 = const true;                 // scope 1 at $DIR/optimizes_into_variable.rs:+2:13: +2:34
++         assert(const true, "index out of bounds: the length is {} but the index is {}", const 6_usize, const 3_usize) -> bb2; // scope 1 at $DIR/optimizes_into_variable.rs:+2:13: +2:34
       }
   
       bb2: {
--         _3 = _4[_5];                     // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
-+         _3 = const 3_i32;                // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
-          StorageDead(_5);                 // scope 1 at $DIR/optimizes_into_variable.rs:13:34: 13:35
-          StorageDead(_4);                 // scope 1 at $DIR/optimizes_into_variable.rs:13:34: 13:35
-          StorageLive(_8);                 // scope 2 at $DIR/optimizes_into_variable.rs:14:9: 14:10
-          StorageLive(_9);                 // scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:36
-          Deinit(_9);                      // scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:36
-          (_9.0: u32) = const 12_u32;      // scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:36
-          (_9.1: u32) = const 42_u32;      // scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:36
--         _8 = (_9.1: u32);                // scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:38
-+         _8 = const 42_u32;               // scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:38
-          StorageDead(_9);                 // scope 2 at $DIR/optimizes_into_variable.rs:14:38: 14:39
-          nop;                             // scope 0 at $DIR/optimizes_into_variable.rs:11:11: 15:2
-          StorageDead(_8);                 // scope 2 at $DIR/optimizes_into_variable.rs:15:1: 15:2
-          StorageDead(_3);                 // scope 1 at $DIR/optimizes_into_variable.rs:15:1: 15:2
-          StorageDead(_1);                 // scope 0 at $DIR/optimizes_into_variable.rs:15:1: 15:2
-          return;                          // scope 0 at $DIR/optimizes_into_variable.rs:15:2: 15:2
+-         _3 = _4[_5];                     // scope 1 at $DIR/optimizes_into_variable.rs:+2:13: +2:34
++         _3 = const 3_i32;                // scope 1 at $DIR/optimizes_into_variable.rs:+2:13: +2:34
+          StorageDead(_5);                 // scope 1 at $DIR/optimizes_into_variable.rs:+2:34: +2:35
+          StorageDead(_4);                 // scope 1 at $DIR/optimizes_into_variable.rs:+2:34: +2:35
+          StorageLive(_8);                 // scope 2 at $DIR/optimizes_into_variable.rs:+3:9: +3:10
+          StorageLive(_9);                 // scope 2 at $DIR/optimizes_into_variable.rs:+3:13: +3:36
+          Deinit(_9);                      // scope 2 at $DIR/optimizes_into_variable.rs:+3:13: +3:36
+          (_9.0: u32) = const 12_u32;      // scope 2 at $DIR/optimizes_into_variable.rs:+3:13: +3:36
+          (_9.1: u32) = const 42_u32;      // scope 2 at $DIR/optimizes_into_variable.rs:+3:13: +3:36
+-         _8 = (_9.1: u32);                // scope 2 at $DIR/optimizes_into_variable.rs:+3:13: +3:38
++         _8 = const 42_u32;               // scope 2 at $DIR/optimizes_into_variable.rs:+3:13: +3:38
+          StorageDead(_9);                 // scope 2 at $DIR/optimizes_into_variable.rs:+3:38: +3:39
+          nop;                             // scope 0 at $DIR/optimizes_into_variable.rs:+0:11: +4:2
+          StorageDead(_8);                 // scope 2 at $DIR/optimizes_into_variable.rs:+4:1: +4:2
+          StorageDead(_3);                 // scope 1 at $DIR/optimizes_into_variable.rs:+4:1: +4:2
+          StorageDead(_1);                 // scope 0 at $DIR/optimizes_into_variable.rs:+4:1: +4:2
+          return;                          // scope 0 at $DIR/optimizes_into_variable.rs:+4:2: +4:2
       }
   }
   
index 72a613b26b6a34246f3a7405b5268d38c4a2adec..94aadfaf8d57bc57334208a88d47a3a54c898da3 100644 (file)
@@ -2,67 +2,67 @@
 + // MIR for `main` after ConstProp
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/optimizes_into_variable.rs:11:11: 11:11
-      let _1: i32;                         // in scope 0 at $DIR/optimizes_into_variable.rs:12:9: 12:10
-      let mut _2: (i32, bool);             // in scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
-      let mut _4: [i32; 6];                // in scope 0 at $DIR/optimizes_into_variable.rs:13:13: 13:31
-      let _5: usize;                       // in scope 0 at $DIR/optimizes_into_variable.rs:13:32: 13:33
-      let mut _6: usize;                   // in scope 0 at $DIR/optimizes_into_variable.rs:13:13: 13:34
-      let mut _7: bool;                    // in scope 0 at $DIR/optimizes_into_variable.rs:13:13: 13:34
-      let mut _9: Point;                   // in scope 0 at $DIR/optimizes_into_variable.rs:14:13: 14:36
+      let mut _0: ();                      // return place in scope 0 at $DIR/optimizes_into_variable.rs:+0:11: +0:11
+      let _1: i32;                         // in scope 0 at $DIR/optimizes_into_variable.rs:+1:9: +1:10
+      let mut _2: (i32, bool);             // in scope 0 at $DIR/optimizes_into_variable.rs:+1:13: +1:18
+      let mut _4: [i32; 6];                // in scope 0 at $DIR/optimizes_into_variable.rs:+2:13: +2:31
+      let _5: usize;                       // in scope 0 at $DIR/optimizes_into_variable.rs:+2:32: +2:33
+      let mut _6: usize;                   // in scope 0 at $DIR/optimizes_into_variable.rs:+2:13: +2:34
+      let mut _7: bool;                    // in scope 0 at $DIR/optimizes_into_variable.rs:+2:13: +2:34
+      let mut _9: Point;                   // in scope 0 at $DIR/optimizes_into_variable.rs:+3:13: +3:36
       scope 1 {
-          debug x => _1;                   // in scope 1 at $DIR/optimizes_into_variable.rs:12:9: 12:10
-          let _3: i32;                     // in scope 1 at $DIR/optimizes_into_variable.rs:13:9: 13:10
+          debug x => _1;                   // in scope 1 at $DIR/optimizes_into_variable.rs:+1:9: +1:10
+          let _3: i32;                     // in scope 1 at $DIR/optimizes_into_variable.rs:+2:9: +2:10
           scope 2 {
-              debug y => _3;               // in scope 2 at $DIR/optimizes_into_variable.rs:13:9: 13:10
-              let _8: u32;                 // in scope 2 at $DIR/optimizes_into_variable.rs:14:9: 14:10
+              debug y => _3;               // in scope 2 at $DIR/optimizes_into_variable.rs:+2:9: +2:10
+              let _8: u32;                 // in scope 2 at $DIR/optimizes_into_variable.rs:+3:9: +3:10
               scope 3 {
-                  debug z => _8;           // in scope 3 at $DIR/optimizes_into_variable.rs:14:9: 14:10
+                  debug z => _8;           // in scope 3 at $DIR/optimizes_into_variable.rs:+3:9: +3:10
               }
           }
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/optimizes_into_variable.rs:12:9: 12:10
--         _2 = CheckedAdd(const 2_i32, const 2_i32); // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
--         assert(!move (_2.1: bool), "attempt to compute `{} + {}`, which would overflow", const 2_i32, const 2_i32) -> bb1; // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
-+         _2 = const (4_i32, false);       // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
-+         assert(!const false, "attempt to compute `{} + {}`, which would overflow", const 2_i32, const 2_i32) -> bb1; // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
+          StorageLive(_1);                 // scope 0 at $DIR/optimizes_into_variable.rs:+1:9: +1:10
+-         _2 = CheckedAdd(const 2_i32, const 2_i32); // scope 0 at $DIR/optimizes_into_variable.rs:+1:13: +1:18
+-         assert(!move (_2.1: bool), "attempt to compute `{} + {}`, which would overflow", const 2_i32, const 2_i32) -> bb1; // scope 0 at $DIR/optimizes_into_variable.rs:+1:13: +1:18
++         _2 = const (4_i32, false);       // scope 0 at $DIR/optimizes_into_variable.rs:+1:13: +1:18
++         assert(!const false, "attempt to compute `{} + {}`, which would overflow", const 2_i32, const 2_i32) -> bb1; // scope 0 at $DIR/optimizes_into_variable.rs:+1:13: +1:18
       }
   
       bb1: {
--         _1 = move (_2.0: i32);           // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
-+         _1 = const 4_i32;                // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
-          StorageLive(_3);                 // scope 1 at $DIR/optimizes_into_variable.rs:13:9: 13:10
-          StorageLive(_4);                 // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:31
-          _4 = [const 0_i32, const 1_i32, const 2_i32, const 3_i32, const 4_i32, const 5_i32]; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:31
-          StorageLive(_5);                 // scope 1 at $DIR/optimizes_into_variable.rs:13:32: 13:33
-          _5 = const 3_usize;              // scope 1 at $DIR/optimizes_into_variable.rs:13:32: 13:33
-          _6 = const 6_usize;              // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
--         _7 = Lt(_5, _6);                 // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
--         assert(move _7, "index out of bounds: the length is {} but the index is {}", move _6, _5) -> bb2; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
-+         _7 = const true;                 // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
-+         assert(const true, "index out of bounds: the length is {} but the index is {}", const 6_usize, const 3_usize) -> bb2; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
+-         _1 = move (_2.0: i32);           // scope 0 at $DIR/optimizes_into_variable.rs:+1:13: +1:18
++         _1 = const 4_i32;                // scope 0 at $DIR/optimizes_into_variable.rs:+1:13: +1:18
+          StorageLive(_3);                 // scope 1 at $DIR/optimizes_into_variable.rs:+2:9: +2:10
+          StorageLive(_4);                 // scope 1 at $DIR/optimizes_into_variable.rs:+2:13: +2:31
+          _4 = [const 0_i32, const 1_i32, const 2_i32, const 3_i32, const 4_i32, const 5_i32]; // scope 1 at $DIR/optimizes_into_variable.rs:+2:13: +2:31
+          StorageLive(_5);                 // scope 1 at $DIR/optimizes_into_variable.rs:+2:32: +2:33
+          _5 = const 3_usize;              // scope 1 at $DIR/optimizes_into_variable.rs:+2:32: +2:33
+          _6 = const 6_usize;              // scope 1 at $DIR/optimizes_into_variable.rs:+2:13: +2:34
+-         _7 = Lt(_5, _6);                 // scope 1 at $DIR/optimizes_into_variable.rs:+2:13: +2:34
+-         assert(move _7, "index out of bounds: the length is {} but the index is {}", move _6, _5) -> bb2; // scope 1 at $DIR/optimizes_into_variable.rs:+2:13: +2:34
++         _7 = const true;                 // scope 1 at $DIR/optimizes_into_variable.rs:+2:13: +2:34
++         assert(const true, "index out of bounds: the length is {} but the index is {}", const 6_usize, const 3_usize) -> bb2; // scope 1 at $DIR/optimizes_into_variable.rs:+2:13: +2:34
       }
   
       bb2: {
--         _3 = _4[_5];                     // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
-+         _3 = const 3_i32;                // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
-          StorageDead(_5);                 // scope 1 at $DIR/optimizes_into_variable.rs:13:34: 13:35
-          StorageDead(_4);                 // scope 1 at $DIR/optimizes_into_variable.rs:13:34: 13:35
-          StorageLive(_8);                 // scope 2 at $DIR/optimizes_into_variable.rs:14:9: 14:10
-          StorageLive(_9);                 // scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:36
-          Deinit(_9);                      // scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:36
-          (_9.0: u32) = const 12_u32;      // scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:36
-          (_9.1: u32) = const 42_u32;      // scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:36
--         _8 = (_9.1: u32);                // scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:38
-+         _8 = const 42_u32;               // scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:38
-          StorageDead(_9);                 // scope 2 at $DIR/optimizes_into_variable.rs:14:38: 14:39
-          nop;                             // scope 0 at $DIR/optimizes_into_variable.rs:11:11: 15:2
-          StorageDead(_8);                 // scope 2 at $DIR/optimizes_into_variable.rs:15:1: 15:2
-          StorageDead(_3);                 // scope 1 at $DIR/optimizes_into_variable.rs:15:1: 15:2
-          StorageDead(_1);                 // scope 0 at $DIR/optimizes_into_variable.rs:15:1: 15:2
-          return;                          // scope 0 at $DIR/optimizes_into_variable.rs:15:2: 15:2
+-         _3 = _4[_5];                     // scope 1 at $DIR/optimizes_into_variable.rs:+2:13: +2:34
++         _3 = const 3_i32;                // scope 1 at $DIR/optimizes_into_variable.rs:+2:13: +2:34
+          StorageDead(_5);                 // scope 1 at $DIR/optimizes_into_variable.rs:+2:34: +2:35
+          StorageDead(_4);                 // scope 1 at $DIR/optimizes_into_variable.rs:+2:34: +2:35
+          StorageLive(_8);                 // scope 2 at $DIR/optimizes_into_variable.rs:+3:9: +3:10
+          StorageLive(_9);                 // scope 2 at $DIR/optimizes_into_variable.rs:+3:13: +3:36
+          Deinit(_9);                      // scope 2 at $DIR/optimizes_into_variable.rs:+3:13: +3:36
+          (_9.0: u32) = const 12_u32;      // scope 2 at $DIR/optimizes_into_variable.rs:+3:13: +3:36
+          (_9.1: u32) = const 42_u32;      // scope 2 at $DIR/optimizes_into_variable.rs:+3:13: +3:36
+-         _8 = (_9.1: u32);                // scope 2 at $DIR/optimizes_into_variable.rs:+3:13: +3:38
++         _8 = const 42_u32;               // scope 2 at $DIR/optimizes_into_variable.rs:+3:13: +3:38
+          StorageDead(_9);                 // scope 2 at $DIR/optimizes_into_variable.rs:+3:38: +3:39
+          nop;                             // scope 0 at $DIR/optimizes_into_variable.rs:+0:11: +4:2
+          StorageDead(_8);                 // scope 2 at $DIR/optimizes_into_variable.rs:+4:1: +4:2
+          StorageDead(_3);                 // scope 1 at $DIR/optimizes_into_variable.rs:+4:1: +4:2
+          StorageDead(_1);                 // scope 0 at $DIR/optimizes_into_variable.rs:+4:1: +4:2
+          return;                          // scope 0 at $DIR/optimizes_into_variable.rs:+4:2: +4:2
       }
   }
   
index 6d11d02d6792896e7c50e4148d8606593453d90a..75cea8ad2cebf53475877761cdf1043e4ed2d643 100644 (file)
@@ -1,27 +1,27 @@
 // MIR for `main` after SimplifyLocals
 
 fn main() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/optimizes_into_variable.rs:11:11: 11:11
-    let _1: i32;                         // in scope 0 at $DIR/optimizes_into_variable.rs:12:9: 12:10
+    let mut _0: ();                      // return place in scope 0 at $DIR/optimizes_into_variable.rs:+0:11: +0:11
+    let _1: i32;                         // in scope 0 at $DIR/optimizes_into_variable.rs:+1:9: +1:10
     scope 1 {
-        debug x => _1;                   // in scope 1 at $DIR/optimizes_into_variable.rs:12:9: 12:10
-        let _2: i32;                     // in scope 1 at $DIR/optimizes_into_variable.rs:13:9: 13:10
+        debug x => _1;                   // in scope 1 at $DIR/optimizes_into_variable.rs:+1:9: +1:10
+        let _2: i32;                     // in scope 1 at $DIR/optimizes_into_variable.rs:+2:9: +2:10
         scope 2 {
-            debug y => _2;               // in scope 2 at $DIR/optimizes_into_variable.rs:13:9: 13:10
-            let _3: u32;                 // in scope 2 at $DIR/optimizes_into_variable.rs:14:9: 14:10
+            debug y => _2;               // in scope 2 at $DIR/optimizes_into_variable.rs:+2:9: +2:10
+            let _3: u32;                 // in scope 2 at $DIR/optimizes_into_variable.rs:+3:9: +3:10
             scope 3 {
-                debug z => _3;           // in scope 3 at $DIR/optimizes_into_variable.rs:14:9: 14:10
+                debug z => _3;           // in scope 3 at $DIR/optimizes_into_variable.rs:+3:9: +3:10
             }
         }
     }
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/optimizes_into_variable.rs:12:9: 12:10
-        StorageLive(_2);                 // scope 1 at $DIR/optimizes_into_variable.rs:13:9: 13:10
-        StorageLive(_3);                 // scope 2 at $DIR/optimizes_into_variable.rs:14:9: 14:10
-        StorageDead(_3);                 // scope 2 at $DIR/optimizes_into_variable.rs:15:1: 15:2
-        StorageDead(_2);                 // scope 1 at $DIR/optimizes_into_variable.rs:15:1: 15:2
-        StorageDead(_1);                 // scope 0 at $DIR/optimizes_into_variable.rs:15:1: 15:2
-        return;                          // scope 0 at $DIR/optimizes_into_variable.rs:15:2: 15:2
+        StorageLive(_1);                 // scope 0 at $DIR/optimizes_into_variable.rs:+1:9: +1:10
+        StorageLive(_2);                 // scope 1 at $DIR/optimizes_into_variable.rs:+2:9: +2:10
+        StorageLive(_3);                 // scope 2 at $DIR/optimizes_into_variable.rs:+3:9: +3:10
+        StorageDead(_3);                 // scope 2 at $DIR/optimizes_into_variable.rs:+4:1: +4:2
+        StorageDead(_2);                 // scope 1 at $DIR/optimizes_into_variable.rs:+4:1: +4:2
+        StorageDead(_1);                 // scope 0 at $DIR/optimizes_into_variable.rs:+4:1: +4:2
+        return;                          // scope 0 at $DIR/optimizes_into_variable.rs:+4:2: +4:2
     }
 }
index 6d11d02d6792896e7c50e4148d8606593453d90a..75cea8ad2cebf53475877761cdf1043e4ed2d643 100644 (file)
@@ -1,27 +1,27 @@
 // MIR for `main` after SimplifyLocals
 
 fn main() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/optimizes_into_variable.rs:11:11: 11:11
-    let _1: i32;                         // in scope 0 at $DIR/optimizes_into_variable.rs:12:9: 12:10
+    let mut _0: ();                      // return place in scope 0 at $DIR/optimizes_into_variable.rs:+0:11: +0:11
+    let _1: i32;                         // in scope 0 at $DIR/optimizes_into_variable.rs:+1:9: +1:10
     scope 1 {
-        debug x => _1;                   // in scope 1 at $DIR/optimizes_into_variable.rs:12:9: 12:10
-        let _2: i32;                     // in scope 1 at $DIR/optimizes_into_variable.rs:13:9: 13:10
+        debug x => _1;                   // in scope 1 at $DIR/optimizes_into_variable.rs:+1:9: +1:10
+        let _2: i32;                     // in scope 1 at $DIR/optimizes_into_variable.rs:+2:9: +2:10
         scope 2 {
-            debug y => _2;               // in scope 2 at $DIR/optimizes_into_variable.rs:13:9: 13:10
-            let _3: u32;                 // in scope 2 at $DIR/optimizes_into_variable.rs:14:9: 14:10
+            debug y => _2;               // in scope 2 at $DIR/optimizes_into_variable.rs:+2:9: +2:10
+            let _3: u32;                 // in scope 2 at $DIR/optimizes_into_variable.rs:+3:9: +3:10
             scope 3 {
-                debug z => _3;           // in scope 3 at $DIR/optimizes_into_variable.rs:14:9: 14:10
+                debug z => _3;           // in scope 3 at $DIR/optimizes_into_variable.rs:+3:9: +3:10
             }
         }
     }
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/optimizes_into_variable.rs:12:9: 12:10
-        StorageLive(_2);                 // scope 1 at $DIR/optimizes_into_variable.rs:13:9: 13:10
-        StorageLive(_3);                 // scope 2 at $DIR/optimizes_into_variable.rs:14:9: 14:10
-        StorageDead(_3);                 // scope 2 at $DIR/optimizes_into_variable.rs:15:1: 15:2
-        StorageDead(_2);                 // scope 1 at $DIR/optimizes_into_variable.rs:15:1: 15:2
-        StorageDead(_1);                 // scope 0 at $DIR/optimizes_into_variable.rs:15:1: 15:2
-        return;                          // scope 0 at $DIR/optimizes_into_variable.rs:15:2: 15:2
+        StorageLive(_1);                 // scope 0 at $DIR/optimizes_into_variable.rs:+1:9: +1:10
+        StorageLive(_2);                 // scope 1 at $DIR/optimizes_into_variable.rs:+2:9: +2:10
+        StorageLive(_3);                 // scope 2 at $DIR/optimizes_into_variable.rs:+3:9: +3:10
+        StorageDead(_3);                 // scope 2 at $DIR/optimizes_into_variable.rs:+4:1: +4:2
+        StorageDead(_2);                 // scope 1 at $DIR/optimizes_into_variable.rs:+4:1: +4:2
+        StorageDead(_1);                 // scope 0 at $DIR/optimizes_into_variable.rs:+4:1: +4:2
+        return;                          // scope 0 at $DIR/optimizes_into_variable.rs:+4:2: +4:2
     }
 }
index 15b3e076642584104f43aee81f5a6bff35e856f8..89f43d751381565cd5137dbf572285b872f041c0 100644 (file)
@@ -2,43 +2,43 @@
 + // MIR for `main` after ConstProp
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/read_immutable_static.rs:6:11: 6:11
-      let _1: u8;                          // in scope 0 at $DIR/read_immutable_static.rs:7:9: 7:10
-      let mut _2: u8;                      // in scope 0 at $DIR/read_immutable_static.rs:7:13: 7:16
-      let mut _3: &u8;                     // in scope 0 at $DIR/read_immutable_static.rs:7:13: 7:16
-      let mut _4: u8;                      // in scope 0 at $DIR/read_immutable_static.rs:7:19: 7:22
-      let mut _5: &u8;                     // in scope 0 at $DIR/read_immutable_static.rs:7:19: 7:22
+      let mut _0: ();                      // return place in scope 0 at $DIR/read_immutable_static.rs:+0:11: +0:11
+      let _1: u8;                          // in scope 0 at $DIR/read_immutable_static.rs:+1:9: +1:10
+      let mut _2: u8;                      // in scope 0 at $DIR/read_immutable_static.rs:+1:13: +1:16
+      let mut _3: &u8;                     // in scope 0 at $DIR/read_immutable_static.rs:+1:13: +1:16
+      let mut _4: u8;                      // in scope 0 at $DIR/read_immutable_static.rs:+1:19: +1:22
+      let mut _5: &u8;                     // in scope 0 at $DIR/read_immutable_static.rs:+1:19: +1:22
       scope 1 {
-          debug x => _1;                   // in scope 1 at $DIR/read_immutable_static.rs:7:9: 7:10
+          debug x => _1;                   // in scope 1 at $DIR/read_immutable_static.rs:+1:9: +1:10
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/read_immutable_static.rs:7:9: 7:10
-          StorageLive(_2);                 // scope 0 at $DIR/read_immutable_static.rs:7:13: 7:16
-          StorageLive(_3);                 // scope 0 at $DIR/read_immutable_static.rs:7:13: 7:16
-          _3 = const {alloc1: &u8};        // scope 0 at $DIR/read_immutable_static.rs:7:13: 7:16
+          StorageLive(_1);                 // scope 0 at $DIR/read_immutable_static.rs:+1:9: +1:10
+          StorageLive(_2);                 // scope 0 at $DIR/read_immutable_static.rs:+1:13: +1:16
+          StorageLive(_3);                 // scope 0 at $DIR/read_immutable_static.rs:+1:13: +1:16
+          _3 = const {alloc1: &u8};        // scope 0 at $DIR/read_immutable_static.rs:+1:13: +1:16
                                            // mir::Constant
                                            // + span: $DIR/read_immutable_static.rs:7:13: 7:16
                                            // + literal: Const { ty: &u8, val: Value(Scalar(alloc1)) }
--         _2 = (*_3);                      // scope 0 at $DIR/read_immutable_static.rs:7:13: 7:16
-+         _2 = const 2_u8;                 // scope 0 at $DIR/read_immutable_static.rs:7:13: 7:16
-          StorageLive(_4);                 // scope 0 at $DIR/read_immutable_static.rs:7:19: 7:22
-          StorageLive(_5);                 // scope 0 at $DIR/read_immutable_static.rs:7:19: 7:22
-          _5 = const {alloc1: &u8};        // scope 0 at $DIR/read_immutable_static.rs:7:19: 7:22
+-         _2 = (*_3);                      // scope 0 at $DIR/read_immutable_static.rs:+1:13: +1:16
++         _2 = const 2_u8;                 // scope 0 at $DIR/read_immutable_static.rs:+1:13: +1:16
+          StorageLive(_4);                 // scope 0 at $DIR/read_immutable_static.rs:+1:19: +1:22
+          StorageLive(_5);                 // scope 0 at $DIR/read_immutable_static.rs:+1:19: +1:22
+          _5 = const {alloc1: &u8};        // scope 0 at $DIR/read_immutable_static.rs:+1:19: +1:22
                                            // mir::Constant
                                            // + span: $DIR/read_immutable_static.rs:7:19: 7:22
                                            // + literal: Const { ty: &u8, val: Value(Scalar(alloc1)) }
--         _4 = (*_5);                      // scope 0 at $DIR/read_immutable_static.rs:7:19: 7:22
--         _1 = Add(move _2, move _4);      // scope 0 at $DIR/read_immutable_static.rs:7:13: 7:22
-+         _4 = const 2_u8;                 // scope 0 at $DIR/read_immutable_static.rs:7:19: 7:22
-+         _1 = const 4_u8;                 // scope 0 at $DIR/read_immutable_static.rs:7:13: 7:22
-          StorageDead(_4);                 // scope 0 at $DIR/read_immutable_static.rs:7:21: 7:22
-          StorageDead(_2);                 // scope 0 at $DIR/read_immutable_static.rs:7:21: 7:22
-          StorageDead(_5);                 // scope 0 at $DIR/read_immutable_static.rs:7:22: 7:23
-          StorageDead(_3);                 // scope 0 at $DIR/read_immutable_static.rs:7:22: 7:23
-          nop;                             // scope 0 at $DIR/read_immutable_static.rs:6:11: 8:2
-          StorageDead(_1);                 // scope 0 at $DIR/read_immutable_static.rs:8:1: 8:2
-          return;                          // scope 0 at $DIR/read_immutable_static.rs:8:2: 8:2
+-         _4 = (*_5);                      // scope 0 at $DIR/read_immutable_static.rs:+1:19: +1:22
+-         _1 = Add(move _2, move _4);      // scope 0 at $DIR/read_immutable_static.rs:+1:13: +1:22
++         _4 = const 2_u8;                 // scope 0 at $DIR/read_immutable_static.rs:+1:19: +1:22
++         _1 = const 4_u8;                 // scope 0 at $DIR/read_immutable_static.rs:+1:13: +1:22
+          StorageDead(_4);                 // scope 0 at $DIR/read_immutable_static.rs:+1:21: +1:22
+          StorageDead(_2);                 // scope 0 at $DIR/read_immutable_static.rs:+1:21: +1:22
+          StorageDead(_5);                 // scope 0 at $DIR/read_immutable_static.rs:+1:22: +1:23
+          StorageDead(_3);                 // scope 0 at $DIR/read_immutable_static.rs:+1:22: +1:23
+          nop;                             // scope 0 at $DIR/read_immutable_static.rs:+0:11: +2:2
+          StorageDead(_1);                 // scope 0 at $DIR/read_immutable_static.rs:+2:1: +2:2
+          return;                          // scope 0 at $DIR/read_immutable_static.rs:+2:2: +2:2
       }
   }
   
index 07ace0d6b576d04484b3d154c7b2d8fbee738a7c..c8b09220f1e446b91b2cc6cd562ac295285941e7 100644 (file)
@@ -2,26 +2,26 @@
 + // MIR for `main` after ConstProp
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/ref_deref.rs:4:11: 4:11
-      let _1: i32;                         // in scope 0 at $DIR/ref_deref.rs:5:5: 5:10
-      let mut _2: &i32;                    // in scope 0 at $DIR/ref_deref.rs:5:6: 5:10
-      let _3: i32;                         // in scope 0 at $DIR/ref_deref.rs:5:8: 5:9
-      let mut _4: &i32;                    // in scope 0 at $DIR/ref_deref.rs:5:6: 5:10
+      let mut _0: ();                      // return place in scope 0 at $DIR/ref_deref.rs:+0:11: +0:11
+      let _1: i32;                         // in scope 0 at $DIR/ref_deref.rs:+1:5: +1:10
+      let mut _2: &i32;                    // in scope 0 at $DIR/ref_deref.rs:+1:6: +1:10
+      let _3: i32;                         // in scope 0 at $DIR/ref_deref.rs:+1:8: +1:9
+      let mut _4: &i32;                    // in scope 0 at $DIR/ref_deref.rs:+1:6: +1:10
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/ref_deref.rs:5:5: 5:10
-          StorageLive(_2);                 // scope 0 at $DIR/ref_deref.rs:5:6: 5:10
-          _4 = const main::promoted[0];    // scope 0 at $DIR/ref_deref.rs:5:6: 5:10
+          StorageLive(_1);                 // scope 0 at $DIR/ref_deref.rs:+1:5: +1:10
+          StorageLive(_2);                 // scope 0 at $DIR/ref_deref.rs:+1:6: +1:10
+          _4 = const main::promoted[0];    // scope 0 at $DIR/ref_deref.rs:+1:6: +1:10
                                            // mir::Constant
                                            // + span: $DIR/ref_deref.rs:5:6: 5:10
                                            // + literal: Const { ty: &i32, val: Unevaluated(main, [], Some(promoted[0])) }
-          _2 = _4;                         // scope 0 at $DIR/ref_deref.rs:5:6: 5:10
--         _1 = (*_2);                      // scope 0 at $DIR/ref_deref.rs:5:5: 5:10
-+         _1 = const 4_i32;                // scope 0 at $DIR/ref_deref.rs:5:5: 5:10
-          StorageDead(_2);                 // scope 0 at $DIR/ref_deref.rs:5:10: 5:11
-          StorageDead(_1);                 // scope 0 at $DIR/ref_deref.rs:5:10: 5:11
-          nop;                             // scope 0 at $DIR/ref_deref.rs:4:11: 6:2
-          return;                          // scope 0 at $DIR/ref_deref.rs:6:2: 6:2
+          _2 = _4;                         // scope 0 at $DIR/ref_deref.rs:+1:6: +1:10
+-         _1 = (*_2);                      // scope 0 at $DIR/ref_deref.rs:+1:5: +1:10
++         _1 = const 4_i32;                // scope 0 at $DIR/ref_deref.rs:+1:5: +1:10
+          StorageDead(_2);                 // scope 0 at $DIR/ref_deref.rs:+1:10: +1:11
+          StorageDead(_1);                 // scope 0 at $DIR/ref_deref.rs:+1:10: +1:11
+          nop;                             // scope 0 at $DIR/ref_deref.rs:+0:11: +2:2
+          return;                          // scope 0 at $DIR/ref_deref.rs:+2:2: +2:2
       }
   }
   
index aed13d8ec02ecac9ef6b481520e239d25e614c5d..d141d2cf87bb7812ac4541e0f3776610f9b9dbdd 100644 (file)
@@ -2,29 +2,29 @@
 + // MIR for `main` after PromoteTemps
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/ref_deref.rs:4:11: 4:11
-      let _1: i32;                         // in scope 0 at $DIR/ref_deref.rs:5:5: 5:10
-      let mut _2: &i32;                    // in scope 0 at $DIR/ref_deref.rs:5:6: 5:10
-      let _3: i32;                         // in scope 0 at $DIR/ref_deref.rs:5:8: 5:9
-+     let mut _4: &i32;                    // in scope 0 at $DIR/ref_deref.rs:5:6: 5:10
+      let mut _0: ();                      // return place in scope 0 at $DIR/ref_deref.rs:+0:11: +0:11
+      let _1: i32;                         // in scope 0 at $DIR/ref_deref.rs:+1:5: +1:10
+      let mut _2: &i32;                    // in scope 0 at $DIR/ref_deref.rs:+1:6: +1:10
+      let _3: i32;                         // in scope 0 at $DIR/ref_deref.rs:+1:8: +1:9
++     let mut _4: &i32;                    // in scope 0 at $DIR/ref_deref.rs:+1:6: +1:10
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/ref_deref.rs:5:5: 5:10
-          StorageLive(_2);                 // scope 0 at $DIR/ref_deref.rs:5:6: 5:10
--         StorageLive(_3);                 // scope 0 at $DIR/ref_deref.rs:5:8: 5:9
--         _3 = const 4_i32;                // scope 0 at $DIR/ref_deref.rs:5:8: 5:9
--         _2 = &_3;                        // scope 0 at $DIR/ref_deref.rs:5:6: 5:10
-+         _4 = const main::promoted[0];    // scope 0 at $DIR/ref_deref.rs:5:6: 5:10
+          StorageLive(_1);                 // scope 0 at $DIR/ref_deref.rs:+1:5: +1:10
+          StorageLive(_2);                 // scope 0 at $DIR/ref_deref.rs:+1:6: +1:10
+-         StorageLive(_3);                 // scope 0 at $DIR/ref_deref.rs:+1:8: +1:9
+-         _3 = const 4_i32;                // scope 0 at $DIR/ref_deref.rs:+1:8: +1:9
+-         _2 = &_3;                        // scope 0 at $DIR/ref_deref.rs:+1:6: +1:10
++         _4 = const main::promoted[0];    // scope 0 at $DIR/ref_deref.rs:+1:6: +1:10
 +                                          // mir::Constant
 +                                          // + span: $DIR/ref_deref.rs:5:6: 5:10
 +                                          // + literal: Const { ty: &i32, val: Unevaluated(main, [], Some(promoted[0])) }
-+         _2 = &(*_4);                     // scope 0 at $DIR/ref_deref.rs:5:6: 5:10
-          _1 = (*_2);                      // scope 0 at $DIR/ref_deref.rs:5:5: 5:10
--         StorageDead(_3);                 // scope 0 at $DIR/ref_deref.rs:5:10: 5:11
-          StorageDead(_2);                 // scope 0 at $DIR/ref_deref.rs:5:10: 5:11
-          StorageDead(_1);                 // scope 0 at $DIR/ref_deref.rs:5:10: 5:11
-          _0 = const ();                   // scope 0 at $DIR/ref_deref.rs:4:11: 6:2
-          return;                          // scope 0 at $DIR/ref_deref.rs:6:2: 6:2
++         _2 = &(*_4);                     // scope 0 at $DIR/ref_deref.rs:+1:6: +1:10
+          _1 = (*_2);                      // scope 0 at $DIR/ref_deref.rs:+1:5: +1:10
+-         StorageDead(_3);                 // scope 0 at $DIR/ref_deref.rs:+1:10: +1:11
+          StorageDead(_2);                 // scope 0 at $DIR/ref_deref.rs:+1:10: +1:11
+          StorageDead(_1);                 // scope 0 at $DIR/ref_deref.rs:+1:10: +1:11
+          _0 = const ();                   // scope 0 at $DIR/ref_deref.rs:+0:11: +2:2
+          return;                          // scope 0 at $DIR/ref_deref.rs:+2:2: +2:2
       }
   }
   
index bbd0ec1a33687224dbdf0981d454c1b4ab1fc92e..f0c89caeac6454aea872587c7593aa88e59d0efa 100644 (file)
@@ -2,25 +2,25 @@
 + // MIR for `main` after ConstProp
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/ref_deref_project.rs:4:11: 4:11
-      let _1: i32;                         // in scope 0 at $DIR/ref_deref_project.rs:5:5: 5:17
-      let mut _2: &i32;                    // in scope 0 at $DIR/ref_deref_project.rs:5:6: 5:17
-      let _3: (i32, i32);                  // in scope 0 at $DIR/ref_deref_project.rs:5:8: 5:14
-      let mut _4: &(i32, i32);             // in scope 0 at $DIR/ref_deref_project.rs:5:6: 5:17
+      let mut _0: ();                      // return place in scope 0 at $DIR/ref_deref_project.rs:+0:11: +0:11
+      let _1: i32;                         // in scope 0 at $DIR/ref_deref_project.rs:+1:5: +1:17
+      let mut _2: &i32;                    // in scope 0 at $DIR/ref_deref_project.rs:+1:6: +1:17
+      let _3: (i32, i32);                  // in scope 0 at $DIR/ref_deref_project.rs:+1:8: +1:14
+      let mut _4: &(i32, i32);             // in scope 0 at $DIR/ref_deref_project.rs:+1:6: +1:17
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/ref_deref_project.rs:5:5: 5:17
-          StorageLive(_2);                 // scope 0 at $DIR/ref_deref_project.rs:5:6: 5:17
-          _4 = const main::promoted[0];    // scope 0 at $DIR/ref_deref_project.rs:5:6: 5:17
+          StorageLive(_1);                 // scope 0 at $DIR/ref_deref_project.rs:+1:5: +1:17
+          StorageLive(_2);                 // scope 0 at $DIR/ref_deref_project.rs:+1:6: +1:17
+          _4 = const main::promoted[0];    // scope 0 at $DIR/ref_deref_project.rs:+1:6: +1:17
                                            // mir::Constant
                                            // + span: $DIR/ref_deref_project.rs:5:6: 5:17
                                            // + literal: Const { ty: &(i32, i32), val: Unevaluated(main, [], Some(promoted[0])) }
-          _2 = &((*_4).1: i32);            // scope 0 at $DIR/ref_deref_project.rs:5:6: 5:17
-          _1 = (*_2);                      // scope 0 at $DIR/ref_deref_project.rs:5:5: 5:17
-          StorageDead(_2);                 // scope 0 at $DIR/ref_deref_project.rs:5:17: 5:18
-          StorageDead(_1);                 // scope 0 at $DIR/ref_deref_project.rs:5:17: 5:18
-          nop;                             // scope 0 at $DIR/ref_deref_project.rs:4:11: 6:2
-          return;                          // scope 0 at $DIR/ref_deref_project.rs:6:2: 6:2
+          _2 = &((*_4).1: i32);            // scope 0 at $DIR/ref_deref_project.rs:+1:6: +1:17
+          _1 = (*_2);                      // scope 0 at $DIR/ref_deref_project.rs:+1:5: +1:17
+          StorageDead(_2);                 // scope 0 at $DIR/ref_deref_project.rs:+1:17: +1:18
+          StorageDead(_1);                 // scope 0 at $DIR/ref_deref_project.rs:+1:17: +1:18
+          nop;                             // scope 0 at $DIR/ref_deref_project.rs:+0:11: +2:2
+          return;                          // scope 0 at $DIR/ref_deref_project.rs:+2:2: +2:2
       }
   }
   
index 2df963556a9eec6dd5319d44b92167ba0f3b0d55..d2554028792c133b793e6e24bcf97b9373b4b828 100644 (file)
@@ -2,29 +2,29 @@
 + // MIR for `main` after PromoteTemps
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/ref_deref_project.rs:4:11: 4:11
-      let _1: i32;                         // in scope 0 at $DIR/ref_deref_project.rs:5:5: 5:17
-      let mut _2: &i32;                    // in scope 0 at $DIR/ref_deref_project.rs:5:6: 5:17
-      let _3: (i32, i32);                  // in scope 0 at $DIR/ref_deref_project.rs:5:8: 5:14
-+     let mut _4: &(i32, i32);             // in scope 0 at $DIR/ref_deref_project.rs:5:6: 5:17
+      let mut _0: ();                      // return place in scope 0 at $DIR/ref_deref_project.rs:+0:11: +0:11
+      let _1: i32;                         // in scope 0 at $DIR/ref_deref_project.rs:+1:5: +1:17
+      let mut _2: &i32;                    // in scope 0 at $DIR/ref_deref_project.rs:+1:6: +1:17
+      let _3: (i32, i32);                  // in scope 0 at $DIR/ref_deref_project.rs:+1:8: +1:14
++     let mut _4: &(i32, i32);             // in scope 0 at $DIR/ref_deref_project.rs:+1:6: +1:17
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/ref_deref_project.rs:5:5: 5:17
-          StorageLive(_2);                 // scope 0 at $DIR/ref_deref_project.rs:5:6: 5:17
--         StorageLive(_3);                 // scope 0 at $DIR/ref_deref_project.rs:5:8: 5:14
--         _3 = (const 4_i32, const 5_i32); // scope 0 at $DIR/ref_deref_project.rs:5:8: 5:14
--         _2 = &(_3.1: i32);               // scope 0 at $DIR/ref_deref_project.rs:5:6: 5:17
-+         _4 = const main::promoted[0];    // scope 0 at $DIR/ref_deref_project.rs:5:6: 5:17
+          StorageLive(_1);                 // scope 0 at $DIR/ref_deref_project.rs:+1:5: +1:17
+          StorageLive(_2);                 // scope 0 at $DIR/ref_deref_project.rs:+1:6: +1:17
+-         StorageLive(_3);                 // scope 0 at $DIR/ref_deref_project.rs:+1:8: +1:14
+-         _3 = (const 4_i32, const 5_i32); // scope 0 at $DIR/ref_deref_project.rs:+1:8: +1:14
+-         _2 = &(_3.1: i32);               // scope 0 at $DIR/ref_deref_project.rs:+1:6: +1:17
++         _4 = const main::promoted[0];    // scope 0 at $DIR/ref_deref_project.rs:+1:6: +1:17
 +                                          // mir::Constant
 +                                          // + span: $DIR/ref_deref_project.rs:5:6: 5:17
 +                                          // + literal: Const { ty: &(i32, i32), val: Unevaluated(main, [], Some(promoted[0])) }
-+         _2 = &((*_4).1: i32);            // scope 0 at $DIR/ref_deref_project.rs:5:6: 5:17
-          _1 = (*_2);                      // scope 0 at $DIR/ref_deref_project.rs:5:5: 5:17
--         StorageDead(_3);                 // scope 0 at $DIR/ref_deref_project.rs:5:17: 5:18
-          StorageDead(_2);                 // scope 0 at $DIR/ref_deref_project.rs:5:17: 5:18
-          StorageDead(_1);                 // scope 0 at $DIR/ref_deref_project.rs:5:17: 5:18
-          _0 = const ();                   // scope 0 at $DIR/ref_deref_project.rs:4:11: 6:2
-          return;                          // scope 0 at $DIR/ref_deref_project.rs:6:2: 6:2
++         _2 = &((*_4).1: i32);            // scope 0 at $DIR/ref_deref_project.rs:+1:6: +1:17
+          _1 = (*_2);                      // scope 0 at $DIR/ref_deref_project.rs:+1:5: +1:17
+-         StorageDead(_3);                 // scope 0 at $DIR/ref_deref_project.rs:+1:17: +1:18
+          StorageDead(_2);                 // scope 0 at $DIR/ref_deref_project.rs:+1:17: +1:18
+          StorageDead(_1);                 // scope 0 at $DIR/ref_deref_project.rs:+1:17: +1:18
+          _0 = const ();                   // scope 0 at $DIR/ref_deref_project.rs:+0:11: +2:2
+          return;                          // scope 0 at $DIR/ref_deref_project.rs:+2:2: +2:2
       }
   }
   
index 80f461a4c02cf16edbdad8bf0b24434aae1990f9..237a6f94aa7fde594d691b5b5b3f5822808dc275 100644 (file)
@@ -2,28 +2,28 @@
 + // MIR for `main` after ConstProp
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/reify_fn_ptr.rs:3:11: 3:11
-      let mut _1: *const fn();             // in scope 0 at $DIR/reify_fn_ptr.rs:4:13: 4:41
-      let mut _2: usize;                   // in scope 0 at $DIR/reify_fn_ptr.rs:4:13: 4:26
-      let mut _3: fn();                    // in scope 0 at $DIR/reify_fn_ptr.rs:4:13: 4:17
+      let mut _0: ();                      // return place in scope 0 at $DIR/reify_fn_ptr.rs:+0:11: +0:11
+      let mut _1: *const fn();             // in scope 0 at $DIR/reify_fn_ptr.rs:+1:13: +1:41
+      let mut _2: usize;                   // in scope 0 at $DIR/reify_fn_ptr.rs:+1:13: +1:26
+      let mut _3: fn();                    // in scope 0 at $DIR/reify_fn_ptr.rs:+1:13: +1:17
       scope 1 {
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/reify_fn_ptr.rs:4:13: 4:41
-          StorageLive(_2);                 // scope 0 at $DIR/reify_fn_ptr.rs:4:13: 4:26
-          StorageLive(_3);                 // scope 0 at $DIR/reify_fn_ptr.rs:4:13: 4:17
-          _3 = main as fn() (Pointer(ReifyFnPointer)); // scope 0 at $DIR/reify_fn_ptr.rs:4:13: 4:17
+          StorageLive(_1);                 // scope 0 at $DIR/reify_fn_ptr.rs:+1:13: +1:41
+          StorageLive(_2);                 // scope 0 at $DIR/reify_fn_ptr.rs:+1:13: +1:26
+          StorageLive(_3);                 // scope 0 at $DIR/reify_fn_ptr.rs:+1:13: +1:17
+          _3 = main as fn() (Pointer(ReifyFnPointer)); // scope 0 at $DIR/reify_fn_ptr.rs:+1:13: +1:17
                                            // mir::Constant
                                            // + span: $DIR/reify_fn_ptr.rs:4:13: 4:17
                                            // + literal: Const { ty: fn() {main}, val: Value(<ZST>) }
-          _2 = move _3 as usize (PointerExposeAddress); // scope 0 at $DIR/reify_fn_ptr.rs:4:13: 4:26
-          StorageDead(_3);                 // scope 0 at $DIR/reify_fn_ptr.rs:4:25: 4:26
-          _1 = move _2 as *const fn() (PointerFromExposedAddress); // scope 0 at $DIR/reify_fn_ptr.rs:4:13: 4:41
-          StorageDead(_2);                 // scope 0 at $DIR/reify_fn_ptr.rs:4:40: 4:41
-          StorageDead(_1);                 // scope 0 at $DIR/reify_fn_ptr.rs:4:41: 4:42
-          nop;                             // scope 0 at $DIR/reify_fn_ptr.rs:3:11: 5:2
-          return;                          // scope 0 at $DIR/reify_fn_ptr.rs:5:2: 5:2
+          _2 = move _3 as usize (PointerExposeAddress); // scope 0 at $DIR/reify_fn_ptr.rs:+1:13: +1:26
+          StorageDead(_3);                 // scope 0 at $DIR/reify_fn_ptr.rs:+1:25: +1:26
+          _1 = move _2 as *const fn() (PointerFromExposedAddress); // scope 0 at $DIR/reify_fn_ptr.rs:+1:13: +1:41
+          StorageDead(_2);                 // scope 0 at $DIR/reify_fn_ptr.rs:+1:40: +1:41
+          StorageDead(_1);                 // scope 0 at $DIR/reify_fn_ptr.rs:+1:41: +1:42
+          nop;                             // scope 0 at $DIR/reify_fn_ptr.rs:+0:11: +2:2
+          return;                          // scope 0 at $DIR/reify_fn_ptr.rs:+2:2: +2:2
       }
   }
   
index 1d9e4712d5a227cebd6872f4e81349321893b99b..7c4977996917eb46f2f9f1f554cc60aabc232f51 100644 (file)
@@ -2,42 +2,42 @@
 + // MIR for `main` after ConstProp
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/repeat.rs:5:11: 5:11
-      let _1: u32;                         // in scope 0 at $DIR/repeat.rs:6:9: 6:10
-      let mut _2: u32;                     // in scope 0 at $DIR/repeat.rs:6:18: 6:28
-      let mut _3: [u32; 8];                // in scope 0 at $DIR/repeat.rs:6:18: 6:25
-      let _4: usize;                       // in scope 0 at $DIR/repeat.rs:6:26: 6:27
-      let mut _5: usize;                   // in scope 0 at $DIR/repeat.rs:6:18: 6:28
-      let mut _6: bool;                    // in scope 0 at $DIR/repeat.rs:6:18: 6:28
+      let mut _0: ();                      // return place in scope 0 at $DIR/repeat.rs:+0:11: +0:11
+      let _1: u32;                         // in scope 0 at $DIR/repeat.rs:+1:9: +1:10
+      let mut _2: u32;                     // in scope 0 at $DIR/repeat.rs:+1:18: +1:28
+      let mut _3: [u32; 8];                // in scope 0 at $DIR/repeat.rs:+1:18: +1:25
+      let _4: usize;                       // in scope 0 at $DIR/repeat.rs:+1:26: +1:27
+      let mut _5: usize;                   // in scope 0 at $DIR/repeat.rs:+1:18: +1:28
+      let mut _6: bool;                    // in scope 0 at $DIR/repeat.rs:+1:18: +1:28
       scope 1 {
-          debug x => _1;                   // in scope 1 at $DIR/repeat.rs:6:9: 6:10
+          debug x => _1;                   // in scope 1 at $DIR/repeat.rs:+1:9: +1:10
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/repeat.rs:6:9: 6:10
-          StorageLive(_2);                 // scope 0 at $DIR/repeat.rs:6:18: 6:28
-          StorageLive(_3);                 // scope 0 at $DIR/repeat.rs:6:18: 6:25
-          _3 = [const 42_u32; 8];          // scope 0 at $DIR/repeat.rs:6:18: 6:25
-          StorageLive(_4);                 // scope 0 at $DIR/repeat.rs:6:26: 6:27
-          _4 = const 2_usize;              // scope 0 at $DIR/repeat.rs:6:26: 6:27
-          _5 = const 8_usize;              // scope 0 at $DIR/repeat.rs:6:18: 6:28
--         _6 = Lt(_4, _5);                 // scope 0 at $DIR/repeat.rs:6:18: 6:28
--         assert(move _6, "index out of bounds: the length is {} but the index is {}", move _5, _4) -> bb1; // scope 0 at $DIR/repeat.rs:6:18: 6:28
-+         _6 = const true;                 // scope 0 at $DIR/repeat.rs:6:18: 6:28
-+         assert(const true, "index out of bounds: the length is {} but the index is {}", const 8_usize, const 2_usize) -> bb1; // scope 0 at $DIR/repeat.rs:6:18: 6:28
+          StorageLive(_1);                 // scope 0 at $DIR/repeat.rs:+1:9: +1:10
+          StorageLive(_2);                 // scope 0 at $DIR/repeat.rs:+1:18: +1:28
+          StorageLive(_3);                 // scope 0 at $DIR/repeat.rs:+1:18: +1:25
+          _3 = [const 42_u32; 8];          // scope 0 at $DIR/repeat.rs:+1:18: +1:25
+          StorageLive(_4);                 // scope 0 at $DIR/repeat.rs:+1:26: +1:27
+          _4 = const 2_usize;              // scope 0 at $DIR/repeat.rs:+1:26: +1:27
+          _5 = const 8_usize;              // scope 0 at $DIR/repeat.rs:+1:18: +1:28
+-         _6 = Lt(_4, _5);                 // scope 0 at $DIR/repeat.rs:+1:18: +1:28
+-         assert(move _6, "index out of bounds: the length is {} but the index is {}", move _5, _4) -> bb1; // scope 0 at $DIR/repeat.rs:+1:18: +1:28
++         _6 = const true;                 // scope 0 at $DIR/repeat.rs:+1:18: +1:28
++         assert(const true, "index out of bounds: the length is {} but the index is {}", const 8_usize, const 2_usize) -> bb1; // scope 0 at $DIR/repeat.rs:+1:18: +1:28
       }
   
       bb1: {
--         _2 = _3[_4];                     // scope 0 at $DIR/repeat.rs:6:18: 6:28
--         _1 = Add(move _2, const 0_u32);  // scope 0 at $DIR/repeat.rs:6:18: 6:32
-+         _2 = const 42_u32;               // scope 0 at $DIR/repeat.rs:6:18: 6:28
-+         _1 = const 42_u32;               // scope 0 at $DIR/repeat.rs:6:18: 6:32
-          StorageDead(_2);                 // scope 0 at $DIR/repeat.rs:6:31: 6:32
-          StorageDead(_4);                 // scope 0 at $DIR/repeat.rs:6:32: 6:33
-          StorageDead(_3);                 // scope 0 at $DIR/repeat.rs:6:32: 6:33
-          nop;                             // scope 0 at $DIR/repeat.rs:5:11: 7:2
-          StorageDead(_1);                 // scope 0 at $DIR/repeat.rs:7:1: 7:2
-          return;                          // scope 0 at $DIR/repeat.rs:7:2: 7:2
+-         _2 = _3[_4];                     // scope 0 at $DIR/repeat.rs:+1:18: +1:28
+-         _1 = Add(move _2, const 0_u32);  // scope 0 at $DIR/repeat.rs:+1:18: +1:32
++         _2 = const 42_u32;               // scope 0 at $DIR/repeat.rs:+1:18: +1:28
++         _1 = const 42_u32;               // scope 0 at $DIR/repeat.rs:+1:18: +1:32
+          StorageDead(_2);                 // scope 0 at $DIR/repeat.rs:+1:31: +1:32
+          StorageDead(_4);                 // scope 0 at $DIR/repeat.rs:+1:32: +1:33
+          StorageDead(_3);                 // scope 0 at $DIR/repeat.rs:+1:32: +1:33
+          nop;                             // scope 0 at $DIR/repeat.rs:+0:11: +2:2
+          StorageDead(_1);                 // scope 0 at $DIR/repeat.rs:+2:1: +2:2
+          return;                          // scope 0 at $DIR/repeat.rs:+2:2: +2:2
       }
   }
   
index 1d9e4712d5a227cebd6872f4e81349321893b99b..7c4977996917eb46f2f9f1f554cc60aabc232f51 100644 (file)
@@ -2,42 +2,42 @@
 + // MIR for `main` after ConstProp
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/repeat.rs:5:11: 5:11
-      let _1: u32;                         // in scope 0 at $DIR/repeat.rs:6:9: 6:10
-      let mut _2: u32;                     // in scope 0 at $DIR/repeat.rs:6:18: 6:28
-      let mut _3: [u32; 8];                // in scope 0 at $DIR/repeat.rs:6:18: 6:25
-      let _4: usize;                       // in scope 0 at $DIR/repeat.rs:6:26: 6:27
-      let mut _5: usize;                   // in scope 0 at $DIR/repeat.rs:6:18: 6:28
-      let mut _6: bool;                    // in scope 0 at $DIR/repeat.rs:6:18: 6:28
+      let mut _0: ();                      // return place in scope 0 at $DIR/repeat.rs:+0:11: +0:11
+      let _1: u32;                         // in scope 0 at $DIR/repeat.rs:+1:9: +1:10
+      let mut _2: u32;                     // in scope 0 at $DIR/repeat.rs:+1:18: +1:28
+      let mut _3: [u32; 8];                // in scope 0 at $DIR/repeat.rs:+1:18: +1:25
+      let _4: usize;                       // in scope 0 at $DIR/repeat.rs:+1:26: +1:27
+      let mut _5: usize;                   // in scope 0 at $DIR/repeat.rs:+1:18: +1:28
+      let mut _6: bool;                    // in scope 0 at $DIR/repeat.rs:+1:18: +1:28
       scope 1 {
-          debug x => _1;                   // in scope 1 at $DIR/repeat.rs:6:9: 6:10
+          debug x => _1;                   // in scope 1 at $DIR/repeat.rs:+1:9: +1:10
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/repeat.rs:6:9: 6:10
-          StorageLive(_2);                 // scope 0 at $DIR/repeat.rs:6:18: 6:28
-          StorageLive(_3);                 // scope 0 at $DIR/repeat.rs:6:18: 6:25
-          _3 = [const 42_u32; 8];          // scope 0 at $DIR/repeat.rs:6:18: 6:25
-          StorageLive(_4);                 // scope 0 at $DIR/repeat.rs:6:26: 6:27
-          _4 = const 2_usize;              // scope 0 at $DIR/repeat.rs:6:26: 6:27
-          _5 = const 8_usize;              // scope 0 at $DIR/repeat.rs:6:18: 6:28
--         _6 = Lt(_4, _5);                 // scope 0 at $DIR/repeat.rs:6:18: 6:28
--         assert(move _6, "index out of bounds: the length is {} but the index is {}", move _5, _4) -> bb1; // scope 0 at $DIR/repeat.rs:6:18: 6:28
-+         _6 = const true;                 // scope 0 at $DIR/repeat.rs:6:18: 6:28
-+         assert(const true, "index out of bounds: the length is {} but the index is {}", const 8_usize, const 2_usize) -> bb1; // scope 0 at $DIR/repeat.rs:6:18: 6:28
+          StorageLive(_1);                 // scope 0 at $DIR/repeat.rs:+1:9: +1:10
+          StorageLive(_2);                 // scope 0 at $DIR/repeat.rs:+1:18: +1:28
+          StorageLive(_3);                 // scope 0 at $DIR/repeat.rs:+1:18: +1:25
+          _3 = [const 42_u32; 8];          // scope 0 at $DIR/repeat.rs:+1:18: +1:25
+          StorageLive(_4);                 // scope 0 at $DIR/repeat.rs:+1:26: +1:27
+          _4 = const 2_usize;              // scope 0 at $DIR/repeat.rs:+1:26: +1:27
+          _5 = const 8_usize;              // scope 0 at $DIR/repeat.rs:+1:18: +1:28
+-         _6 = Lt(_4, _5);                 // scope 0 at $DIR/repeat.rs:+1:18: +1:28
+-         assert(move _6, "index out of bounds: the length is {} but the index is {}", move _5, _4) -> bb1; // scope 0 at $DIR/repeat.rs:+1:18: +1:28
++         _6 = const true;                 // scope 0 at $DIR/repeat.rs:+1:18: +1:28
++         assert(const true, "index out of bounds: the length is {} but the index is {}", const 8_usize, const 2_usize) -> bb1; // scope 0 at $DIR/repeat.rs:+1:18: +1:28
       }
   
       bb1: {
--         _2 = _3[_4];                     // scope 0 at $DIR/repeat.rs:6:18: 6:28
--         _1 = Add(move _2, const 0_u32);  // scope 0 at $DIR/repeat.rs:6:18: 6:32
-+         _2 = const 42_u32;               // scope 0 at $DIR/repeat.rs:6:18: 6:28
-+         _1 = const 42_u32;               // scope 0 at $DIR/repeat.rs:6:18: 6:32
-          StorageDead(_2);                 // scope 0 at $DIR/repeat.rs:6:31: 6:32
-          StorageDead(_4);                 // scope 0 at $DIR/repeat.rs:6:32: 6:33
-          StorageDead(_3);                 // scope 0 at $DIR/repeat.rs:6:32: 6:33
-          nop;                             // scope 0 at $DIR/repeat.rs:5:11: 7:2
-          StorageDead(_1);                 // scope 0 at $DIR/repeat.rs:7:1: 7:2
-          return;                          // scope 0 at $DIR/repeat.rs:7:2: 7:2
+-         _2 = _3[_4];                     // scope 0 at $DIR/repeat.rs:+1:18: +1:28
+-         _1 = Add(move _2, const 0_u32);  // scope 0 at $DIR/repeat.rs:+1:18: +1:32
++         _2 = const 42_u32;               // scope 0 at $DIR/repeat.rs:+1:18: +1:28
++         _1 = const 42_u32;               // scope 0 at $DIR/repeat.rs:+1:18: +1:32
+          StorageDead(_2);                 // scope 0 at $DIR/repeat.rs:+1:31: +1:32
+          StorageDead(_4);                 // scope 0 at $DIR/repeat.rs:+1:32: +1:33
+          StorageDead(_3);                 // scope 0 at $DIR/repeat.rs:+1:32: +1:33
+          nop;                             // scope 0 at $DIR/repeat.rs:+0:11: +2:2
+          StorageDead(_1);                 // scope 0 at $DIR/repeat.rs:+2:1: +2:2
+          return;                          // scope 0 at $DIR/repeat.rs:+2:2: +2:2
       }
   }
   
index c6ac8d6fb139d7bf2cdd29968d088bc3a9d38acf..5ebd8a52079d7e4e7377e7024c218636d6e38c88 100644 (file)
@@ -2,20 +2,20 @@
 + // MIR for `add` after ConstProp
   
   fn add() -> u32 {
-      let mut _0: u32;                     // return place in scope 0 at $DIR/return_place.rs:5:13: 5:16
-      let mut _1: (u32, bool);             // in scope 0 at $DIR/return_place.rs:6:5: 6:10
+      let mut _0: u32;                     // return place in scope 0 at $DIR/return_place.rs:+0:13: +0:16
+      let mut _1: (u32, bool);             // in scope 0 at $DIR/return_place.rs:+1:5: +1:10
   
       bb0: {
--         _1 = CheckedAdd(const 2_u32, const 2_u32); // scope 0 at $DIR/return_place.rs:6:5: 6:10
--         assert(!move (_1.1: bool), "attempt to compute `{} + {}`, which would overflow", const 2_u32, const 2_u32) -> bb1; // scope 0 at $DIR/return_place.rs:6:5: 6:10
-+         _1 = const (4_u32, false);       // scope 0 at $DIR/return_place.rs:6:5: 6:10
-+         assert(!const false, "attempt to compute `{} + {}`, which would overflow", const 2_u32, const 2_u32) -> bb1; // scope 0 at $DIR/return_place.rs:6:5: 6:10
+-         _1 = CheckedAdd(const 2_u32, const 2_u32); // scope 0 at $DIR/return_place.rs:+1:5: +1:10
+-         assert(!move (_1.1: bool), "attempt to compute `{} + {}`, which would overflow", const 2_u32, const 2_u32) -> bb1; // scope 0 at $DIR/return_place.rs:+1:5: +1:10
++         _1 = const (4_u32, false);       // scope 0 at $DIR/return_place.rs:+1:5: +1:10
++         assert(!const false, "attempt to compute `{} + {}`, which would overflow", const 2_u32, const 2_u32) -> bb1; // scope 0 at $DIR/return_place.rs:+1:5: +1:10
       }
   
       bb1: {
--         _0 = move (_1.0: u32);           // scope 0 at $DIR/return_place.rs:6:5: 6:10
-+         _0 = const 4_u32;                // scope 0 at $DIR/return_place.rs:6:5: 6:10
-          return;                          // scope 0 at $DIR/return_place.rs:7:2: 7:2
+-         _0 = move (_1.0: u32);           // scope 0 at $DIR/return_place.rs:+1:5: +1:10
++         _0 = const 4_u32;                // scope 0 at $DIR/return_place.rs:+1:5: +1:10
+          return;                          // scope 0 at $DIR/return_place.rs:+2:2: +2:2
       }
   }
   
index e6dd096e1c0e35fb3bfa6ab2b60bc8bb0e681bfb..ececd9942838d9a607c1cee14bc812e1ba830453 100644 (file)
@@ -1,10 +1,10 @@
 // MIR for `add` before PreCodegen
 
 fn add() -> u32 {
-    let mut _0: u32;                     // return place in scope 0 at $DIR/return_place.rs:5:13: 5:16
+    let mut _0: u32;                     // return place in scope 0 at $DIR/return_place.rs:+0:13: +0:16
 
     bb0: {
-        _0 = const 4_u32;                // scope 0 at $DIR/return_place.rs:6:5: 6:10
-        return;                          // scope 0 at $DIR/return_place.rs:7:2: 7:2
+        _0 = const 4_u32;                // scope 0 at $DIR/return_place.rs:+1:5: +1:10
+        return;                          // scope 0 at $DIR/return_place.rs:+2:2: +2:2
     }
 }
index 6343ee80a2562ff55a4c1fb9e0a48b329d0cb0b5..5920937e0fd4f100070e0cc94716a5d48b1803c7 100644 (file)
@@ -2,34 +2,34 @@
 + // MIR for `main` after ConstProp
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/scalar_literal_propagation.rs:2:11: 2:11
-      let _1: u32;                         // in scope 0 at $DIR/scalar_literal_propagation.rs:3:9: 3:10
-      let _2: ();                          // in scope 0 at $DIR/scalar_literal_propagation.rs:4:5: 4:15
-      let mut _3: u32;                     // in scope 0 at $DIR/scalar_literal_propagation.rs:4:13: 4:14
+      let mut _0: ();                      // return place in scope 0 at $DIR/scalar_literal_propagation.rs:+0:11: +0:11
+      let _1: u32;                         // in scope 0 at $DIR/scalar_literal_propagation.rs:+1:9: +1:10
+      let _2: ();                          // in scope 0 at $DIR/scalar_literal_propagation.rs:+2:5: +2:15
+      let mut _3: u32;                     // in scope 0 at $DIR/scalar_literal_propagation.rs:+2:13: +2:14
       scope 1 {
-          debug x => _1;                   // in scope 1 at $DIR/scalar_literal_propagation.rs:3:9: 3:10
+          debug x => _1;                   // in scope 1 at $DIR/scalar_literal_propagation.rs:+1:9: +1:10
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/scalar_literal_propagation.rs:3:9: 3:10
-          _1 = const 1_u32;                // scope 0 at $DIR/scalar_literal_propagation.rs:3:13: 3:14
-          StorageLive(_2);                 // scope 1 at $DIR/scalar_literal_propagation.rs:4:5: 4:15
-          StorageLive(_3);                 // scope 1 at $DIR/scalar_literal_propagation.rs:4:13: 4:14
--         _3 = _1;                         // scope 1 at $DIR/scalar_literal_propagation.rs:4:13: 4:14
--         _2 = consume(move _3) -> bb1;    // scope 1 at $DIR/scalar_literal_propagation.rs:4:5: 4:15
-+         _3 = const 1_u32;                // scope 1 at $DIR/scalar_literal_propagation.rs:4:13: 4:14
-+         _2 = consume(const 1_u32) -> bb1; // scope 1 at $DIR/scalar_literal_propagation.rs:4:5: 4:15
+          StorageLive(_1);                 // scope 0 at $DIR/scalar_literal_propagation.rs:+1:9: +1:10
+          _1 = const 1_u32;                // scope 0 at $DIR/scalar_literal_propagation.rs:+1:13: +1:14
+          StorageLive(_2);                 // scope 1 at $DIR/scalar_literal_propagation.rs:+2:5: +2:15
+          StorageLive(_3);                 // scope 1 at $DIR/scalar_literal_propagation.rs:+2:13: +2:14
+-         _3 = _1;                         // scope 1 at $DIR/scalar_literal_propagation.rs:+2:13: +2:14
+-         _2 = consume(move _3) -> bb1;    // scope 1 at $DIR/scalar_literal_propagation.rs:+2:5: +2:15
++         _3 = const 1_u32;                // scope 1 at $DIR/scalar_literal_propagation.rs:+2:13: +2:14
++         _2 = consume(const 1_u32) -> bb1; // scope 1 at $DIR/scalar_literal_propagation.rs:+2:5: +2:15
                                            // mir::Constant
                                            // + span: $DIR/scalar_literal_propagation.rs:4:5: 4:12
                                            // + literal: Const { ty: fn(u32) {consume}, val: Value(<ZST>) }
       }
   
       bb1: {
-          StorageDead(_3);                 // scope 1 at $DIR/scalar_literal_propagation.rs:4:14: 4:15
-          StorageDead(_2);                 // scope 1 at $DIR/scalar_literal_propagation.rs:4:15: 4:16
-          nop;                             // scope 0 at $DIR/scalar_literal_propagation.rs:2:11: 5:2
-          StorageDead(_1);                 // scope 0 at $DIR/scalar_literal_propagation.rs:5:1: 5:2
-          return;                          // scope 0 at $DIR/scalar_literal_propagation.rs:5:2: 5:2
+          StorageDead(_3);                 // scope 1 at $DIR/scalar_literal_propagation.rs:+2:14: +2:15
+          StorageDead(_2);                 // scope 1 at $DIR/scalar_literal_propagation.rs:+2:15: +2:16
+          nop;                             // scope 0 at $DIR/scalar_literal_propagation.rs:+0:11: +3:2
+          StorageDead(_1);                 // scope 0 at $DIR/scalar_literal_propagation.rs:+3:1: +3:2
+          return;                          // scope 0 at $DIR/scalar_literal_propagation.rs:+3:2: +3:2
       }
   }
   
index 5366d233505d20cac4bb1e34e1bab68198bfb7f5..0ebfbca21391f4d7ca9419a2a2b28971e0cd98a1 100644 (file)
@@ -2,52 +2,52 @@
 + // MIR for `main` after ConstProp
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/slice_len.rs:4:11: 4:11
-      let _1: u32;                         // in scope 0 at $DIR/slice_len.rs:5:5: 5:33
-      let mut _2: &[u32];                  // in scope 0 at $DIR/slice_len.rs:5:5: 5:30
-      let mut _3: &[u32; 3];               // in scope 0 at $DIR/slice_len.rs:5:6: 5:19
-      let _4: &[u32; 3];                   // in scope 0 at $DIR/slice_len.rs:5:6: 5:19
-      let _5: [u32; 3];                    // in scope 0 at $DIR/slice_len.rs:5:7: 5:19
-      let _6: usize;                       // in scope 0 at $DIR/slice_len.rs:5:31: 5:32
-      let mut _7: usize;                   // in scope 0 at $DIR/slice_len.rs:5:5: 5:33
-      let mut _8: bool;                    // in scope 0 at $DIR/slice_len.rs:5:5: 5:33
-      let mut _9: &[u32; 3];               // in scope 0 at $DIR/slice_len.rs:5:6: 5:19
-      let mut _10: &[u32; 3];              // in scope 0 at $DIR/slice_len.rs:5:6: 5:19
+      let mut _0: ();                      // return place in scope 0 at $DIR/slice_len.rs:+0:11: +0:11
+      let _1: u32;                         // in scope 0 at $DIR/slice_len.rs:+1:5: +1:33
+      let mut _2: &[u32];                  // in scope 0 at $DIR/slice_len.rs:+1:5: +1:30
+      let mut _3: &[u32; 3];               // in scope 0 at $DIR/slice_len.rs:+1:6: +1:19
+      let _4: &[u32; 3];                   // in scope 0 at $DIR/slice_len.rs:+1:6: +1:19
+      let _5: [u32; 3];                    // in scope 0 at $DIR/slice_len.rs:+1:7: +1:19
+      let _6: usize;                       // in scope 0 at $DIR/slice_len.rs:+1:31: +1:32
+      let mut _7: usize;                   // in scope 0 at $DIR/slice_len.rs:+1:5: +1:33
+      let mut _8: bool;                    // in scope 0 at $DIR/slice_len.rs:+1:5: +1:33
+      let mut _9: &[u32; 3];               // in scope 0 at $DIR/slice_len.rs:+1:6: +1:19
+      let mut _10: &[u32; 3];              // in scope 0 at $DIR/slice_len.rs:+1:6: +1:19
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/slice_len.rs:5:5: 5:33
-          StorageLive(_2);                 // scope 0 at $DIR/slice_len.rs:5:5: 5:30
-          StorageLive(_3);                 // scope 0 at $DIR/slice_len.rs:5:6: 5:19
-          StorageLive(_4);                 // scope 0 at $DIR/slice_len.rs:5:6: 5:19
-          _9 = const main::promoted[0];    // scope 0 at $DIR/slice_len.rs:5:6: 5:19
+          StorageLive(_1);                 // scope 0 at $DIR/slice_len.rs:+1:5: +1:33
+          StorageLive(_2);                 // scope 0 at $DIR/slice_len.rs:+1:5: +1:30
+          StorageLive(_3);                 // scope 0 at $DIR/slice_len.rs:+1:6: +1:19
+          StorageLive(_4);                 // scope 0 at $DIR/slice_len.rs:+1:6: +1:19
+          _9 = const main::promoted[0];    // scope 0 at $DIR/slice_len.rs:+1:6: +1:19
                                            // mir::Constant
                                            // + span: $DIR/slice_len.rs:5:6: 5:19
                                            // + literal: Const { ty: &[u32; 3], val: Unevaluated(main, [], Some(promoted[0])) }
-          _4 = _9;                         // scope 0 at $DIR/slice_len.rs:5:6: 5:19
-          _3 = _4;                         // scope 0 at $DIR/slice_len.rs:5:6: 5:19
-          StorageLive(_10);                // scope 0 at $DIR/slice_len.rs:5:6: 5:19
-          _10 = _3;                        // scope 0 at $DIR/slice_len.rs:5:6: 5:19
-          _2 = move _3 as &[u32] (Pointer(Unsize)); // scope 0 at $DIR/slice_len.rs:5:6: 5:19
-          StorageDead(_3);                 // scope 0 at $DIR/slice_len.rs:5:18: 5:19
-          StorageLive(_6);                 // scope 0 at $DIR/slice_len.rs:5:31: 5:32
-          _6 = const 1_usize;              // scope 0 at $DIR/slice_len.rs:5:31: 5:32
-          _7 = const 3_usize;              // scope 0 at $DIR/slice_len.rs:5:5: 5:33
-          StorageDead(_10);                // scope 0 at $DIR/slice_len.rs:5:5: 5:33
--         _8 = Lt(_6, _7);                 // scope 0 at $DIR/slice_len.rs:5:5: 5:33
--         assert(move _8, "index out of bounds: the length is {} but the index is {}", move _7, _6) -> bb1; // scope 0 at $DIR/slice_len.rs:5:5: 5:33
-+         _8 = const true;                 // scope 0 at $DIR/slice_len.rs:5:5: 5:33
-+         assert(const true, "index out of bounds: the length is {} but the index is {}", const 3_usize, const 1_usize) -> bb1; // scope 0 at $DIR/slice_len.rs:5:5: 5:33
+          _4 = _9;                         // scope 0 at $DIR/slice_len.rs:+1:6: +1:19
+          _3 = _4;                         // scope 0 at $DIR/slice_len.rs:+1:6: +1:19
+          StorageLive(_10);                // scope 0 at $DIR/slice_len.rs:+1:6: +1:19
+          _10 = _3;                        // scope 0 at $DIR/slice_len.rs:+1:6: +1:19
+          _2 = move _3 as &[u32] (Pointer(Unsize)); // scope 0 at $DIR/slice_len.rs:+1:6: +1:19
+          StorageDead(_3);                 // scope 0 at $DIR/slice_len.rs:+1:18: +1:19
+          StorageLive(_6);                 // scope 0 at $DIR/slice_len.rs:+1:31: +1:32
+          _6 = const 1_usize;              // scope 0 at $DIR/slice_len.rs:+1:31: +1:32
+          _7 = const 3_usize;              // scope 0 at $DIR/slice_len.rs:+1:5: +1:33
+          StorageDead(_10);                // scope 0 at $DIR/slice_len.rs:+1:5: +1:33
+-         _8 = Lt(_6, _7);                 // scope 0 at $DIR/slice_len.rs:+1:5: +1:33
+-         assert(move _8, "index out of bounds: the length is {} but the index is {}", move _7, _6) -> bb1; // scope 0 at $DIR/slice_len.rs:+1:5: +1:33
++         _8 = const true;                 // scope 0 at $DIR/slice_len.rs:+1:5: +1:33
++         assert(const true, "index out of bounds: the length is {} but the index is {}", const 3_usize, const 1_usize) -> bb1; // scope 0 at $DIR/slice_len.rs:+1:5: +1:33
       }
   
       bb1: {
--         _1 = (*_2)[_6];                  // scope 0 at $DIR/slice_len.rs:5:5: 5:33
-+         _1 = const 2_u32;                // scope 0 at $DIR/slice_len.rs:5:5: 5:33
-          StorageDead(_6);                 // scope 0 at $DIR/slice_len.rs:5:33: 5:34
-          StorageDead(_4);                 // scope 0 at $DIR/slice_len.rs:5:33: 5:34
-          StorageDead(_2);                 // scope 0 at $DIR/slice_len.rs:5:33: 5:34
-          StorageDead(_1);                 // scope 0 at $DIR/slice_len.rs:5:33: 5:34
-          nop;                             // scope 0 at $DIR/slice_len.rs:4:11: 6:2
-          return;                          // scope 0 at $DIR/slice_len.rs:6:2: 6:2
+-         _1 = (*_2)[_6];                  // scope 0 at $DIR/slice_len.rs:+1:5: +1:33
++         _1 = const 2_u32;                // scope 0 at $DIR/slice_len.rs:+1:5: +1:33
+          StorageDead(_6);                 // scope 0 at $DIR/slice_len.rs:+1:33: +1:34
+          StorageDead(_4);                 // scope 0 at $DIR/slice_len.rs:+1:33: +1:34
+          StorageDead(_2);                 // scope 0 at $DIR/slice_len.rs:+1:33: +1:34
+          StorageDead(_1);                 // scope 0 at $DIR/slice_len.rs:+1:33: +1:34
+          nop;                             // scope 0 at $DIR/slice_len.rs:+0:11: +2:2
+          return;                          // scope 0 at $DIR/slice_len.rs:+2:2: +2:2
       }
   }
   
index 5366d233505d20cac4bb1e34e1bab68198bfb7f5..0ebfbca21391f4d7ca9419a2a2b28971e0cd98a1 100644 (file)
@@ -2,52 +2,52 @@
 + // MIR for `main` after ConstProp
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/slice_len.rs:4:11: 4:11
-      let _1: u32;                         // in scope 0 at $DIR/slice_len.rs:5:5: 5:33
-      let mut _2: &[u32];                  // in scope 0 at $DIR/slice_len.rs:5:5: 5:30
-      let mut _3: &[u32; 3];               // in scope 0 at $DIR/slice_len.rs:5:6: 5:19
-      let _4: &[u32; 3];                   // in scope 0 at $DIR/slice_len.rs:5:6: 5:19
-      let _5: [u32; 3];                    // in scope 0 at $DIR/slice_len.rs:5:7: 5:19
-      let _6: usize;                       // in scope 0 at $DIR/slice_len.rs:5:31: 5:32
-      let mut _7: usize;                   // in scope 0 at $DIR/slice_len.rs:5:5: 5:33
-      let mut _8: bool;                    // in scope 0 at $DIR/slice_len.rs:5:5: 5:33
-      let mut _9: &[u32; 3];               // in scope 0 at $DIR/slice_len.rs:5:6: 5:19
-      let mut _10: &[u32; 3];              // in scope 0 at $DIR/slice_len.rs:5:6: 5:19
+      let mut _0: ();                      // return place in scope 0 at $DIR/slice_len.rs:+0:11: +0:11
+      let _1: u32;                         // in scope 0 at $DIR/slice_len.rs:+1:5: +1:33
+      let mut _2: &[u32];                  // in scope 0 at $DIR/slice_len.rs:+1:5: +1:30
+      let mut _3: &[u32; 3];               // in scope 0 at $DIR/slice_len.rs:+1:6: +1:19
+      let _4: &[u32; 3];                   // in scope 0 at $DIR/slice_len.rs:+1:6: +1:19
+      let _5: [u32; 3];                    // in scope 0 at $DIR/slice_len.rs:+1:7: +1:19
+      let _6: usize;                       // in scope 0 at $DIR/slice_len.rs:+1:31: +1:32
+      let mut _7: usize;                   // in scope 0 at $DIR/slice_len.rs:+1:5: +1:33
+      let mut _8: bool;                    // in scope 0 at $DIR/slice_len.rs:+1:5: +1:33
+      let mut _9: &[u32; 3];               // in scope 0 at $DIR/slice_len.rs:+1:6: +1:19
+      let mut _10: &[u32; 3];              // in scope 0 at $DIR/slice_len.rs:+1:6: +1:19
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/slice_len.rs:5:5: 5:33
-          StorageLive(_2);                 // scope 0 at $DIR/slice_len.rs:5:5: 5:30
-          StorageLive(_3);                 // scope 0 at $DIR/slice_len.rs:5:6: 5:19
-          StorageLive(_4);                 // scope 0 at $DIR/slice_len.rs:5:6: 5:19
-          _9 = const main::promoted[0];    // scope 0 at $DIR/slice_len.rs:5:6: 5:19
+          StorageLive(_1);                 // scope 0 at $DIR/slice_len.rs:+1:5: +1:33
+          StorageLive(_2);                 // scope 0 at $DIR/slice_len.rs:+1:5: +1:30
+          StorageLive(_3);                 // scope 0 at $DIR/slice_len.rs:+1:6: +1:19
+          StorageLive(_4);                 // scope 0 at $DIR/slice_len.rs:+1:6: +1:19
+          _9 = const main::promoted[0];    // scope 0 at $DIR/slice_len.rs:+1:6: +1:19
                                            // mir::Constant
                                            // + span: $DIR/slice_len.rs:5:6: 5:19
                                            // + literal: Const { ty: &[u32; 3], val: Unevaluated(main, [], Some(promoted[0])) }
-          _4 = _9;                         // scope 0 at $DIR/slice_len.rs:5:6: 5:19
-          _3 = _4;                         // scope 0 at $DIR/slice_len.rs:5:6: 5:19
-          StorageLive(_10);                // scope 0 at $DIR/slice_len.rs:5:6: 5:19
-          _10 = _3;                        // scope 0 at $DIR/slice_len.rs:5:6: 5:19
-          _2 = move _3 as &[u32] (Pointer(Unsize)); // scope 0 at $DIR/slice_len.rs:5:6: 5:19
-          StorageDead(_3);                 // scope 0 at $DIR/slice_len.rs:5:18: 5:19
-          StorageLive(_6);                 // scope 0 at $DIR/slice_len.rs:5:31: 5:32
-          _6 = const 1_usize;              // scope 0 at $DIR/slice_len.rs:5:31: 5:32
-          _7 = const 3_usize;              // scope 0 at $DIR/slice_len.rs:5:5: 5:33
-          StorageDead(_10);                // scope 0 at $DIR/slice_len.rs:5:5: 5:33
--         _8 = Lt(_6, _7);                 // scope 0 at $DIR/slice_len.rs:5:5: 5:33
--         assert(move _8, "index out of bounds: the length is {} but the index is {}", move _7, _6) -> bb1; // scope 0 at $DIR/slice_len.rs:5:5: 5:33
-+         _8 = const true;                 // scope 0 at $DIR/slice_len.rs:5:5: 5:33
-+         assert(const true, "index out of bounds: the length is {} but the index is {}", const 3_usize, const 1_usize) -> bb1; // scope 0 at $DIR/slice_len.rs:5:5: 5:33
+          _4 = _9;                         // scope 0 at $DIR/slice_len.rs:+1:6: +1:19
+          _3 = _4;                         // scope 0 at $DIR/slice_len.rs:+1:6: +1:19
+          StorageLive(_10);                // scope 0 at $DIR/slice_len.rs:+1:6: +1:19
+          _10 = _3;                        // scope 0 at $DIR/slice_len.rs:+1:6: +1:19
+          _2 = move _3 as &[u32] (Pointer(Unsize)); // scope 0 at $DIR/slice_len.rs:+1:6: +1:19
+          StorageDead(_3);                 // scope 0 at $DIR/slice_len.rs:+1:18: +1:19
+          StorageLive(_6);                 // scope 0 at $DIR/slice_len.rs:+1:31: +1:32
+          _6 = const 1_usize;              // scope 0 at $DIR/slice_len.rs:+1:31: +1:32
+          _7 = const 3_usize;              // scope 0 at $DIR/slice_len.rs:+1:5: +1:33
+          StorageDead(_10);                // scope 0 at $DIR/slice_len.rs:+1:5: +1:33
+-         _8 = Lt(_6, _7);                 // scope 0 at $DIR/slice_len.rs:+1:5: +1:33
+-         assert(move _8, "index out of bounds: the length is {} but the index is {}", move _7, _6) -> bb1; // scope 0 at $DIR/slice_len.rs:+1:5: +1:33
++         _8 = const true;                 // scope 0 at $DIR/slice_len.rs:+1:5: +1:33
++         assert(const true, "index out of bounds: the length is {} but the index is {}", const 3_usize, const 1_usize) -> bb1; // scope 0 at $DIR/slice_len.rs:+1:5: +1:33
       }
   
       bb1: {
--         _1 = (*_2)[_6];                  // scope 0 at $DIR/slice_len.rs:5:5: 5:33
-+         _1 = const 2_u32;                // scope 0 at $DIR/slice_len.rs:5:5: 5:33
-          StorageDead(_6);                 // scope 0 at $DIR/slice_len.rs:5:33: 5:34
-          StorageDead(_4);                 // scope 0 at $DIR/slice_len.rs:5:33: 5:34
-          StorageDead(_2);                 // scope 0 at $DIR/slice_len.rs:5:33: 5:34
-          StorageDead(_1);                 // scope 0 at $DIR/slice_len.rs:5:33: 5:34
-          nop;                             // scope 0 at $DIR/slice_len.rs:4:11: 6:2
-          return;                          // scope 0 at $DIR/slice_len.rs:6:2: 6:2
+-         _1 = (*_2)[_6];                  // scope 0 at $DIR/slice_len.rs:+1:5: +1:33
++         _1 = const 2_u32;                // scope 0 at $DIR/slice_len.rs:+1:5: +1:33
+          StorageDead(_6);                 // scope 0 at $DIR/slice_len.rs:+1:33: +1:34
+          StorageDead(_4);                 // scope 0 at $DIR/slice_len.rs:+1:33: +1:34
+          StorageDead(_2);                 // scope 0 at $DIR/slice_len.rs:+1:33: +1:34
+          StorageDead(_1);                 // scope 0 at $DIR/slice_len.rs:+1:33: +1:34
+          nop;                             // scope 0 at $DIR/slice_len.rs:+0:11: +2:2
+          return;                          // scope 0 at $DIR/slice_len.rs:+2:2: +2:2
       }
   }
   
index 5dfa05a46d3778155cd64bc78b8e5c6c21e09a4d..9d7c2784d8b2cab9060446aac746879752e33243 100644 (file)
@@ -2,33 +2,33 @@
 + // MIR for `main` after ConstProp
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/switch_int.rs:6:11: 6:11
-      let mut _1: i32;                     // in scope 0 at $DIR/switch_int.rs:7:11: 7:12
+      let mut _0: ();                      // return place in scope 0 at $DIR/switch_int.rs:+0:11: +0:11
+      let mut _1: i32;                     // in scope 0 at $DIR/switch_int.rs:+1:11: +1:12
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/switch_int.rs:7:11: 7:12
-          _1 = const 1_i32;                // scope 0 at $DIR/switch_int.rs:7:11: 7:12
--         switchInt(_1) -> [1_i32: bb2, otherwise: bb1]; // scope 0 at $DIR/switch_int.rs:7:5: 7:12
-+         switchInt(const 1_i32) -> [1_i32: bb2, otherwise: bb1]; // scope 0 at $DIR/switch_int.rs:7:5: 7:12
+          StorageLive(_1);                 // scope 0 at $DIR/switch_int.rs:+1:11: +1:12
+          _1 = const 1_i32;                // scope 0 at $DIR/switch_int.rs:+1:11: +1:12
+-         switchInt(_1) -> [1_i32: bb2, otherwise: bb1]; // scope 0 at $DIR/switch_int.rs:+1:5: +1:12
++         switchInt(const 1_i32) -> [1_i32: bb2, otherwise: bb1]; // scope 0 at $DIR/switch_int.rs:+1:5: +1:12
       }
   
       bb1: {
-          _0 = foo(const -1_i32) -> bb3;   // scope 0 at $DIR/switch_int.rs:9:14: 9:21
+          _0 = foo(const -1_i32) -> bb3;   // scope 0 at $DIR/switch_int.rs:+3:14: +3:21
                                            // mir::Constant
                                            // + span: $DIR/switch_int.rs:9:14: 9:17
                                            // + literal: Const { ty: fn(i32) {foo}, val: Value(<ZST>) }
       }
   
       bb2: {
-          _0 = foo(const 0_i32) -> bb3;    // scope 0 at $DIR/switch_int.rs:8:14: 8:20
+          _0 = foo(const 0_i32) -> bb3;    // scope 0 at $DIR/switch_int.rs:+2:14: +2:20
                                            // mir::Constant
                                            // + span: $DIR/switch_int.rs:8:14: 8:17
                                            // + literal: Const { ty: fn(i32) {foo}, val: Value(<ZST>) }
       }
   
       bb3: {
-          StorageDead(_1);                 // scope 0 at $DIR/switch_int.rs:11:1: 11:2
-          return;                          // scope 0 at $DIR/switch_int.rs:11:2: 11:2
+          StorageDead(_1);                 // scope 0 at $DIR/switch_int.rs:+5:1: +5:2
+          return;                          // scope 0 at $DIR/switch_int.rs:+5:2: +5:2
       }
   }
   
index 704b4bbe018d5195eebd48468a42c6b23191fa20..74f9eafe42061cd0724e94a550eef3aa487dea20 100644 (file)
@@ -2,33 +2,33 @@
 + // MIR for `main` after SimplifyConstCondition-after-const-prop
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/switch_int.rs:6:11: 6:11
-      let mut _1: i32;                     // in scope 0 at $DIR/switch_int.rs:7:11: 7:12
+      let mut _0: ();                      // return place in scope 0 at $DIR/switch_int.rs:+0:11: +0:11
+      let mut _1: i32;                     // in scope 0 at $DIR/switch_int.rs:+1:11: +1:12
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/switch_int.rs:7:11: 7:12
-          _1 = const 1_i32;                // scope 0 at $DIR/switch_int.rs:7:11: 7:12
--         switchInt(const 1_i32) -> [1_i32: bb2, otherwise: bb1]; // scope 0 at $DIR/switch_int.rs:7:5: 7:12
-+         goto -> bb2;                     // scope 0 at $DIR/switch_int.rs:7:5: 7:12
+          StorageLive(_1);                 // scope 0 at $DIR/switch_int.rs:+1:11: +1:12
+          _1 = const 1_i32;                // scope 0 at $DIR/switch_int.rs:+1:11: +1:12
+-         switchInt(const 1_i32) -> [1_i32: bb2, otherwise: bb1]; // scope 0 at $DIR/switch_int.rs:+1:5: +1:12
++         goto -> bb2;                     // scope 0 at $DIR/switch_int.rs:+1:5: +1:12
       }
   
       bb1: {
-          _0 = foo(const -1_i32) -> bb3;   // scope 0 at $DIR/switch_int.rs:9:14: 9:21
+          _0 = foo(const -1_i32) -> bb3;   // scope 0 at $DIR/switch_int.rs:+3:14: +3:21
                                            // mir::Constant
                                            // + span: $DIR/switch_int.rs:9:14: 9:17
                                            // + literal: Const { ty: fn(i32) {foo}, val: Value(<ZST>) }
       }
   
       bb2: {
-          _0 = foo(const 0_i32) -> bb3;    // scope 0 at $DIR/switch_int.rs:8:14: 8:20
+          _0 = foo(const 0_i32) -> bb3;    // scope 0 at $DIR/switch_int.rs:+2:14: +2:20
                                            // mir::Constant
                                            // + span: $DIR/switch_int.rs:8:14: 8:17
                                            // + literal: Const { ty: fn(i32) {foo}, val: Value(<ZST>) }
       }
   
       bb3: {
-          StorageDead(_1);                 // scope 0 at $DIR/switch_int.rs:11:1: 11:2
-          return;                          // scope 0 at $DIR/switch_int.rs:11:2: 11:2
+          StorageDead(_1);                 // scope 0 at $DIR/switch_int.rs:+5:1: +5:2
+          return;                          // scope 0 at $DIR/switch_int.rs:+5:2: +5:2
       }
   }
   
index adb182314ac5e5dd08fae57a3d24f7b038f08503..a0603c60dc79c534fc25e55e8d20d3375ccfbae1 100644 (file)
@@ -2,35 +2,35 @@
 + // MIR for `main` after ConstProp
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/tuple_literal_propagation.rs:2:11: 2:11
-      let _1: (u32, u32);                  // in scope 0 at $DIR/tuple_literal_propagation.rs:3:9: 3:10
-      let _2: ();                          // in scope 0 at $DIR/tuple_literal_propagation.rs:5:5: 5:15
-      let mut _3: (u32, u32);              // in scope 0 at $DIR/tuple_literal_propagation.rs:5:13: 5:14
+      let mut _0: ();                      // return place in scope 0 at $DIR/tuple_literal_propagation.rs:+0:11: +0:11
+      let _1: (u32, u32);                  // in scope 0 at $DIR/tuple_literal_propagation.rs:+1:9: +1:10
+      let _2: ();                          // in scope 0 at $DIR/tuple_literal_propagation.rs:+3:5: +3:15
+      let mut _3: (u32, u32);              // in scope 0 at $DIR/tuple_literal_propagation.rs:+3:13: +3:14
       scope 1 {
-          debug x => _1;                   // in scope 1 at $DIR/tuple_literal_propagation.rs:3:9: 3:10
+          debug x => _1;                   // in scope 1 at $DIR/tuple_literal_propagation.rs:+1:9: +1:10
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/tuple_literal_propagation.rs:3:9: 3:10
-          Deinit(_1);                      // scope 0 at $DIR/tuple_literal_propagation.rs:3:13: 3:19
-          (_1.0: u32) = const 1_u32;       // scope 0 at $DIR/tuple_literal_propagation.rs:3:13: 3:19
-          (_1.1: u32) = const 2_u32;       // scope 0 at $DIR/tuple_literal_propagation.rs:3:13: 3:19
-          StorageLive(_2);                 // scope 1 at $DIR/tuple_literal_propagation.rs:5:5: 5:15
-          StorageLive(_3);                 // scope 1 at $DIR/tuple_literal_propagation.rs:5:13: 5:14
--         _3 = _1;                         // scope 1 at $DIR/tuple_literal_propagation.rs:5:13: 5:14
-+         _3 = const (1_u32, 2_u32);       // scope 1 at $DIR/tuple_literal_propagation.rs:5:13: 5:14
-          _2 = consume(move _3) -> bb1;    // scope 1 at $DIR/tuple_literal_propagation.rs:5:5: 5:15
+          StorageLive(_1);                 // scope 0 at $DIR/tuple_literal_propagation.rs:+1:9: +1:10
+          Deinit(_1);                      // scope 0 at $DIR/tuple_literal_propagation.rs:+1:13: +1:19
+          (_1.0: u32) = const 1_u32;       // scope 0 at $DIR/tuple_literal_propagation.rs:+1:13: +1:19
+          (_1.1: u32) = const 2_u32;       // scope 0 at $DIR/tuple_literal_propagation.rs:+1:13: +1:19
+          StorageLive(_2);                 // scope 1 at $DIR/tuple_literal_propagation.rs:+3:5: +3:15
+          StorageLive(_3);                 // scope 1 at $DIR/tuple_literal_propagation.rs:+3:13: +3:14
+-         _3 = _1;                         // scope 1 at $DIR/tuple_literal_propagation.rs:+3:13: +3:14
++         _3 = const (1_u32, 2_u32);       // scope 1 at $DIR/tuple_literal_propagation.rs:+3:13: +3:14
+          _2 = consume(move _3) -> bb1;    // scope 1 at $DIR/tuple_literal_propagation.rs:+3:5: +3:15
                                            // mir::Constant
                                            // + span: $DIR/tuple_literal_propagation.rs:5:5: 5:12
                                            // + literal: Const { ty: fn((u32, u32)) {consume}, val: Value(<ZST>) }
       }
   
       bb1: {
-          StorageDead(_3);                 // scope 1 at $DIR/tuple_literal_propagation.rs:5:14: 5:15
-          StorageDead(_2);                 // scope 1 at $DIR/tuple_literal_propagation.rs:5:15: 5:16
-          nop;                             // scope 0 at $DIR/tuple_literal_propagation.rs:2:11: 6:2
-          StorageDead(_1);                 // scope 0 at $DIR/tuple_literal_propagation.rs:6:1: 6:2
-          return;                          // scope 0 at $DIR/tuple_literal_propagation.rs:6:2: 6:2
+          StorageDead(_3);                 // scope 1 at $DIR/tuple_literal_propagation.rs:+3:14: +3:15
+          StorageDead(_2);                 // scope 1 at $DIR/tuple_literal_propagation.rs:+3:15: +3:16
+          nop;                             // scope 0 at $DIR/tuple_literal_propagation.rs:+0:11: +4:2
+          StorageDead(_1);                 // scope 0 at $DIR/tuple_literal_propagation.rs:+4:1: +4:2
+          return;                          // scope 0 at $DIR/tuple_literal_propagation.rs:+4:2: +4:2
       }
   }
   
index dcc4368694c9fcf69be62016dcc72499796f0576..459da2e335851a4082d7cafee84417cdcd151494 100644 (file)
@@ -2,41 +2,41 @@
 + // MIR for `bar` after ConstProp
   
   fn bar() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/const_prop_miscompile.rs:11:10: 11:10
-      let mut _1: (i32,);                  // in scope 0 at $DIR/const_prop_miscompile.rs:12:9: 12:14
-      let _2: ();                          // in scope 0 at $DIR/const_prop_miscompile.rs:13:5: 15:6
-      let mut _3: *mut i32;                // in scope 0 at $DIR/const_prop_miscompile.rs:14:10: 14:22
-      let mut _5: i32;                     // in scope 0 at $DIR/const_prop_miscompile.rs:16:13: 16:20
+      let mut _0: ();                      // return place in scope 0 at $DIR/const_prop_miscompile.rs:+0:10: +0:10
+      let mut _1: (i32,);                  // in scope 0 at $DIR/const_prop_miscompile.rs:+1:9: +1:14
+      let _2: ();                          // in scope 0 at $DIR/const_prop_miscompile.rs:+2:5: +4:6
+      let mut _3: *mut i32;                // in scope 0 at $DIR/const_prop_miscompile.rs:+3:10: +3:22
+      let mut _5: i32;                     // in scope 0 at $DIR/const_prop_miscompile.rs:+5:13: +5:20
       scope 1 {
-          debug v => _1;                   // in scope 1 at $DIR/const_prop_miscompile.rs:12:9: 12:14
-          let _4: bool;                    // in scope 1 at $DIR/const_prop_miscompile.rs:16:9: 16:10
+          debug v => _1;                   // in scope 1 at $DIR/const_prop_miscompile.rs:+1:9: +1:14
+          let _4: bool;                    // in scope 1 at $DIR/const_prop_miscompile.rs:+5:9: +5:10
           scope 2 {
           }
           scope 3 {
-              debug y => _4;               // in scope 3 at $DIR/const_prop_miscompile.rs:16:9: 16:10
+              debug y => _4;               // in scope 3 at $DIR/const_prop_miscompile.rs:+5:9: +5:10
           }
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/const_prop_miscompile.rs:12:9: 12:14
-          Deinit(_1);                      // scope 0 at $DIR/const_prop_miscompile.rs:12:17: 12:21
-          (_1.0: i32) = const 1_i32;       // scope 0 at $DIR/const_prop_miscompile.rs:12:17: 12:21
-          StorageLive(_2);                 // scope 1 at $DIR/const_prop_miscompile.rs:13:5: 15:6
-          StorageLive(_3);                 // scope 2 at $DIR/const_prop_miscompile.rs:14:10: 14:22
-          _3 = &raw mut (_1.0: i32);       // scope 2 at $DIR/const_prop_miscompile.rs:14:10: 14:22
-          (*_3) = const 5_i32;             // scope 2 at $DIR/const_prop_miscompile.rs:14:9: 14:26
-          StorageDead(_3);                 // scope 2 at $DIR/const_prop_miscompile.rs:14:26: 14:27
-          nop;                             // scope 2 at $DIR/const_prop_miscompile.rs:13:5: 15:6
-          StorageDead(_2);                 // scope 1 at $DIR/const_prop_miscompile.rs:15:5: 15:6
-          StorageLive(_4);                 // scope 1 at $DIR/const_prop_miscompile.rs:16:9: 16:10
-          StorageLive(_5);                 // scope 1 at $DIR/const_prop_miscompile.rs:16:13: 16:20
-          _5 = (_1.0: i32);                // scope 1 at $DIR/const_prop_miscompile.rs:16:15: 16:18
-          _4 = Eq(move _5, const 5_i32);   // scope 1 at $DIR/const_prop_miscompile.rs:16:13: 16:25
-          StorageDead(_5);                 // scope 1 at $DIR/const_prop_miscompile.rs:16:24: 16:25
-          nop;                             // scope 0 at $DIR/const_prop_miscompile.rs:11:10: 17:2
-          StorageDead(_4);                 // scope 1 at $DIR/const_prop_miscompile.rs:17:1: 17:2
-          StorageDead(_1);                 // scope 0 at $DIR/const_prop_miscompile.rs:17:1: 17:2
-          return;                          // scope 0 at $DIR/const_prop_miscompile.rs:17:2: 17:2
+          StorageLive(_1);                 // scope 0 at $DIR/const_prop_miscompile.rs:+1:9: +1:14
+          Deinit(_1);                      // scope 0 at $DIR/const_prop_miscompile.rs:+1:17: +1:21
+          (_1.0: i32) = const 1_i32;       // scope 0 at $DIR/const_prop_miscompile.rs:+1:17: +1:21
+          StorageLive(_2);                 // scope 1 at $DIR/const_prop_miscompile.rs:+2:5: +4:6
+          StorageLive(_3);                 // scope 2 at $DIR/const_prop_miscompile.rs:+3:10: +3:22
+          _3 = &raw mut (_1.0: i32);       // scope 2 at $DIR/const_prop_miscompile.rs:+3:10: +3:22
+          (*_3) = const 5_i32;             // scope 2 at $DIR/const_prop_miscompile.rs:+3:9: +3:26
+          StorageDead(_3);                 // scope 2 at $DIR/const_prop_miscompile.rs:+3:26: +3:27
+          nop;                             // scope 2 at $DIR/const_prop_miscompile.rs:+2:5: +4:6
+          StorageDead(_2);                 // scope 1 at $DIR/const_prop_miscompile.rs:+4:5: +4:6
+          StorageLive(_4);                 // scope 1 at $DIR/const_prop_miscompile.rs:+5:9: +5:10
+          StorageLive(_5);                 // scope 1 at $DIR/const_prop_miscompile.rs:+5:13: +5:20
+          _5 = (_1.0: i32);                // scope 1 at $DIR/const_prop_miscompile.rs:+5:15: +5:18
+          _4 = Eq(move _5, const 5_i32);   // scope 1 at $DIR/const_prop_miscompile.rs:+5:13: +5:25
+          StorageDead(_5);                 // scope 1 at $DIR/const_prop_miscompile.rs:+5:24: +5:25
+          nop;                             // scope 0 at $DIR/const_prop_miscompile.rs:+0:10: +6:2
+          StorageDead(_4);                 // scope 1 at $DIR/const_prop_miscompile.rs:+6:1: +6:2
+          StorageDead(_1);                 // scope 0 at $DIR/const_prop_miscompile.rs:+6:1: +6:2
+          return;                          // scope 0 at $DIR/const_prop_miscompile.rs:+6:2: +6:2
       }
   }
   
index 08730da2f3d124fe0da1084a8227f8ef98a48cb7..e8bd98cf8cba103da7cc0aa8f6f55d92c69f468f 100644 (file)
@@ -2,35 +2,35 @@
 + // MIR for `foo` after ConstProp
   
   fn foo() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/const_prop_miscompile.rs:4:10: 4:10
-      let mut _1: (i32,);                  // in scope 0 at $DIR/const_prop_miscompile.rs:5:9: 5:14
-      let mut _2: &mut i32;                // in scope 0 at $DIR/const_prop_miscompile.rs:6:6: 6:14
-      let mut _4: i32;                     // in scope 0 at $DIR/const_prop_miscompile.rs:7:13: 7:20
+      let mut _0: ();                      // return place in scope 0 at $DIR/const_prop_miscompile.rs:+0:10: +0:10
+      let mut _1: (i32,);                  // in scope 0 at $DIR/const_prop_miscompile.rs:+1:9: +1:14
+      let mut _2: &mut i32;                // in scope 0 at $DIR/const_prop_miscompile.rs:+2:6: +2:14
+      let mut _4: i32;                     // in scope 0 at $DIR/const_prop_miscompile.rs:+3:13: +3:20
       scope 1 {
-          debug u => _1;                   // in scope 1 at $DIR/const_prop_miscompile.rs:5:9: 5:14
-          let _3: bool;                    // in scope 1 at $DIR/const_prop_miscompile.rs:7:9: 7:10
+          debug u => _1;                   // in scope 1 at $DIR/const_prop_miscompile.rs:+1:9: +1:14
+          let _3: bool;                    // in scope 1 at $DIR/const_prop_miscompile.rs:+3:9: +3:10
           scope 2 {
-              debug y => _3;               // in scope 2 at $DIR/const_prop_miscompile.rs:7:9: 7:10
+              debug y => _3;               // in scope 2 at $DIR/const_prop_miscompile.rs:+3:9: +3:10
           }
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/const_prop_miscompile.rs:5:9: 5:14
-          Deinit(_1);                      // scope 0 at $DIR/const_prop_miscompile.rs:5:17: 5:21
-          (_1.0: i32) = const 1_i32;       // scope 0 at $DIR/const_prop_miscompile.rs:5:17: 5:21
-          StorageLive(_2);                 // scope 1 at $DIR/const_prop_miscompile.rs:6:6: 6:14
-          _2 = &mut (_1.0: i32);           // scope 1 at $DIR/const_prop_miscompile.rs:6:6: 6:14
-          (*_2) = const 5_i32;             // scope 1 at $DIR/const_prop_miscompile.rs:6:5: 6:18
-          StorageDead(_2);                 // scope 1 at $DIR/const_prop_miscompile.rs:6:18: 6:19
-          StorageLive(_3);                 // scope 1 at $DIR/const_prop_miscompile.rs:7:9: 7:10
-          StorageLive(_4);                 // scope 1 at $DIR/const_prop_miscompile.rs:7:13: 7:20
-          _4 = (_1.0: i32);                // scope 1 at $DIR/const_prop_miscompile.rs:7:15: 7:18
-          _3 = Eq(move _4, const 5_i32);   // scope 1 at $DIR/const_prop_miscompile.rs:7:13: 7:25
-          StorageDead(_4);                 // scope 1 at $DIR/const_prop_miscompile.rs:7:24: 7:25
-          nop;                             // scope 0 at $DIR/const_prop_miscompile.rs:4:10: 8:2
-          StorageDead(_3);                 // scope 1 at $DIR/const_prop_miscompile.rs:8:1: 8:2
-          StorageDead(_1);                 // scope 0 at $DIR/const_prop_miscompile.rs:8:1: 8:2
-          return;                          // scope 0 at $DIR/const_prop_miscompile.rs:8:2: 8:2
+          StorageLive(_1);                 // scope 0 at $DIR/const_prop_miscompile.rs:+1:9: +1:14
+          Deinit(_1);                      // scope 0 at $DIR/const_prop_miscompile.rs:+1:17: +1:21
+          (_1.0: i32) = const 1_i32;       // scope 0 at $DIR/const_prop_miscompile.rs:+1:17: +1:21
+          StorageLive(_2);                 // scope 1 at $DIR/const_prop_miscompile.rs:+2:6: +2:14
+          _2 = &mut (_1.0: i32);           // scope 1 at $DIR/const_prop_miscompile.rs:+2:6: +2:14
+          (*_2) = const 5_i32;             // scope 1 at $DIR/const_prop_miscompile.rs:+2:5: +2:18
+          StorageDead(_2);                 // scope 1 at $DIR/const_prop_miscompile.rs:+2:18: +2:19
+          StorageLive(_3);                 // scope 1 at $DIR/const_prop_miscompile.rs:+3:9: +3:10
+          StorageLive(_4);                 // scope 1 at $DIR/const_prop_miscompile.rs:+3:13: +3:20
+          _4 = (_1.0: i32);                // scope 1 at $DIR/const_prop_miscompile.rs:+3:15: +3:18
+          _3 = Eq(move _4, const 5_i32);   // scope 1 at $DIR/const_prop_miscompile.rs:+3:13: +3:25
+          StorageDead(_4);                 // scope 1 at $DIR/const_prop_miscompile.rs:+3:24: +3:25
+          nop;                             // scope 0 at $DIR/const_prop_miscompile.rs:+0:10: +4:2
+          StorageDead(_3);                 // scope 1 at $DIR/const_prop_miscompile.rs:+4:1: +4:2
+          StorageDead(_1);                 // scope 0 at $DIR/const_prop_miscompile.rs:+4:1: +4:2
+          return;                          // scope 0 at $DIR/const_prop_miscompile.rs:+4:2: +4:2
       }
   }
   
index 5f8019ac975a3be560b36d98b053b5f66e4bdb30..58dd788b6afcaf152b31b161a8956f8801ab82b6 100644 (file)
@@ -2,74 +2,74 @@
 + // MIR for `cycle` after DeadStoreElimination
   
   fn cycle(_1: i32, _2: i32, _3: i32) -> () {
-      debug x => _1;                       // in scope 0 at $DIR/cycle.rs:9:10: 9:15
-      debug y => _2;                       // in scope 0 at $DIR/cycle.rs:9:22: 9:27
-      debug z => _3;                       // in scope 0 at $DIR/cycle.rs:9:34: 9:39
-      let mut _0: ();                      // return place in scope 0 at $DIR/cycle.rs:9:46: 9:46
-      let mut _4: ();                      // in scope 0 at $DIR/cycle.rs:9:1: 18:2
-      let mut _5: bool;                    // in scope 0 at $DIR/cycle.rs:12:11: 12:17
-      let _6: i32;                         // in scope 0 at $DIR/cycle.rs:13:13: 13:17
-      let mut _7: i32;                     // in scope 0 at $DIR/cycle.rs:14:13: 14:14
-      let mut _8: i32;                     // in scope 0 at $DIR/cycle.rs:15:13: 15:14
-      let mut _9: i32;                     // in scope 0 at $DIR/cycle.rs:16:13: 16:17
-      let mut _10: !;                      // in scope 0 at $DIR/cycle.rs:12:5: 17:6
-      let _11: ();                         // in scope 0 at $DIR/cycle.rs:12:5: 17:6
-      let mut _12: !;                      // in scope 0 at $DIR/cycle.rs:12:5: 17:6
+      debug x => _1;                       // in scope 0 at $DIR/cycle.rs:+0:10: +0:15
+      debug y => _2;                       // in scope 0 at $DIR/cycle.rs:+0:22: +0:27
+      debug z => _3;                       // in scope 0 at $DIR/cycle.rs:+0:34: +0:39
+      let mut _0: ();                      // return place in scope 0 at $DIR/cycle.rs:+0:46: +0:46
+      let mut _4: ();                      // in scope 0 at $DIR/cycle.rs:+0:1: +9:2
+      let mut _5: bool;                    // in scope 0 at $DIR/cycle.rs:+3:11: +3:17
+      let _6: i32;                         // in scope 0 at $DIR/cycle.rs:+4:13: +4:17
+      let mut _7: i32;                     // in scope 0 at $DIR/cycle.rs:+5:13: +5:14
+      let mut _8: i32;                     // in scope 0 at $DIR/cycle.rs:+6:13: +6:14
+      let mut _9: i32;                     // in scope 0 at $DIR/cycle.rs:+7:13: +7:17
+      let mut _10: !;                      // in scope 0 at $DIR/cycle.rs:+3:5: +8:6
+      let _11: ();                         // in scope 0 at $DIR/cycle.rs:+3:5: +8:6
+      let mut _12: !;                      // in scope 0 at $DIR/cycle.rs:+3:5: +8:6
       scope 1 {
-          debug temp => _6;                // in scope 1 at $DIR/cycle.rs:13:13: 13:17
+          debug temp => _6;                // in scope 1 at $DIR/cycle.rs:+4:13: +4:17
       }
   
       bb0: {
-          goto -> bb1;                     // scope 0 at $DIR/cycle.rs:12:5: 17:6
+          goto -> bb1;                     // scope 0 at $DIR/cycle.rs:+3:5: +8:6
       }
   
       bb1: {
-          StorageLive(_5);                 // scope 0 at $DIR/cycle.rs:12:11: 12:17
-          _5 = cond() -> bb2;              // scope 0 at $DIR/cycle.rs:12:11: 12:17
+          StorageLive(_5);                 // scope 0 at $DIR/cycle.rs:+3:11: +3:17
+          _5 = cond() -> bb2;              // scope 0 at $DIR/cycle.rs:+3:11: +3:17
                                            // mir::Constant
                                            // + span: $DIR/cycle.rs:12:11: 12:15
                                            // + literal: Const { ty: fn() -> bool {cond}, val: Value(<ZST>) }
       }
   
       bb2: {
-          switchInt(move _5) -> [false: bb4, otherwise: bb3]; // scope 0 at $DIR/cycle.rs:12:11: 12:17
+          switchInt(move _5) -> [false: bb4, otherwise: bb3]; // scope 0 at $DIR/cycle.rs:+3:11: +3:17
       }
   
       bb3: {
-          StorageLive(_6);                 // scope 0 at $DIR/cycle.rs:13:13: 13:17
--         _6 = _3;                         // scope 0 at $DIR/cycle.rs:13:20: 13:21
-+         nop;                             // scope 0 at $DIR/cycle.rs:13:20: 13:21
-          StorageLive(_7);                 // scope 1 at $DIR/cycle.rs:14:13: 14:14
--         _7 = _2;                         // scope 1 at $DIR/cycle.rs:14:13: 14:14
--         _3 = move _7;                    // scope 1 at $DIR/cycle.rs:14:9: 14:14
-+         nop;                             // scope 1 at $DIR/cycle.rs:14:13: 14:14
-+         nop;                             // scope 1 at $DIR/cycle.rs:14:9: 14:14
-          StorageDead(_7);                 // scope 1 at $DIR/cycle.rs:14:13: 14:14
-          StorageLive(_8);                 // scope 1 at $DIR/cycle.rs:15:13: 15:14
--         _8 = _1;                         // scope 1 at $DIR/cycle.rs:15:13: 15:14
--         _2 = move _8;                    // scope 1 at $DIR/cycle.rs:15:9: 15:14
-+         nop;                             // scope 1 at $DIR/cycle.rs:15:13: 15:14
-+         nop;                             // scope 1 at $DIR/cycle.rs:15:9: 15:14
-          StorageDead(_8);                 // scope 1 at $DIR/cycle.rs:15:13: 15:14
-          StorageLive(_9);                 // scope 1 at $DIR/cycle.rs:16:13: 16:17
--         _9 = _6;                         // scope 1 at $DIR/cycle.rs:16:13: 16:17
--         _1 = move _9;                    // scope 1 at $DIR/cycle.rs:16:9: 16:17
-+         nop;                             // scope 1 at $DIR/cycle.rs:16:13: 16:17
-+         nop;                             // scope 1 at $DIR/cycle.rs:16:9: 16:17
-          StorageDead(_9);                 // scope 1 at $DIR/cycle.rs:16:16: 16:17
--         _4 = const ();                   // scope 0 at $DIR/cycle.rs:12:18: 17:6
-+         nop;                             // scope 0 at $DIR/cycle.rs:12:18: 17:6
-          StorageDead(_6);                 // scope 0 at $DIR/cycle.rs:17:5: 17:6
-          StorageDead(_5);                 // scope 0 at $DIR/cycle.rs:17:5: 17:6
-          goto -> bb1;                     // scope 0 at $DIR/cycle.rs:12:5: 17:6
+          StorageLive(_6);                 // scope 0 at $DIR/cycle.rs:+4:13: +4:17
+-         _6 = _3;                         // scope 0 at $DIR/cycle.rs:+4:20: +4:21
++         nop;                             // scope 0 at $DIR/cycle.rs:+4:20: +4:21
+          StorageLive(_7);                 // scope 1 at $DIR/cycle.rs:+5:13: +5:14
+-         _7 = _2;                         // scope 1 at $DIR/cycle.rs:+5:13: +5:14
+-         _3 = move _7;                    // scope 1 at $DIR/cycle.rs:+5:9: +5:14
++         nop;                             // scope 1 at $DIR/cycle.rs:+5:13: +5:14
++         nop;                             // scope 1 at $DIR/cycle.rs:+5:9: +5:14
+          StorageDead(_7);                 // scope 1 at $DIR/cycle.rs:+5:13: +5:14
+          StorageLive(_8);                 // scope 1 at $DIR/cycle.rs:+6:13: +6:14
+-         _8 = _1;                         // scope 1 at $DIR/cycle.rs:+6:13: +6:14
+-         _2 = move _8;                    // scope 1 at $DIR/cycle.rs:+6:9: +6:14
++         nop;                             // scope 1 at $DIR/cycle.rs:+6:13: +6:14
++         nop;                             // scope 1 at $DIR/cycle.rs:+6:9: +6:14
+          StorageDead(_8);                 // scope 1 at $DIR/cycle.rs:+6:13: +6:14
+          StorageLive(_9);                 // scope 1 at $DIR/cycle.rs:+7:13: +7:17
+-         _9 = _6;                         // scope 1 at $DIR/cycle.rs:+7:13: +7:17
+-         _1 = move _9;                    // scope 1 at $DIR/cycle.rs:+7:9: +7:17
++         nop;                             // scope 1 at $DIR/cycle.rs:+7:13: +7:17
++         nop;                             // scope 1 at $DIR/cycle.rs:+7:9: +7:17
+          StorageDead(_9);                 // scope 1 at $DIR/cycle.rs:+7:16: +7:17
+-         _4 = const ();                   // scope 0 at $DIR/cycle.rs:+3:18: +8:6
++         nop;                             // scope 0 at $DIR/cycle.rs:+3:18: +8:6
+          StorageDead(_6);                 // scope 0 at $DIR/cycle.rs:+8:5: +8:6
+          StorageDead(_5);                 // scope 0 at $DIR/cycle.rs:+8:5: +8:6
+          goto -> bb1;                     // scope 0 at $DIR/cycle.rs:+3:5: +8:6
       }
   
       bb4: {
-          StorageLive(_11);                // scope 0 at $DIR/cycle.rs:12:5: 17:6
-          _0 = const ();                   // scope 0 at $DIR/cycle.rs:12:5: 17:6
-          StorageDead(_11);                // scope 0 at $DIR/cycle.rs:17:5: 17:6
-          StorageDead(_5);                 // scope 0 at $DIR/cycle.rs:17:5: 17:6
-          return;                          // scope 0 at $DIR/cycle.rs:18:2: 18:2
+          StorageLive(_11);                // scope 0 at $DIR/cycle.rs:+3:5: +8:6
+          _0 = const ();                   // scope 0 at $DIR/cycle.rs:+3:5: +8:6
+          StorageDead(_11);                // scope 0 at $DIR/cycle.rs:+8:5: +8:6
+          StorageDead(_5);                 // scope 0 at $DIR/cycle.rs:+8:5: +8:6
+          return;                          // scope 0 at $DIR/cycle.rs:+9:2: +9:2
       }
   }
   
index 2331f63ecdd42199d276193d4dad10fe0f930f07..89f1846b45de80caa4d58308b2caf901c6a960a3 100644 (file)
@@ -2,34 +2,34 @@
 + // MIR for `pointer_to_int` after DeadStoreElimination
   
   fn pointer_to_int(_1: *mut i32) -> () {
-      debug p => _1;                       // in scope 0 at $DIR/provenance_soundness.rs:7:19: 7:20
-      let mut _0: ();                      // return place in scope 0 at $DIR/provenance_soundness.rs:7:32: 7:32
-      let _2: usize;                       // in scope 0 at $DIR/provenance_soundness.rs:8:9: 8:11
-      let mut _3: *mut i32;                // in scope 0 at $DIR/provenance_soundness.rs:8:14: 8:15
-      let mut _5: *mut i32;                // in scope 0 at $DIR/provenance_soundness.rs:9:14: 9:15
+      debug p => _1;                       // in scope 0 at $DIR/provenance_soundness.rs:+0:19: +0:20
+      let mut _0: ();                      // return place in scope 0 at $DIR/provenance_soundness.rs:+0:32: +0:32
+      let _2: usize;                       // in scope 0 at $DIR/provenance_soundness.rs:+1:9: +1:11
+      let mut _3: *mut i32;                // in scope 0 at $DIR/provenance_soundness.rs:+1:14: +1:15
+      let mut _5: *mut i32;                // in scope 0 at $DIR/provenance_soundness.rs:+2:14: +2:15
       scope 1 {
-          debug _x => _2;                  // in scope 1 at $DIR/provenance_soundness.rs:8:9: 8:11
-          let _4: isize;                   // in scope 1 at $DIR/provenance_soundness.rs:9:9: 9:11
+          debug _x => _2;                  // in scope 1 at $DIR/provenance_soundness.rs:+1:9: +1:11
+          let _4: isize;                   // in scope 1 at $DIR/provenance_soundness.rs:+2:9: +2:11
           scope 2 {
-              debug _y => _4;              // in scope 2 at $DIR/provenance_soundness.rs:9:9: 9:11
+              debug _y => _4;              // in scope 2 at $DIR/provenance_soundness.rs:+2:9: +2:11
           }
       }
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/provenance_soundness.rs:8:9: 8:11
-          StorageLive(_3);                 // scope 0 at $DIR/provenance_soundness.rs:8:14: 8:15
-          _3 = _1;                         // scope 0 at $DIR/provenance_soundness.rs:8:14: 8:15
-          _2 = move _3 as usize (PointerExposeAddress); // scope 0 at $DIR/provenance_soundness.rs:8:14: 8:24
-          StorageDead(_3);                 // scope 0 at $DIR/provenance_soundness.rs:8:23: 8:24
-          StorageLive(_4);                 // scope 1 at $DIR/provenance_soundness.rs:9:9: 9:11
-          StorageLive(_5);                 // scope 1 at $DIR/provenance_soundness.rs:9:14: 9:15
-          _5 = _1;                         // scope 1 at $DIR/provenance_soundness.rs:9:14: 9:15
-          _4 = move _5 as isize (PointerExposeAddress); // scope 1 at $DIR/provenance_soundness.rs:9:14: 9:24
-          StorageDead(_5);                 // scope 1 at $DIR/provenance_soundness.rs:9:23: 9:24
-          _0 = const ();                   // scope 0 at $DIR/provenance_soundness.rs:7:32: 10:2
-          StorageDead(_4);                 // scope 1 at $DIR/provenance_soundness.rs:10:1: 10:2
-          StorageDead(_2);                 // scope 0 at $DIR/provenance_soundness.rs:10:1: 10:2
-          return;                          // scope 0 at $DIR/provenance_soundness.rs:10:2: 10:2
+          StorageLive(_2);                 // scope 0 at $DIR/provenance_soundness.rs:+1:9: +1:11
+          StorageLive(_3);                 // scope 0 at $DIR/provenance_soundness.rs:+1:14: +1:15
+          _3 = _1;                         // scope 0 at $DIR/provenance_soundness.rs:+1:14: +1:15
+          _2 = move _3 as usize (PointerExposeAddress); // scope 0 at $DIR/provenance_soundness.rs:+1:14: +1:24
+          StorageDead(_3);                 // scope 0 at $DIR/provenance_soundness.rs:+1:23: +1:24
+          StorageLive(_4);                 // scope 1 at $DIR/provenance_soundness.rs:+2:9: +2:11
+          StorageLive(_5);                 // scope 1 at $DIR/provenance_soundness.rs:+2:14: +2:15
+          _5 = _1;                         // scope 1 at $DIR/provenance_soundness.rs:+2:14: +2:15
+          _4 = move _5 as isize (PointerExposeAddress); // scope 1 at $DIR/provenance_soundness.rs:+2:14: +2:24
+          StorageDead(_5);                 // scope 1 at $DIR/provenance_soundness.rs:+2:23: +2:24
+          _0 = const ();                   // scope 0 at $DIR/provenance_soundness.rs:+0:32: +3:2
+          StorageDead(_4);                 // scope 1 at $DIR/provenance_soundness.rs:+3:1: +3:2
+          StorageDead(_2);                 // scope 0 at $DIR/provenance_soundness.rs:+3:1: +3:2
+          return;                          // scope 0 at $DIR/provenance_soundness.rs:+3:2: +3:2
       }
   }
   
index 0bfffb6dca3dca9c326b57cf1af0019f11f6d3af..300f0d5dcaa98045e73724bf24ba2a21bd52fb00 100644 (file)
@@ -2,13 +2,13 @@
 + // MIR for `retags` after DeadStoreElimination
   
   fn retags(_1: &mut i32) -> () {
-      debug _r => _1;                      // in scope 0 at $DIR/provenance_soundness.rs:13:11: 13:13
-      let mut _0: ();                      // return place in scope 0 at $DIR/provenance_soundness.rs:13:25: 13:25
+      debug _r => _1;                      // in scope 0 at $DIR/provenance_soundness.rs:+0:11: +0:13
+      let mut _0: ();                      // return place in scope 0 at $DIR/provenance_soundness.rs:+0:25: +0:25
   
       bb0: {
-          Retag([fn entry] _1);            // scope 0 at $DIR/provenance_soundness.rs:13:1: 13:27
-          _0 = const ();                   // scope 0 at $DIR/provenance_soundness.rs:13:25: 13:27
-          return;                          // scope 0 at $DIR/provenance_soundness.rs:13:27: 13:27
+          Retag([fn entry] _1);            // scope 0 at $DIR/provenance_soundness.rs:+0:1: +0:27
+          _0 = const ();                   // scope 0 at $DIR/provenance_soundness.rs:+0:25: +0:27
+          return;                          // scope 0 at $DIR/provenance_soundness.rs:+0:27: +0:27
       }
   }
   
index 69de05b309f84b713ce5b9ffded2a83e05ecc549..db136485a21152e886ed324af07dbd29e414c95c 100644 (file)
@@ -2,20 +2,20 @@
 + // MIR for `bar` after Deaggregator
   
   fn bar(_1: usize) -> Baz {
-      debug a => _1;                       // in scope 0 at $DIR/deaggregator_test.rs:8:8: 8:9
-      let mut _0: Baz;                     // return place in scope 0 at $DIR/deaggregator_test.rs:8:21: 8:24
-      let mut _2: usize;                   // in scope 0 at $DIR/deaggregator_test.rs:9:14: 9:15
+      debug a => _1;                       // in scope 0 at $DIR/deaggregator_test.rs:+0:8: +0:9
+      let mut _0: Baz;                     // return place in scope 0 at $DIR/deaggregator_test.rs:+0:21: +0:24
+      let mut _2: usize;                   // in scope 0 at $DIR/deaggregator_test.rs:+1:14: +1:15
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/deaggregator_test.rs:9:14: 9:15
-          _2 = _1;                         // scope 0 at $DIR/deaggregator_test.rs:9:14: 9:15
--         _0 = Baz { x: move _2, y: const 0f32, z: const false }; // scope 0 at $DIR/deaggregator_test.rs:9:5: 9:35
-+         Deinit(_0);                      // scope 0 at $DIR/deaggregator_test.rs:9:5: 9:35
-+         (_0.0: usize) = move _2;         // scope 0 at $DIR/deaggregator_test.rs:9:5: 9:35
-+         (_0.1: f32) = const 0f32;        // scope 0 at $DIR/deaggregator_test.rs:9:5: 9:35
-+         (_0.2: bool) = const false;      // scope 0 at $DIR/deaggregator_test.rs:9:5: 9:35
-          StorageDead(_2);                 // scope 0 at $DIR/deaggregator_test.rs:9:34: 9:35
-          return;                          // scope 0 at $DIR/deaggregator_test.rs:10:2: 10:2
+          StorageLive(_2);                 // scope 0 at $DIR/deaggregator_test.rs:+1:14: +1:15
+          _2 = _1;                         // scope 0 at $DIR/deaggregator_test.rs:+1:14: +1:15
+-         _0 = Baz { x: move _2, y: const 0f32, z: const false }; // scope 0 at $DIR/deaggregator_test.rs:+1:5: +1:35
++         Deinit(_0);                      // scope 0 at $DIR/deaggregator_test.rs:+1:5: +1:35
++         (_0.0: usize) = move _2;         // scope 0 at $DIR/deaggregator_test.rs:+1:5: +1:35
++         (_0.1: f32) = const 0f32;        // scope 0 at $DIR/deaggregator_test.rs:+1:5: +1:35
++         (_0.2: bool) = const false;      // scope 0 at $DIR/deaggregator_test.rs:+1:5: +1:35
+          StorageDead(_2);                 // scope 0 at $DIR/deaggregator_test.rs:+1:34: +1:35
+          return;                          // scope 0 at $DIR/deaggregator_test.rs:+2:2: +2:2
       }
   }
   
index b28f506a694c9653dbe8d6f7808055451aaff054..f28c2b482af2dd6dc03d729651af0454a8466713 100644 (file)
@@ -2,19 +2,19 @@
 + // MIR for `bar` after Deaggregator
   
   fn bar(_1: usize) -> Baz {
-      debug a => _1;                       // in scope 0 at $DIR/deaggregator_test_enum.rs:7:8: 7:9
-      let mut _0: Baz;                     // return place in scope 0 at $DIR/deaggregator_test_enum.rs:7:21: 7:24
-      let mut _2: usize;                   // in scope 0 at $DIR/deaggregator_test_enum.rs:8:19: 8:20
+      debug a => _1;                       // in scope 0 at $DIR/deaggregator_test_enum.rs:+0:8: +0:9
+      let mut _0: Baz;                     // return place in scope 0 at $DIR/deaggregator_test_enum.rs:+0:21: +0:24
+      let mut _2: usize;                   // in scope 0 at $DIR/deaggregator_test_enum.rs:+1:19: +1:20
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/deaggregator_test_enum.rs:8:19: 8:20
-          _2 = _1;                         // scope 0 at $DIR/deaggregator_test_enum.rs:8:19: 8:20
--         _0 = Baz::Foo { x: move _2 };    // scope 0 at $DIR/deaggregator_test_enum.rs:8:5: 8:22
-+         Deinit(_0);                      // scope 0 at $DIR/deaggregator_test_enum.rs:8:5: 8:22
-+         ((_0 as Foo).0: usize) = move _2; // scope 0 at $DIR/deaggregator_test_enum.rs:8:5: 8:22
-+         discriminant(_0) = 1;            // scope 0 at $DIR/deaggregator_test_enum.rs:8:5: 8:22
-          StorageDead(_2);                 // scope 0 at $DIR/deaggregator_test_enum.rs:8:21: 8:22
-          return;                          // scope 0 at $DIR/deaggregator_test_enum.rs:9:2: 9:2
+          StorageLive(_2);                 // scope 0 at $DIR/deaggregator_test_enum.rs:+1:19: +1:20
+          _2 = _1;                         // scope 0 at $DIR/deaggregator_test_enum.rs:+1:19: +1:20
+-         _0 = Baz::Foo { x: move _2 };    // scope 0 at $DIR/deaggregator_test_enum.rs:+1:5: +1:22
++         Deinit(_0);                      // scope 0 at $DIR/deaggregator_test_enum.rs:+1:5: +1:22
++         ((_0 as Foo).0: usize) = move _2; // scope 0 at $DIR/deaggregator_test_enum.rs:+1:5: +1:22
++         discriminant(_0) = 1;            // scope 0 at $DIR/deaggregator_test_enum.rs:+1:5: +1:22
+          StorageDead(_2);                 // scope 0 at $DIR/deaggregator_test_enum.rs:+1:21: +1:22
+          return;                          // scope 0 at $DIR/deaggregator_test_enum.rs:+2:2: +2:2
       }
   }
   
index 5cfcef849e9db84508f515ff2c565ca5b515235f..fb18089e040f08a47e7a86c5457469059c050df4 100644 (file)
@@ -2,44 +2,44 @@
 + // MIR for `test1` after Deaggregator
   
   fn test1(_1: bool, _2: i32) -> Foo {
-      debug x => _1;                       // in scope 0 at $DIR/deaggregator_test_enum_2.rs:9:10: 9:11
-      debug y => _2;                       // in scope 0 at $DIR/deaggregator_test_enum_2.rs:9:19: 9:20
-      let mut _0: Foo;                     // return place in scope 0 at $DIR/deaggregator_test_enum_2.rs:9:30: 9:33
-      let mut _3: bool;                    // in scope 0 at $DIR/deaggregator_test_enum_2.rs:10:8: 10:9
-      let mut _4: i32;                     // in scope 0 at $DIR/deaggregator_test_enum_2.rs:11:16: 11:17
-      let mut _5: i32;                     // in scope 0 at $DIR/deaggregator_test_enum_2.rs:13:16: 13:17
+      debug x => _1;                       // in scope 0 at $DIR/deaggregator_test_enum_2.rs:+0:10: +0:11
+      debug y => _2;                       // in scope 0 at $DIR/deaggregator_test_enum_2.rs:+0:19: +0:20
+      let mut _0: Foo;                     // return place in scope 0 at $DIR/deaggregator_test_enum_2.rs:+0:30: +0:33
+      let mut _3: bool;                    // in scope 0 at $DIR/deaggregator_test_enum_2.rs:+1:8: +1:9
+      let mut _4: i32;                     // in scope 0 at $DIR/deaggregator_test_enum_2.rs:+2:16: +2:17
+      let mut _5: i32;                     // in scope 0 at $DIR/deaggregator_test_enum_2.rs:+4:16: +4:17
   
       bb0: {
-          StorageLive(_3);                 // scope 0 at $DIR/deaggregator_test_enum_2.rs:10:8: 10:9
-          _3 = _1;                         // scope 0 at $DIR/deaggregator_test_enum_2.rs:10:8: 10:9
-          switchInt(move _3) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/deaggregator_test_enum_2.rs:10:8: 10:9
+          StorageLive(_3);                 // scope 0 at $DIR/deaggregator_test_enum_2.rs:+1:8: +1:9
+          _3 = _1;                         // scope 0 at $DIR/deaggregator_test_enum_2.rs:+1:8: +1:9
+          switchInt(move _3) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/deaggregator_test_enum_2.rs:+1:8: +1:9
       }
   
       bb1: {
-          StorageLive(_4);                 // scope 0 at $DIR/deaggregator_test_enum_2.rs:11:16: 11:17
-          _4 = _2;                         // scope 0 at $DIR/deaggregator_test_enum_2.rs:11:16: 11:17
--         _0 = Foo::A(move _4);            // scope 0 at $DIR/deaggregator_test_enum_2.rs:11:9: 11:18
-+         Deinit(_0);                      // scope 0 at $DIR/deaggregator_test_enum_2.rs:11:9: 11:18
-+         ((_0 as A).0: i32) = move _4;    // scope 0 at $DIR/deaggregator_test_enum_2.rs:11:9: 11:18
-+         discriminant(_0) = 0;            // scope 0 at $DIR/deaggregator_test_enum_2.rs:11:9: 11:18
-          StorageDead(_4);                 // scope 0 at $DIR/deaggregator_test_enum_2.rs:11:17: 11:18
-          goto -> bb3;                     // scope 0 at $DIR/deaggregator_test_enum_2.rs:10:5: 14:6
+          StorageLive(_4);                 // scope 0 at $DIR/deaggregator_test_enum_2.rs:+2:16: +2:17
+          _4 = _2;                         // scope 0 at $DIR/deaggregator_test_enum_2.rs:+2:16: +2:17
+-         _0 = Foo::A(move _4);            // scope 0 at $DIR/deaggregator_test_enum_2.rs:+2:9: +2:18
++         Deinit(_0);                      // scope 0 at $DIR/deaggregator_test_enum_2.rs:+2:9: +2:18
++         ((_0 as A).0: i32) = move _4;    // scope 0 at $DIR/deaggregator_test_enum_2.rs:+2:9: +2:18
++         discriminant(_0) = 0;            // scope 0 at $DIR/deaggregator_test_enum_2.rs:+2:9: +2:18
+          StorageDead(_4);                 // scope 0 at $DIR/deaggregator_test_enum_2.rs:+2:17: +2:18
+          goto -> bb3;                     // scope 0 at $DIR/deaggregator_test_enum_2.rs:+1:5: +5:6
       }
   
       bb2: {
-          StorageLive(_5);                 // scope 0 at $DIR/deaggregator_test_enum_2.rs:13:16: 13:17
-          _5 = _2;                         // scope 0 at $DIR/deaggregator_test_enum_2.rs:13:16: 13:17
--         _0 = Foo::B(move _5);            // scope 0 at $DIR/deaggregator_test_enum_2.rs:13:9: 13:18
-+         Deinit(_0);                      // scope 0 at $DIR/deaggregator_test_enum_2.rs:13:9: 13:18
-+         ((_0 as B).0: i32) = move _5;    // scope 0 at $DIR/deaggregator_test_enum_2.rs:13:9: 13:18
-+         discriminant(_0) = 1;            // scope 0 at $DIR/deaggregator_test_enum_2.rs:13:9: 13:18
-          StorageDead(_5);                 // scope 0 at $DIR/deaggregator_test_enum_2.rs:13:17: 13:18
-          goto -> bb3;                     // scope 0 at $DIR/deaggregator_test_enum_2.rs:10:5: 14:6
+          StorageLive(_5);                 // scope 0 at $DIR/deaggregator_test_enum_2.rs:+4:16: +4:17
+          _5 = _2;                         // scope 0 at $DIR/deaggregator_test_enum_2.rs:+4:16: +4:17
+-         _0 = Foo::B(move _5);            // scope 0 at $DIR/deaggregator_test_enum_2.rs:+4:9: +4:18
++         Deinit(_0);                      // scope 0 at $DIR/deaggregator_test_enum_2.rs:+4:9: +4:18
++         ((_0 as B).0: i32) = move _5;    // scope 0 at $DIR/deaggregator_test_enum_2.rs:+4:9: +4:18
++         discriminant(_0) = 1;            // scope 0 at $DIR/deaggregator_test_enum_2.rs:+4:9: +4:18
+          StorageDead(_5);                 // scope 0 at $DIR/deaggregator_test_enum_2.rs:+4:17: +4:18
+          goto -> bb3;                     // scope 0 at $DIR/deaggregator_test_enum_2.rs:+1:5: +5:6
       }
   
       bb3: {
-          StorageDead(_3);                 // scope 0 at $DIR/deaggregator_test_enum_2.rs:14:5: 14:6
-          return;                          // scope 0 at $DIR/deaggregator_test_enum_2.rs:15:2: 15:2
+          StorageDead(_3);                 // scope 0 at $DIR/deaggregator_test_enum_2.rs:+5:5: +5:6
+          return;                          // scope 0 at $DIR/deaggregator_test_enum_2.rs:+6:2: +6:2
       }
   }
   
index c346f551a1ab8878f2381e5b574078692f1572bc..cf5da273c2894ffa4112404a37b28a536703702e 100644 (file)
@@ -2,34 +2,34 @@
 + // MIR for `test` after Deaggregator
   
   fn test(_1: i32) -> [Foo; 2] {
-      debug x => _1;                       // in scope 0 at $DIR/deaggregator_test_multiple.rs:9:9: 9:10
-      let mut _0: [Foo; 2];                // return place in scope 0 at $DIR/deaggregator_test_multiple.rs:9:20: 9:28
-      let mut _2: Foo;                     // in scope 0 at $DIR/deaggregator_test_multiple.rs:10:6: 10:15
-      let mut _3: i32;                     // in scope 0 at $DIR/deaggregator_test_multiple.rs:10:13: 10:14
-      let mut _4: Foo;                     // in scope 0 at $DIR/deaggregator_test_multiple.rs:10:17: 10:26
-      let mut _5: i32;                     // in scope 0 at $DIR/deaggregator_test_multiple.rs:10:24: 10:25
+      debug x => _1;                       // in scope 0 at $DIR/deaggregator_test_multiple.rs:+0:9: +0:10
+      let mut _0: [Foo; 2];                // return place in scope 0 at $DIR/deaggregator_test_multiple.rs:+0:20: +0:28
+      let mut _2: Foo;                     // in scope 0 at $DIR/deaggregator_test_multiple.rs:+1:6: +1:15
+      let mut _3: i32;                     // in scope 0 at $DIR/deaggregator_test_multiple.rs:+1:13: +1:14
+      let mut _4: Foo;                     // in scope 0 at $DIR/deaggregator_test_multiple.rs:+1:17: +1:26
+      let mut _5: i32;                     // in scope 0 at $DIR/deaggregator_test_multiple.rs:+1:24: +1:25
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/deaggregator_test_multiple.rs:10:6: 10:15
-          StorageLive(_3);                 // scope 0 at $DIR/deaggregator_test_multiple.rs:10:13: 10:14
-          _3 = _1;                         // scope 0 at $DIR/deaggregator_test_multiple.rs:10:13: 10:14
--         _2 = Foo::A(move _3);            // scope 0 at $DIR/deaggregator_test_multiple.rs:10:6: 10:15
-+         Deinit(_2);                      // scope 0 at $DIR/deaggregator_test_multiple.rs:10:6: 10:15
-+         ((_2 as A).0: i32) = move _3;    // scope 0 at $DIR/deaggregator_test_multiple.rs:10:6: 10:15
-+         discriminant(_2) = 0;            // scope 0 at $DIR/deaggregator_test_multiple.rs:10:6: 10:15
-          StorageDead(_3);                 // scope 0 at $DIR/deaggregator_test_multiple.rs:10:14: 10:15
-          StorageLive(_4);                 // scope 0 at $DIR/deaggregator_test_multiple.rs:10:17: 10:26
-          StorageLive(_5);                 // scope 0 at $DIR/deaggregator_test_multiple.rs:10:24: 10:25
-          _5 = _1;                         // scope 0 at $DIR/deaggregator_test_multiple.rs:10:24: 10:25
--         _4 = Foo::A(move _5);            // scope 0 at $DIR/deaggregator_test_multiple.rs:10:17: 10:26
-+         Deinit(_4);                      // scope 0 at $DIR/deaggregator_test_multiple.rs:10:17: 10:26
-+         ((_4 as A).0: i32) = move _5;    // scope 0 at $DIR/deaggregator_test_multiple.rs:10:17: 10:26
-+         discriminant(_4) = 0;            // scope 0 at $DIR/deaggregator_test_multiple.rs:10:17: 10:26
-          StorageDead(_5);                 // scope 0 at $DIR/deaggregator_test_multiple.rs:10:25: 10:26
-          _0 = [move _2, move _4];         // scope 0 at $DIR/deaggregator_test_multiple.rs:10:5: 10:27
-          StorageDead(_4);                 // scope 0 at $DIR/deaggregator_test_multiple.rs:10:26: 10:27
-          StorageDead(_2);                 // scope 0 at $DIR/deaggregator_test_multiple.rs:10:26: 10:27
-          return;                          // scope 0 at $DIR/deaggregator_test_multiple.rs:11:2: 11:2
+          StorageLive(_2);                 // scope 0 at $DIR/deaggregator_test_multiple.rs:+1:6: +1:15
+          StorageLive(_3);                 // scope 0 at $DIR/deaggregator_test_multiple.rs:+1:13: +1:14
+          _3 = _1;                         // scope 0 at $DIR/deaggregator_test_multiple.rs:+1:13: +1:14
+-         _2 = Foo::A(move _3);            // scope 0 at $DIR/deaggregator_test_multiple.rs:+1:6: +1:15
++         Deinit(_2);                      // scope 0 at $DIR/deaggregator_test_multiple.rs:+1:6: +1:15
++         ((_2 as A).0: i32) = move _3;    // scope 0 at $DIR/deaggregator_test_multiple.rs:+1:6: +1:15
++         discriminant(_2) = 0;            // scope 0 at $DIR/deaggregator_test_multiple.rs:+1:6: +1:15
+          StorageDead(_3);                 // scope 0 at $DIR/deaggregator_test_multiple.rs:+1:14: +1:15
+          StorageLive(_4);                 // scope 0 at $DIR/deaggregator_test_multiple.rs:+1:17: +1:26
+          StorageLive(_5);                 // scope 0 at $DIR/deaggregator_test_multiple.rs:+1:24: +1:25
+          _5 = _1;                         // scope 0 at $DIR/deaggregator_test_multiple.rs:+1:24: +1:25
+-         _4 = Foo::A(move _5);            // scope 0 at $DIR/deaggregator_test_multiple.rs:+1:17: +1:26
++         Deinit(_4);                      // scope 0 at $DIR/deaggregator_test_multiple.rs:+1:17: +1:26
++         ((_4 as A).0: i32) = move _5;    // scope 0 at $DIR/deaggregator_test_multiple.rs:+1:17: +1:26
++         discriminant(_4) = 0;            // scope 0 at $DIR/deaggregator_test_multiple.rs:+1:17: +1:26
+          StorageDead(_5);                 // scope 0 at $DIR/deaggregator_test_multiple.rs:+1:25: +1:26
+          _0 = [move _2, move _4];         // scope 0 at $DIR/deaggregator_test_multiple.rs:+1:5: +1:27
+          StorageDead(_4);                 // scope 0 at $DIR/deaggregator_test_multiple.rs:+1:26: +1:27
+          StorageDead(_2);                 // scope 0 at $DIR/deaggregator_test_multiple.rs:+1:26: +1:27
+          return;                          // scope 0 at $DIR/deaggregator_test_multiple.rs:+2:2: +2:2
       }
   }
   
index 688015f68d37e34fa10e030e74dbd13588080cad..01864ba24ac087908da8e34837322f83cdfa6964 100644 (file)
@@ -2,14 +2,14 @@
 + // MIR for `is_line_doc_comment_2` after DeduplicateBlocks
   
   fn is_line_doc_comment_2(_1: &str) -> bool {
-      debug s => _1;                       // in scope 0 at $DIR/deduplicate_blocks.rs:2:36: 2:37
-      let mut _0: bool;                    // return place in scope 0 at $DIR/deduplicate_blocks.rs:2:48: 2:52
-      let mut _2: &[u8];                   // in scope 0 at $DIR/deduplicate_blocks.rs:3:11: 3:23
-      let mut _3: &str;                    // in scope 0 at $DIR/deduplicate_blocks.rs:3:11: 3:23
-      let mut _4: usize;                   // in scope 0 at $DIR/deduplicate_blocks.rs:5:9: 5:31
-      let mut _5: bool;                    // in scope 0 at $DIR/deduplicate_blocks.rs:5:9: 5:31
-      let mut _6: usize;                   // in scope 0 at $DIR/deduplicate_blocks.rs:4:9: 4:37
-      let mut _7: bool;                    // in scope 0 at $DIR/deduplicate_blocks.rs:4:9: 4:37
+      debug s => _1;                       // in scope 0 at $DIR/deduplicate_blocks.rs:+0:36: +0:37
+      let mut _0: bool;                    // return place in scope 0 at $DIR/deduplicate_blocks.rs:+0:48: +0:52
+      let mut _2: &[u8];                   // in scope 0 at $DIR/deduplicate_blocks.rs:+1:11: +1:23
+      let mut _3: &str;                    // in scope 0 at $DIR/deduplicate_blocks.rs:+1:11: +1:23
+      let mut _4: usize;                   // in scope 0 at $DIR/deduplicate_blocks.rs:+3:9: +3:31
+      let mut _5: bool;                    // in scope 0 at $DIR/deduplicate_blocks.rs:+3:9: +3:31
+      let mut _6: usize;                   // in scope 0 at $DIR/deduplicate_blocks.rs:+2:9: +2:37
+      let mut _7: bool;                    // in scope 0 at $DIR/deduplicate_blocks.rs:+2:9: +2:37
       scope 1 (inlined core::str::<impl str>::as_bytes) { // at $DIR/deduplicate_blocks.rs:3:11: 3:23
           debug self => _3;                // in scope 1 at $SRC_DIR/core/src/str/mod.rs:LL:COL
           let mut _8: &str;                // in scope 1 at $SRC_DIR/core/src/str/mod.rs:LL:COL
@@ -18,9 +18,9 @@
       }
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/deduplicate_blocks.rs:3:11: 3:23
-          StorageLive(_3);                 // scope 0 at $DIR/deduplicate_blocks.rs:3:11: 3:23
-          _3 = _1;                         // scope 0 at $DIR/deduplicate_blocks.rs:3:11: 3:23
+          StorageLive(_2);                 // scope 0 at $DIR/deduplicate_blocks.rs:+1:11: +1:23
+          StorageLive(_3);                 // scope 0 at $DIR/deduplicate_blocks.rs:+1:11: +1:23
+          _3 = _1;                         // scope 0 at $DIR/deduplicate_blocks.rs:+1:11: +1:23
           StorageLive(_8);                 // scope 2 at $SRC_DIR/core/src/str/mod.rs:LL:COL
           _8 = _3;                         // scope 2 at $SRC_DIR/core/src/str/mod.rs:LL:COL
 -         _2 = transmute::<&str, &[u8]>(move _8) -> bb14; // scope 2 at $SRC_DIR/core/src/str/mod.rs:LL:COL
       }
   
       bb1: {
-          switchInt((*_2)[0 of 4]) -> [47_u8: bb2, otherwise: bb5]; // scope 0 at $DIR/deduplicate_blocks.rs:3:5: 3:23
+          switchInt((*_2)[0 of 4]) -> [47_u8: bb2, otherwise: bb5]; // scope 0 at $DIR/deduplicate_blocks.rs:+1:5: +1:23
       }
   
       bb2: {
-          switchInt((*_2)[1 of 4]) -> [47_u8: bb3, otherwise: bb5]; // scope 0 at $DIR/deduplicate_blocks.rs:3:5: 3:23
+          switchInt((*_2)[1 of 4]) -> [47_u8: bb3, otherwise: bb5]; // scope 0 at $DIR/deduplicate_blocks.rs:+1:5: +1:23
       }
   
       bb3: {
-          switchInt((*_2)[2 of 4]) -> [47_u8: bb4, otherwise: bb5]; // scope 0 at $DIR/deduplicate_blocks.rs:3:5: 3:23
+          switchInt((*_2)[2 of 4]) -> [47_u8: bb4, otherwise: bb5]; // scope 0 at $DIR/deduplicate_blocks.rs:+1:5: +1:23
       }
   
       bb4: {
--         switchInt((*_2)[3 of 4]) -> [47_u8: bb10, otherwise: bb5]; // scope 0 at $DIR/deduplicate_blocks.rs:3:5: 3:23
-+         switchInt((*_2)[3 of 4]) -> [47_u8: bb9, otherwise: bb5]; // scope 0 at $DIR/deduplicate_blocks.rs:3:5: 3:23
+-         switchInt((*_2)[3 of 4]) -> [47_u8: bb10, otherwise: bb5]; // scope 0 at $DIR/deduplicate_blocks.rs:+1:5: +1:23
++         switchInt((*_2)[3 of 4]) -> [47_u8: bb9, otherwise: bb5]; // scope 0 at $DIR/deduplicate_blocks.rs:+1:5: +1:23
       }
   
       bb5: {
-          _4 = Len((*_2));                 // scope 0 at $DIR/deduplicate_blocks.rs:5:9: 5:31
-          _5 = Ge(move _4, const 3_usize); // scope 0 at $DIR/deduplicate_blocks.rs:5:9: 5:31
-          switchInt(move _5) -> [false: bb9, otherwise: bb6]; // scope 0 at $DIR/deduplicate_blocks.rs:5:9: 5:31
+          _4 = Len((*_2));                 // scope 0 at $DIR/deduplicate_blocks.rs:+3:9: +3:31
+          _5 = Ge(move _4, const 3_usize); // scope 0 at $DIR/deduplicate_blocks.rs:+3:9: +3:31
+          switchInt(move _5) -> [false: bb9, otherwise: bb6]; // scope 0 at $DIR/deduplicate_blocks.rs:+3:9: +3:31
       }
   
       bb6: {
-          switchInt((*_2)[0 of 3]) -> [47_u8: bb7, otherwise: bb9]; // scope 0 at $DIR/deduplicate_blocks.rs:3:5: 3:23
+          switchInt((*_2)[0 of 3]) -> [47_u8: bb7, otherwise: bb9]; // scope 0 at $DIR/deduplicate_blocks.rs:+1:5: +1:23
       }
   
       bb7: {
-          switchInt((*_2)[1 of 3]) -> [47_u8: bb8, otherwise: bb9]; // scope 0 at $DIR/deduplicate_blocks.rs:3:5: 3:23
+          switchInt((*_2)[1 of 3]) -> [47_u8: bb8, otherwise: bb9]; // scope 0 at $DIR/deduplicate_blocks.rs:+1:5: +1:23
       }
   
       bb8: {
--         switchInt((*_2)[2 of 3]) -> [47_u8: bb11, 33_u8: bb12, otherwise: bb9]; // scope 0 at $DIR/deduplicate_blocks.rs:3:5: 3:23
-+         switchInt((*_2)[2 of 3]) -> [47_u8: bb10, 33_u8: bb10, otherwise: bb9]; // scope 0 at $DIR/deduplicate_blocks.rs:3:5: 3:23
+-         switchInt((*_2)[2 of 3]) -> [47_u8: bb11, 33_u8: bb12, otherwise: bb9]; // scope 0 at $DIR/deduplicate_blocks.rs:+1:5: +1:23
++         switchInt((*_2)[2 of 3]) -> [47_u8: bb10, 33_u8: bb10, otherwise: bb9]; // scope 0 at $DIR/deduplicate_blocks.rs:+1:5: +1:23
       }
   
       bb9: {
--         _0 = const false;                // scope 0 at $DIR/deduplicate_blocks.rs:7:14: 7:19
--         goto -> bb13;                    // scope 0 at $DIR/deduplicate_blocks.rs:7:14: 7:19
+-         _0 = const false;                // scope 0 at $DIR/deduplicate_blocks.rs:+5:14: +5:19
+-         goto -> bb13;                    // scope 0 at $DIR/deduplicate_blocks.rs:+5:14: +5:19
 -     }
 - 
 -     bb10: {
-          _0 = const false;                // scope 0 at $DIR/deduplicate_blocks.rs:4:41: 4:46
--         goto -> bb13;                    // scope 0 at $DIR/deduplicate_blocks.rs:4:41: 4:46
-+         goto -> bb11;                    // scope 0 at $DIR/deduplicate_blocks.rs:4:41: 4:46
+          _0 = const false;                // scope 0 at $DIR/deduplicate_blocks.rs:+2:41: +2:46
+-         goto -> bb13;                    // scope 0 at $DIR/deduplicate_blocks.rs:+2:41: +2:46
++         goto -> bb11;                    // scope 0 at $DIR/deduplicate_blocks.rs:+2:41: +2:46
       }
   
 -     bb11: {
--         _0 = const true;                 // scope 0 at $DIR/deduplicate_blocks.rs:5:35: 5:39
--         goto -> bb13;                    // scope 0 at $DIR/deduplicate_blocks.rs:5:35: 5:39
+-         _0 = const true;                 // scope 0 at $DIR/deduplicate_blocks.rs:+3:35: +3:39
+-         goto -> bb13;                    // scope 0 at $DIR/deduplicate_blocks.rs:+3:35: +3:39
 -     }
 - 
 -     bb12: {
 +     bb10: {
-          _0 = const true;                 // scope 0 at $DIR/deduplicate_blocks.rs:6:35: 6:39
--         goto -> bb13;                    // scope 0 at $DIR/deduplicate_blocks.rs:6:35: 6:39
-+         goto -> bb11;                    // scope 0 at $DIR/deduplicate_blocks.rs:6:35: 6:39
+          _0 = const true;                 // scope 0 at $DIR/deduplicate_blocks.rs:+4:35: +4:39
+-         goto -> bb13;                    // scope 0 at $DIR/deduplicate_blocks.rs:+4:35: +4:39
++         goto -> bb11;                    // scope 0 at $DIR/deduplicate_blocks.rs:+4:35: +4:39
       }
   
 -     bb13: {
 +     bb11: {
-          StorageDead(_2);                 // scope 0 at $DIR/deduplicate_blocks.rs:9:1: 9:2
-          return;                          // scope 0 at $DIR/deduplicate_blocks.rs:9:2: 9:2
+          StorageDead(_2);                 // scope 0 at $DIR/deduplicate_blocks.rs:+7:1: +7:2
+          return;                          // scope 0 at $DIR/deduplicate_blocks.rs:+7:2: +7:2
       }
   
 -     bb14: {
 +     bb12: {
           StorageDead(_8);                 // scope 2 at $SRC_DIR/core/src/str/mod.rs:LL:COL
-          StorageDead(_3);                 // scope 0 at $DIR/deduplicate_blocks.rs:3:22: 3:23
-          _6 = Len((*_2));                 // scope 0 at $DIR/deduplicate_blocks.rs:4:9: 4:37
-          _7 = Ge(move _6, const 4_usize); // scope 0 at $DIR/deduplicate_blocks.rs:4:9: 4:37
-          switchInt(move _7) -> [false: bb5, otherwise: bb1]; // scope 0 at $DIR/deduplicate_blocks.rs:4:9: 4:37
+          StorageDead(_3);                 // scope 0 at $DIR/deduplicate_blocks.rs:+1:22: +1:23
+          _6 = Len((*_2));                 // scope 0 at $DIR/deduplicate_blocks.rs:+2:9: +2:37
+          _7 = Ge(move _6, const 4_usize); // scope 0 at $DIR/deduplicate_blocks.rs:+2:9: +2:37
+          switchInt(move _7) -> [false: bb5, otherwise: bb1]; // scope 0 at $DIR/deduplicate_blocks.rs:+2:9: +2:37
       }
   }
   
index 9affe5a50061dd0a8d1c8526e67dbfc5289dafd1..548b94d17f566411e82d1099ef11f5cbd91ec593 100644 (file)
 + // MIR for `main` after Derefer
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/derefer_complex_case.rs:4:11: 4:11
-      let mut _1: std::slice::Iter<i32>;   // in scope 0 at $DIR/derefer_complex_case.rs:5:17: 5:26
-      let mut _2: &[i32; 2];               // in scope 0 at $DIR/derefer_complex_case.rs:5:17: 5:26
-      let _3: [i32; 2];                    // in scope 0 at $DIR/derefer_complex_case.rs:5:18: 5:26
-      let mut _4: std::slice::Iter<i32>;   // in scope 0 at $DIR/derefer_complex_case.rs:5:17: 5:26
-      let mut _5: ();                      // in scope 0 at $DIR/derefer_complex_case.rs:4:1: 6:2
-      let _6: ();                          // in scope 0 at $DIR/derefer_complex_case.rs:5:17: 5:26
-      let mut _7: std::option::Option<&i32>; // in scope 0 at $DIR/derefer_complex_case.rs:5:17: 5:26
-      let mut _8: &mut std::slice::Iter<i32>; // in scope 0 at $DIR/derefer_complex_case.rs:5:17: 5:26
-      let mut _9: &mut std::slice::Iter<i32>; // in scope 0 at $DIR/derefer_complex_case.rs:5:17: 5:26
-      let mut _10: isize;                  // in scope 0 at $DIR/derefer_complex_case.rs:5:5: 5:40
-      let mut _11: !;                      // in scope 0 at $DIR/derefer_complex_case.rs:5:5: 5:40
-      let mut _13: i32;                    // in scope 0 at $DIR/derefer_complex_case.rs:5:34: 5:37
-      let mut _14: &[i32; 2];              // in scope 0 at $DIR/derefer_complex_case.rs:5:17: 5:26
-+     let mut _15: &i32;                   // in scope 0 at $DIR/derefer_complex_case.rs:5:17: 5:26
+      let mut _0: ();                      // return place in scope 0 at $DIR/derefer_complex_case.rs:+0:11: +0:11
+      let mut _1: std::slice::Iter<i32>;   // in scope 0 at $DIR/derefer_complex_case.rs:+1:17: +1:26
+      let mut _2: &[i32; 2];               // in scope 0 at $DIR/derefer_complex_case.rs:+1:17: +1:26
+      let _3: [i32; 2];                    // in scope 0 at $DIR/derefer_complex_case.rs:+1:18: +1:26
+      let mut _4: std::slice::Iter<i32>;   // in scope 0 at $DIR/derefer_complex_case.rs:+1:17: +1:26
+      let mut _5: ();                      // in scope 0 at $DIR/derefer_complex_case.rs:+0:1: +2:2
+      let _6: ();                          // in scope 0 at $DIR/derefer_complex_case.rs:+1:17: +1:26
+      let mut _7: std::option::Option<&i32>; // in scope 0 at $DIR/derefer_complex_case.rs:+1:17: +1:26
+      let mut _8: &mut std::slice::Iter<i32>; // in scope 0 at $DIR/derefer_complex_case.rs:+1:17: +1:26
+      let mut _9: &mut std::slice::Iter<i32>; // in scope 0 at $DIR/derefer_complex_case.rs:+1:17: +1:26
+      let mut _10: isize;                  // in scope 0 at $DIR/derefer_complex_case.rs:+1:5: +1:40
+      let mut _11: !;                      // in scope 0 at $DIR/derefer_complex_case.rs:+1:5: +1:40
+      let mut _13: i32;                    // in scope 0 at $DIR/derefer_complex_case.rs:+1:34: +1:37
+      let mut _14: &[i32; 2];              // in scope 0 at $DIR/derefer_complex_case.rs:+1:17: +1:26
++     let mut _15: &i32;                   // in scope 0 at $DIR/derefer_complex_case.rs:+1:17: +1:26
       scope 1 {
-          debug iter => _4;                // in scope 1 at $DIR/derefer_complex_case.rs:5:17: 5:26
-          let _12: i32;                    // in scope 1 at $DIR/derefer_complex_case.rs:5:10: 5:13
+          debug iter => _4;                // in scope 1 at $DIR/derefer_complex_case.rs:+1:17: +1:26
+          let _12: i32;                    // in scope 1 at $DIR/derefer_complex_case.rs:+1:10: +1:13
           scope 2 {
-              debug foo => _12;            // in scope 2 at $DIR/derefer_complex_case.rs:5:10: 5:13
+              debug foo => _12;            // in scope 2 at $DIR/derefer_complex_case.rs:+1:10: +1:13
           }
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/derefer_complex_case.rs:5:17: 5:26
-          StorageLive(_2);                 // scope 0 at $DIR/derefer_complex_case.rs:5:17: 5:26
-          _14 = const main::promoted[0];   // scope 0 at $DIR/derefer_complex_case.rs:5:17: 5:26
+          StorageLive(_1);                 // scope 0 at $DIR/derefer_complex_case.rs:+1:17: +1:26
+          StorageLive(_2);                 // scope 0 at $DIR/derefer_complex_case.rs:+1:17: +1:26
+          _14 = const main::promoted[0];   // scope 0 at $DIR/derefer_complex_case.rs:+1:17: +1:26
                                            // mir::Constant
                                            // + span: $DIR/derefer_complex_case.rs:5:17: 5:26
                                            // + literal: Const { ty: &[i32; 2], val: Unevaluated(main, [], Some(promoted[0])) }
-          _2 = &(*_14);                    // scope 0 at $DIR/derefer_complex_case.rs:5:17: 5:26
-          _1 = <&[i32; 2] as IntoIterator>::into_iter(move _2) -> bb1; // scope 0 at $DIR/derefer_complex_case.rs:5:17: 5:26
+          _2 = &(*_14);                    // scope 0 at $DIR/derefer_complex_case.rs:+1:17: +1:26
+          _1 = <&[i32; 2] as IntoIterator>::into_iter(move _2) -> bb1; // scope 0 at $DIR/derefer_complex_case.rs:+1:17: +1:26
                                            // mir::Constant
                                            // + span: $DIR/derefer_complex_case.rs:5:17: 5:26
                                            // + literal: Const { ty: fn(&[i32; 2]) -> <&[i32; 2] as IntoIterator>::IntoIter {<&[i32; 2] as IntoIterator>::into_iter}, val: Value(<ZST>) }
       }
   
       bb1: {
-          StorageDead(_2);                 // scope 0 at $DIR/derefer_complex_case.rs:5:25: 5:26
-          StorageLive(_4);                 // scope 0 at $DIR/derefer_complex_case.rs:5:17: 5:26
-          _4 = move _1;                    // scope 0 at $DIR/derefer_complex_case.rs:5:17: 5:26
-          goto -> bb2;                     // scope 1 at $DIR/derefer_complex_case.rs:5:5: 5:40
+          StorageDead(_2);                 // scope 0 at $DIR/derefer_complex_case.rs:+1:25: +1:26
+          StorageLive(_4);                 // scope 0 at $DIR/derefer_complex_case.rs:+1:17: +1:26
+          _4 = move _1;                    // scope 0 at $DIR/derefer_complex_case.rs:+1:17: +1:26
+          goto -> bb2;                     // scope 1 at $DIR/derefer_complex_case.rs:+1:5: +1:40
       }
   
       bb2: {
-          StorageLive(_6);                 // scope 1 at $DIR/derefer_complex_case.rs:5:17: 5:26
-          StorageLive(_7);                 // scope 1 at $DIR/derefer_complex_case.rs:5:17: 5:26
-          StorageLive(_8);                 // scope 1 at $DIR/derefer_complex_case.rs:5:17: 5:26
-          StorageLive(_9);                 // scope 1 at $DIR/derefer_complex_case.rs:5:17: 5:26
-          _9 = &mut _4;                    // scope 1 at $DIR/derefer_complex_case.rs:5:17: 5:26
-          _8 = &mut (*_9);                 // scope 1 at $DIR/derefer_complex_case.rs:5:17: 5:26
-          _7 = <std::slice::Iter<i32> as Iterator>::next(move _8) -> bb3; // scope 1 at $DIR/derefer_complex_case.rs:5:17: 5:26
+          StorageLive(_6);                 // scope 1 at $DIR/derefer_complex_case.rs:+1:17: +1:26
+          StorageLive(_7);                 // scope 1 at $DIR/derefer_complex_case.rs:+1:17: +1:26
+          StorageLive(_8);                 // scope 1 at $DIR/derefer_complex_case.rs:+1:17: +1:26
+          StorageLive(_9);                 // scope 1 at $DIR/derefer_complex_case.rs:+1:17: +1:26
+          _9 = &mut _4;                    // scope 1 at $DIR/derefer_complex_case.rs:+1:17: +1:26
+          _8 = &mut (*_9);                 // scope 1 at $DIR/derefer_complex_case.rs:+1:17: +1:26
+          _7 = <std::slice::Iter<i32> as Iterator>::next(move _8) -> bb3; // scope 1 at $DIR/derefer_complex_case.rs:+1:17: +1:26
                                            // mir::Constant
                                            // + span: $DIR/derefer_complex_case.rs:5:17: 5:26
                                            // + literal: Const { ty: for<'r> fn(&'r mut std::slice::Iter<i32>) -> Option<<std::slice::Iter<i32> as Iterator>::Item> {<std::slice::Iter<i32> as Iterator>::next}, val: Value(<ZST>) }
       }
   
       bb3: {
-          StorageDead(_8);                 // scope 1 at $DIR/derefer_complex_case.rs:5:25: 5:26
-          _10 = discriminant(_7);          // scope 1 at $DIR/derefer_complex_case.rs:5:17: 5:26
-          switchInt(move _10) -> [0_isize: bb6, 1_isize: bb4, otherwise: bb5]; // scope 1 at $DIR/derefer_complex_case.rs:5:17: 5:26
+          StorageDead(_8);                 // scope 1 at $DIR/derefer_complex_case.rs:+1:25: +1:26
+          _10 = discriminant(_7);          // scope 1 at $DIR/derefer_complex_case.rs:+1:17: +1:26
+          switchInt(move _10) -> [0_isize: bb6, 1_isize: bb4, otherwise: bb5]; // scope 1 at $DIR/derefer_complex_case.rs:+1:17: +1:26
       }
   
       bb4: {
-          StorageLive(_12);                // scope 1 at $DIR/derefer_complex_case.rs:5:10: 5:13
--         _12 = (*((_7 as Some).0: &i32)); // scope 1 at $DIR/derefer_complex_case.rs:5:10: 5:13
-+         StorageLive(_15);                // scope 1 at $DIR/derefer_complex_case.rs:5:10: 5:13
-+         _15 = deref_copy ((_7 as Some).0: &i32); // scope 1 at $DIR/derefer_complex_case.rs:5:10: 5:13
-+         _12 = (*_15);                    // scope 1 at $DIR/derefer_complex_case.rs:5:10: 5:13
-+         StorageDead(_15);                // scope 2 at $DIR/derefer_complex_case.rs:5:34: 5:37
-          StorageLive(_13);                // scope 2 at $DIR/derefer_complex_case.rs:5:34: 5:37
-          _13 = _12;                       // scope 2 at $DIR/derefer_complex_case.rs:5:34: 5:37
-          _6 = std::mem::drop::<i32>(move _13) -> bb7; // scope 2 at $DIR/derefer_complex_case.rs:5:29: 5:38
+          StorageLive(_12);                // scope 1 at $DIR/derefer_complex_case.rs:+1:10: +1:13
+-         _12 = (*((_7 as Some).0: &i32)); // scope 1 at $DIR/derefer_complex_case.rs:+1:10: +1:13
++         StorageLive(_15);                // scope 1 at $DIR/derefer_complex_case.rs:+1:10: +1:13
++         _15 = deref_copy ((_7 as Some).0: &i32); // scope 1 at $DIR/derefer_complex_case.rs:+1:10: +1:13
++         _12 = (*_15);                    // scope 1 at $DIR/derefer_complex_case.rs:+1:10: +1:13
++         StorageDead(_15);                // scope 2 at $DIR/derefer_complex_case.rs:+1:34: +1:37
+          StorageLive(_13);                // scope 2 at $DIR/derefer_complex_case.rs:+1:34: +1:37
+          _13 = _12;                       // scope 2 at $DIR/derefer_complex_case.rs:+1:34: +1:37
+          _6 = std::mem::drop::<i32>(move _13) -> bb7; // scope 2 at $DIR/derefer_complex_case.rs:+1:29: +1:38
                                            // mir::Constant
                                            // + span: $DIR/derefer_complex_case.rs:5:29: 5:33
                                            // + literal: Const { ty: fn(i32) {std::mem::drop::<i32>}, val: Value(<ZST>) }
       }
   
       bb5: {
-          unreachable;                     // scope 1 at $DIR/derefer_complex_case.rs:5:17: 5:26
+          unreachable;                     // scope 1 at $DIR/derefer_complex_case.rs:+1:17: +1:26
       }
   
       bb6: {
-          _0 = const ();                   // scope 1 at $DIR/derefer_complex_case.rs:5:5: 5:40
-          StorageDead(_9);                 // scope 1 at $DIR/derefer_complex_case.rs:5:39: 5:40
-          StorageDead(_7);                 // scope 1 at $DIR/derefer_complex_case.rs:5:39: 5:40
-          StorageDead(_6);                 // scope 1 at $DIR/derefer_complex_case.rs:5:39: 5:40
-          StorageDead(_4);                 // scope 0 at $DIR/derefer_complex_case.rs:5:39: 5:40
-          StorageDead(_1);                 // scope 0 at $DIR/derefer_complex_case.rs:5:39: 5:40
-          return;                          // scope 0 at $DIR/derefer_complex_case.rs:6:2: 6:2
+          _0 = const ();                   // scope 1 at $DIR/derefer_complex_case.rs:+1:5: +1:40
+          StorageDead(_9);                 // scope 1 at $DIR/derefer_complex_case.rs:+1:39: +1:40
+          StorageDead(_7);                 // scope 1 at $DIR/derefer_complex_case.rs:+1:39: +1:40
+          StorageDead(_6);                 // scope 1 at $DIR/derefer_complex_case.rs:+1:39: +1:40
+          StorageDead(_4);                 // scope 0 at $DIR/derefer_complex_case.rs:+1:39: +1:40
+          StorageDead(_1);                 // scope 0 at $DIR/derefer_complex_case.rs:+1:39: +1:40
+          return;                          // scope 0 at $DIR/derefer_complex_case.rs:+2:2: +2:2
       }
   
       bb7: {
-          StorageDead(_13);                // scope 2 at $DIR/derefer_complex_case.rs:5:37: 5:38
-          StorageDead(_12);                // scope 1 at $DIR/derefer_complex_case.rs:5:39: 5:40
-          StorageDead(_9);                 // scope 1 at $DIR/derefer_complex_case.rs:5:39: 5:40
-          StorageDead(_7);                 // scope 1 at $DIR/derefer_complex_case.rs:5:39: 5:40
-          StorageDead(_6);                 // scope 1 at $DIR/derefer_complex_case.rs:5:39: 5:40
-          _5 = const ();                   // scope 1 at $DIR/derefer_complex_case.rs:5:5: 5:40
-          goto -> bb2;                     // scope 1 at $DIR/derefer_complex_case.rs:5:5: 5:40
+          StorageDead(_13);                // scope 2 at $DIR/derefer_complex_case.rs:+1:37: +1:38
+          StorageDead(_12);                // scope 1 at $DIR/derefer_complex_case.rs:+1:39: +1:40
+          StorageDead(_9);                 // scope 1 at $DIR/derefer_complex_case.rs:+1:39: +1:40
+          StorageDead(_7);                 // scope 1 at $DIR/derefer_complex_case.rs:+1:39: +1:40
+          StorageDead(_6);                 // scope 1 at $DIR/derefer_complex_case.rs:+1:39: +1:40
+          _5 = const ();                   // scope 1 at $DIR/derefer_complex_case.rs:+1:5: +1:40
+          goto -> bb2;                     // scope 1 at $DIR/derefer_complex_case.rs:+1:5: +1:40
 +     }
 + 
 +     bb8 (cleanup): {
-+         resume;                          // scope 0 at $DIR/derefer_complex_case.rs:4:1: 6:2
++         resume;                          // scope 0 at $DIR/derefer_complex_case.rs:+0:1: +2:2
       }
   }
   
index fe64156f42f8474ef287dd11816beae22ec1b5ce..ce6ffaa56413cadb216147f368ba6d7d0bfedac2 100644 (file)
@@ -2,60 +2,60 @@
 + // MIR for `main` after Derefer
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/derefer_inline_test.rs:9:11: 9:11
-      let _1: std::boxed::Box<std::boxed::Box<u32>>; // in scope 0 at $DIR/derefer_inline_test.rs:10:5: 10:12
-      let mut _2: usize;                   // in scope 0 at $DIR/derefer_inline_test.rs:10:5: 10:12
-      let mut _3: usize;                   // in scope 0 at $DIR/derefer_inline_test.rs:10:5: 10:12
-      let mut _4: *mut u8;                 // in scope 0 at $DIR/derefer_inline_test.rs:10:5: 10:12
-      let mut _5: std::boxed::Box<std::boxed::Box<u32>>; // in scope 0 at $DIR/derefer_inline_test.rs:10:5: 10:12
+      let mut _0: ();                      // return place in scope 0 at $DIR/derefer_inline_test.rs:+0:11: +0:11
+      let _1: std::boxed::Box<std::boxed::Box<u32>>; // in scope 0 at $DIR/derefer_inline_test.rs:+1:5: +1:12
+      let mut _2: usize;                   // in scope 0 at $DIR/derefer_inline_test.rs:+1:5: +1:12
+      let mut _3: usize;                   // in scope 0 at $DIR/derefer_inline_test.rs:+1:5: +1:12
+      let mut _4: *mut u8;                 // in scope 0 at $DIR/derefer_inline_test.rs:+1:5: +1:12
+      let mut _5: std::boxed::Box<std::boxed::Box<u32>>; // in scope 0 at $DIR/derefer_inline_test.rs:+1:5: +1:12
       scope 1 {
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/derefer_inline_test.rs:10:5: 10:12
-          _2 = SizeOf(std::boxed::Box<u32>); // scope 1 at $DIR/derefer_inline_test.rs:10:5: 10:12
-          _3 = AlignOf(std::boxed::Box<u32>); // scope 1 at $DIR/derefer_inline_test.rs:10:5: 10:12
-          _4 = alloc::alloc::exchange_malloc(move _2, move _3) -> bb1; // scope 1 at $DIR/derefer_inline_test.rs:10:5: 10:12
+          StorageLive(_1);                 // scope 0 at $DIR/derefer_inline_test.rs:+1:5: +1:12
+          _2 = SizeOf(std::boxed::Box<u32>); // scope 1 at $DIR/derefer_inline_test.rs:+1:5: +1:12
+          _3 = AlignOf(std::boxed::Box<u32>); // scope 1 at $DIR/derefer_inline_test.rs:+1:5: +1:12
+          _4 = alloc::alloc::exchange_malloc(move _2, move _3) -> bb1; // scope 1 at $DIR/derefer_inline_test.rs:+1:5: +1:12
                                            // mir::Constant
                                            // + span: $DIR/derefer_inline_test.rs:10:5: 10:12
                                            // + literal: Const { ty: unsafe fn(usize, usize) -> *mut u8 {alloc::alloc::exchange_malloc}, val: Value(<ZST>) }
       }
   
       bb1: {
-          StorageLive(_5);                 // scope 0 at $DIR/derefer_inline_test.rs:10:5: 10:12
-          _5 = ShallowInitBox(move _4, std::boxed::Box<u32>); // scope 0 at $DIR/derefer_inline_test.rs:10:5: 10:12
-          (*_5) = f() -> [return: bb2, unwind: bb6]; // scope 0 at $DIR/derefer_inline_test.rs:10:9: 10:12
+          StorageLive(_5);                 // scope 0 at $DIR/derefer_inline_test.rs:+1:5: +1:12
+          _5 = ShallowInitBox(move _4, std::boxed::Box<u32>); // scope 0 at $DIR/derefer_inline_test.rs:+1:5: +1:12
+          (*_5) = f() -> [return: bb2, unwind: bb6]; // scope 0 at $DIR/derefer_inline_test.rs:+1:9: +1:12
                                            // mir::Constant
                                            // + span: $DIR/derefer_inline_test.rs:10:9: 10:10
                                            // + literal: Const { ty: fn() -> Box<u32> {f}, val: Value(<ZST>) }
       }
   
       bb2: {
-          _1 = move _5;                    // scope 0 at $DIR/derefer_inline_test.rs:10:5: 10:12
-          drop(_5) -> [return: bb3, unwind: bb5]; // scope 0 at $DIR/derefer_inline_test.rs:10:11: 10:12
+          _1 = move _5;                    // scope 0 at $DIR/derefer_inline_test.rs:+1:5: +1:12
+          drop(_5) -> [return: bb3, unwind: bb5]; // scope 0 at $DIR/derefer_inline_test.rs:+1:11: +1:12
       }
   
       bb3: {
-          StorageDead(_5);                 // scope 0 at $DIR/derefer_inline_test.rs:10:11: 10:12
-          drop(_1) -> bb4;                 // scope 0 at $DIR/derefer_inline_test.rs:10:12: 10:13
+          StorageDead(_5);                 // scope 0 at $DIR/derefer_inline_test.rs:+1:11: +1:12
+          drop(_1) -> bb4;                 // scope 0 at $DIR/derefer_inline_test.rs:+1:12: +1:13
       }
   
       bb4: {
-          StorageDead(_1);                 // scope 0 at $DIR/derefer_inline_test.rs:10:12: 10:13
-          _0 = const ();                   // scope 0 at $DIR/derefer_inline_test.rs:9:11: 11:2
-          return;                          // scope 0 at $DIR/derefer_inline_test.rs:11:2: 11:2
+          StorageDead(_1);                 // scope 0 at $DIR/derefer_inline_test.rs:+1:12: +1:13
+          _0 = const ();                   // scope 0 at $DIR/derefer_inline_test.rs:+0:11: +2:2
+          return;                          // scope 0 at $DIR/derefer_inline_test.rs:+2:2: +2:2
       }
   
       bb5 (cleanup): {
-          drop(_1) -> bb7;                 // scope 0 at $DIR/derefer_inline_test.rs:10:12: 10:13
+          drop(_1) -> bb7;                 // scope 0 at $DIR/derefer_inline_test.rs:+1:12: +1:13
       }
   
       bb6 (cleanup): {
-          drop(_5) -> bb7;                 // scope 0 at $DIR/derefer_inline_test.rs:10:11: 10:12
+          drop(_5) -> bb7;                 // scope 0 at $DIR/derefer_inline_test.rs:+1:11: +1:12
       }
   
       bb7 (cleanup): {
-          resume;                          // scope 0 at $DIR/derefer_inline_test.rs:9:1: 11:2
+          resume;                          // scope 0 at $DIR/derefer_inline_test.rs:+0:1: +2:2
       }
   }
   
index 003803fbd5ca94304d98fd9a740bfbd2cf311684..51df13bdfd01d42453044eb2c79ca2df5be6b0b8 100644 (file)
 + // MIR for `main` after Derefer
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/derefer_terminator_test.rs:4:11: 4:11
-      let _1: bool;                        // in scope 0 at $DIR/derefer_terminator_test.rs:5:9: 5:10
-      let _3: ();                          // in scope 0 at $DIR/derefer_terminator_test.rs:7:5: 10:6
-      let mut _4: &&&&bool;                // in scope 0 at $DIR/derefer_terminator_test.rs:7:15: 7:22
-      let _5: &&&bool;                     // in scope 0 at $DIR/derefer_terminator_test.rs:7:17: 7:21
-      let _6: &&bool;                      // in scope 0 at $DIR/derefer_terminator_test.rs:7:18: 7:21
-      let _7: &bool;                       // in scope 0 at $DIR/derefer_terminator_test.rs:7:19: 7:21
-+     let mut _10: &&&bool;                // in scope 0 at $DIR/derefer_terminator_test.rs:7:15: 7:22
-+     let mut _11: &&bool;                 // in scope 0 at $DIR/derefer_terminator_test.rs:7:15: 7:22
-+     let mut _12: &bool;                  // in scope 0 at $DIR/derefer_terminator_test.rs:7:15: 7:22
+      let mut _0: ();                      // return place in scope 0 at $DIR/derefer_terminator_test.rs:+0:11: +0:11
+      let _1: bool;                        // in scope 0 at $DIR/derefer_terminator_test.rs:+1:9: +1:10
+      let _3: ();                          // in scope 0 at $DIR/derefer_terminator_test.rs:+3:5: +6:6
+      let mut _4: &&&&bool;                // in scope 0 at $DIR/derefer_terminator_test.rs:+3:15: +3:22
+      let _5: &&&bool;                     // in scope 0 at $DIR/derefer_terminator_test.rs:+3:17: +3:21
+      let _6: &&bool;                      // in scope 0 at $DIR/derefer_terminator_test.rs:+3:18: +3:21
+      let _7: &bool;                       // in scope 0 at $DIR/derefer_terminator_test.rs:+3:19: +3:21
++     let mut _10: &&&bool;                // in scope 0 at $DIR/derefer_terminator_test.rs:+3:15: +3:22
++     let mut _11: &&bool;                 // in scope 0 at $DIR/derefer_terminator_test.rs:+3:15: +3:22
++     let mut _12: &bool;                  // in scope 0 at $DIR/derefer_terminator_test.rs:+3:15: +3:22
       scope 1 {
-          debug b => _1;                   // in scope 1 at $DIR/derefer_terminator_test.rs:5:9: 5:10
-          let _2: bool;                    // in scope 1 at $DIR/derefer_terminator_test.rs:6:9: 6:10
+          debug b => _1;                   // in scope 1 at $DIR/derefer_terminator_test.rs:+1:9: +1:10
+          let _2: bool;                    // in scope 1 at $DIR/derefer_terminator_test.rs:+2:9: +2:10
           scope 2 {
-              debug d => _2;               // in scope 2 at $DIR/derefer_terminator_test.rs:6:9: 6:10
-              let _8: i32;                 // in scope 2 at $DIR/derefer_terminator_test.rs:8:22: 8:23
-              let _9: i32;                 // in scope 2 at $DIR/derefer_terminator_test.rs:11:9: 11:10
+              debug d => _2;               // in scope 2 at $DIR/derefer_terminator_test.rs:+2:9: +2:10
+              let _8: i32;                 // in scope 2 at $DIR/derefer_terminator_test.rs:+4:22: +4:23
+              let _9: i32;                 // in scope 2 at $DIR/derefer_terminator_test.rs:+7:9: +7:10
               scope 3 {
-                  debug x => _8;           // in scope 3 at $DIR/derefer_terminator_test.rs:8:22: 8:23
+                  debug x => _8;           // in scope 3 at $DIR/derefer_terminator_test.rs:+4:22: +4:23
               }
               scope 4 {
-                  debug y => _9;           // in scope 4 at $DIR/derefer_terminator_test.rs:11:9: 11:10
+                  debug y => _9;           // in scope 4 at $DIR/derefer_terminator_test.rs:+7:9: +7:10
               }
           }
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/derefer_terminator_test.rs:5:9: 5:10
-          _1 = foo() -> bb1;               // scope 0 at $DIR/derefer_terminator_test.rs:5:13: 5:18
+          StorageLive(_1);                 // scope 0 at $DIR/derefer_terminator_test.rs:+1:9: +1:10
+          _1 = foo() -> bb1;               // scope 0 at $DIR/derefer_terminator_test.rs:+1:13: +1:18
                                            // mir::Constant
                                            // + span: $DIR/derefer_terminator_test.rs:5:13: 5:16
                                            // + literal: Const { ty: fn() -> bool {foo}, val: Value(<ZST>) }
       }
   
       bb1: {
-          StorageLive(_2);                 // scope 1 at $DIR/derefer_terminator_test.rs:6:9: 6:10
-          _2 = foo() -> bb2;               // scope 1 at $DIR/derefer_terminator_test.rs:6:13: 6:18
+          StorageLive(_2);                 // scope 1 at $DIR/derefer_terminator_test.rs:+2:9: +2:10
+          _2 = foo() -> bb2;               // scope 1 at $DIR/derefer_terminator_test.rs:+2:13: +2:18
                                            // mir::Constant
                                            // + span: $DIR/derefer_terminator_test.rs:6:13: 6:16
                                            // + literal: Const { ty: fn() -> bool {foo}, val: Value(<ZST>) }
       }
   
       bb2: {
-          StorageLive(_3);                 // scope 2 at $DIR/derefer_terminator_test.rs:7:5: 10:6
-          StorageLive(_4);                 // scope 2 at $DIR/derefer_terminator_test.rs:7:15: 7:22
-          StorageLive(_5);                 // scope 2 at $DIR/derefer_terminator_test.rs:7:17: 7:21
-          StorageLive(_6);                 // scope 2 at $DIR/derefer_terminator_test.rs:7:18: 7:21
-          StorageLive(_7);                 // scope 2 at $DIR/derefer_terminator_test.rs:7:19: 7:21
-          _7 = &_1;                        // scope 2 at $DIR/derefer_terminator_test.rs:7:19: 7:21
-          _6 = &_7;                        // scope 2 at $DIR/derefer_terminator_test.rs:7:18: 7:21
-          _5 = &_6;                        // scope 2 at $DIR/derefer_terminator_test.rs:7:17: 7:21
-          _4 = &_5;                        // scope 2 at $DIR/derefer_terminator_test.rs:7:15: 7:22
--         switchInt((*(*(*(*_4))))) -> [false: bb3, otherwise: bb4]; // scope 2 at $DIR/derefer_terminator_test.rs:7:5: 7:22
-+         StorageLive(_10);                // scope 2 at $DIR/derefer_terminator_test.rs:7:5: 7:22
-+         _10 = deref_copy (*_4);          // scope 2 at $DIR/derefer_terminator_test.rs:7:5: 7:22
-+         StorageLive(_11);                // scope 2 at $DIR/derefer_terminator_test.rs:7:5: 7:22
-+         _11 = deref_copy (*_10);         // scope 2 at $DIR/derefer_terminator_test.rs:7:5: 7:22
-+         StorageDead(_10);                // scope 2 at $DIR/derefer_terminator_test.rs:7:5: 7:22
-+         StorageLive(_12);                // scope 2 at $DIR/derefer_terminator_test.rs:7:5: 7:22
-+         _12 = deref_copy (*_11);         // scope 2 at $DIR/derefer_terminator_test.rs:7:5: 7:22
-+         StorageDead(_11);                // scope 2 at $DIR/derefer_terminator_test.rs:7:5: 7:22
-+         switchInt((*_12)) -> [false: bb3, otherwise: bb4]; // scope 2 at $DIR/derefer_terminator_test.rs:7:5: 7:22
+          StorageLive(_3);                 // scope 2 at $DIR/derefer_terminator_test.rs:+3:5: +6:6
+          StorageLive(_4);                 // scope 2 at $DIR/derefer_terminator_test.rs:+3:15: +3:22
+          StorageLive(_5);                 // scope 2 at $DIR/derefer_terminator_test.rs:+3:17: +3:21
+          StorageLive(_6);                 // scope 2 at $DIR/derefer_terminator_test.rs:+3:18: +3:21
+          StorageLive(_7);                 // scope 2 at $DIR/derefer_terminator_test.rs:+3:19: +3:21
+          _7 = &_1;                        // scope 2 at $DIR/derefer_terminator_test.rs:+3:19: +3:21
+          _6 = &_7;                        // scope 2 at $DIR/derefer_terminator_test.rs:+3:18: +3:21
+          _5 = &_6;                        // scope 2 at $DIR/derefer_terminator_test.rs:+3:17: +3:21
+          _4 = &_5;                        // scope 2 at $DIR/derefer_terminator_test.rs:+3:15: +3:22
+-         switchInt((*(*(*(*_4))))) -> [false: bb3, otherwise: bb4]; // scope 2 at $DIR/derefer_terminator_test.rs:+3:5: +3:22
++         StorageLive(_10);                // scope 2 at $DIR/derefer_terminator_test.rs:+3:5: +3:22
++         _10 = deref_copy (*_4);          // scope 2 at $DIR/derefer_terminator_test.rs:+3:5: +3:22
++         StorageLive(_11);                // scope 2 at $DIR/derefer_terminator_test.rs:+3:5: +3:22
++         _11 = deref_copy (*_10);         // scope 2 at $DIR/derefer_terminator_test.rs:+3:5: +3:22
++         StorageDead(_10);                // scope 2 at $DIR/derefer_terminator_test.rs:+3:5: +3:22
++         StorageLive(_12);                // scope 2 at $DIR/derefer_terminator_test.rs:+3:5: +3:22
++         _12 = deref_copy (*_11);         // scope 2 at $DIR/derefer_terminator_test.rs:+3:5: +3:22
++         StorageDead(_11);                // scope 2 at $DIR/derefer_terminator_test.rs:+3:5: +3:22
++         switchInt((*_12)) -> [false: bb3, otherwise: bb4]; // scope 2 at $DIR/derefer_terminator_test.rs:+3:5: +3:22
       }
   
       bb3: {
-+         StorageDead(_12);                // scope 2 at $DIR/derefer_terminator_test.rs:7:5: 7:22
-          _3 = const ();                   // scope 2 at $DIR/derefer_terminator_test.rs:9:18: 9:20
-          goto -> bb5;                     // scope 2 at $DIR/derefer_terminator_test.rs:9:18: 9:20
++         StorageDead(_12);                // scope 2 at $DIR/derefer_terminator_test.rs:+3:5: +3:22
+          _3 = const ();                   // scope 2 at $DIR/derefer_terminator_test.rs:+5:18: +5:20
+          goto -> bb5;                     // scope 2 at $DIR/derefer_terminator_test.rs:+5:18: +5:20
       }
   
       bb4: {
-+         StorageDead(_12);                // scope 2 at $DIR/derefer_terminator_test.rs:7:5: 7:22
-          StorageLive(_8);                 // scope 2 at $DIR/derefer_terminator_test.rs:8:22: 8:23
-          _8 = const 5_i32;                // scope 2 at $DIR/derefer_terminator_test.rs:8:26: 8:27
-          _3 = const ();                   // scope 2 at $DIR/derefer_terminator_test.rs:8:17: 8:29
-          StorageDead(_8);                 // scope 2 at $DIR/derefer_terminator_test.rs:8:28: 8:29
-          goto -> bb5;                     // scope 2 at $DIR/derefer_terminator_test.rs:8:28: 8:29
++         StorageDead(_12);                // scope 2 at $DIR/derefer_terminator_test.rs:+3:5: +3:22
+          StorageLive(_8);                 // scope 2 at $DIR/derefer_terminator_test.rs:+4:22: +4:23
+          _8 = const 5_i32;                // scope 2 at $DIR/derefer_terminator_test.rs:+4:26: +4:27
+          _3 = const ();                   // scope 2 at $DIR/derefer_terminator_test.rs:+4:17: +4:29
+          StorageDead(_8);                 // scope 2 at $DIR/derefer_terminator_test.rs:+4:28: +4:29
+          goto -> bb5;                     // scope 2 at $DIR/derefer_terminator_test.rs:+4:28: +4:29
       }
   
       bb5: {
-          StorageDead(_7);                 // scope 2 at $DIR/derefer_terminator_test.rs:10:5: 10:6
-          StorageDead(_6);                 // scope 2 at $DIR/derefer_terminator_test.rs:10:5: 10:6
-          StorageDead(_5);                 // scope 2 at $DIR/derefer_terminator_test.rs:10:5: 10:6
-          StorageDead(_4);                 // scope 2 at $DIR/derefer_terminator_test.rs:10:5: 10:6
-          StorageDead(_3);                 // scope 2 at $DIR/derefer_terminator_test.rs:10:5: 10:6
-          StorageLive(_9);                 // scope 2 at $DIR/derefer_terminator_test.rs:11:9: 11:10
-          _9 = const 42_i32;               // scope 2 at $DIR/derefer_terminator_test.rs:11:13: 11:15
-          _0 = const ();                   // scope 0 at $DIR/derefer_terminator_test.rs:4:11: 12:2
-          StorageDead(_9);                 // scope 2 at $DIR/derefer_terminator_test.rs:12:1: 12:2
-          StorageDead(_2);                 // scope 1 at $DIR/derefer_terminator_test.rs:12:1: 12:2
-          StorageDead(_1);                 // scope 0 at $DIR/derefer_terminator_test.rs:12:1: 12:2
-          return;                          // scope 0 at $DIR/derefer_terminator_test.rs:12:2: 12:2
+          StorageDead(_7);                 // scope 2 at $DIR/derefer_terminator_test.rs:+6:5: +6:6
+          StorageDead(_6);                 // scope 2 at $DIR/derefer_terminator_test.rs:+6:5: +6:6
+          StorageDead(_5);                 // scope 2 at $DIR/derefer_terminator_test.rs:+6:5: +6:6
+          StorageDead(_4);                 // scope 2 at $DIR/derefer_terminator_test.rs:+6:5: +6:6
+          StorageDead(_3);                 // scope 2 at $DIR/derefer_terminator_test.rs:+6:5: +6:6
+          StorageLive(_9);                 // scope 2 at $DIR/derefer_terminator_test.rs:+7:9: +7:10
+          _9 = const 42_i32;               // scope 2 at $DIR/derefer_terminator_test.rs:+7:13: +7:15
+          _0 = const ();                   // scope 0 at $DIR/derefer_terminator_test.rs:+0:11: +8:2
+          StorageDead(_9);                 // scope 2 at $DIR/derefer_terminator_test.rs:+8:1: +8:2
+          StorageDead(_2);                 // scope 1 at $DIR/derefer_terminator_test.rs:+8:1: +8:2
+          StorageDead(_1);                 // scope 0 at $DIR/derefer_terminator_test.rs:+8:1: +8:2
+          return;                          // scope 0 at $DIR/derefer_terminator_test.rs:+8:2: +8:2
 +     }
 + 
 +     bb6 (cleanup): {
-+         resume;                          // scope 0 at $DIR/derefer_terminator_test.rs:4:1: 12:2
++         resume;                          // scope 0 at $DIR/derefer_terminator_test.rs:+0:1: +8:2
       }
   }
   
index df76b3ebc2deb6f04be32eab4759014294703364..cf8211c1ed0894b1556da734977c46efaf89a7a3 100644 (file)
@@ -2,57 +2,57 @@
 + // MIR for `main` after Derefer
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/derefer_test.rs:2:11: 2:11
-      let mut _1: (i32, i32);              // in scope 0 at $DIR/derefer_test.rs:3:9: 3:14
-      let mut _3: &mut (i32, i32);         // in scope 0 at $DIR/derefer_test.rs:4:22: 4:28
-+     let mut _6: &mut (i32, i32);         // in scope 0 at $DIR/derefer_test.rs:4:9: 4:14
-+     let mut _7: &mut (i32, i32);         // in scope 0 at $DIR/derefer_test.rs:4:9: 4:14
+      let mut _0: ();                      // return place in scope 0 at $DIR/derefer_test.rs:+0:11: +0:11
+      let mut _1: (i32, i32);              // in scope 0 at $DIR/derefer_test.rs:+1:9: +1:14
+      let mut _3: &mut (i32, i32);         // in scope 0 at $DIR/derefer_test.rs:+2:22: +2:28
++     let mut _6: &mut (i32, i32);         // in scope 0 at $DIR/derefer_test.rs:+2:9: +2:14
++     let mut _7: &mut (i32, i32);         // in scope 0 at $DIR/derefer_test.rs:+2:9: +2:14
       scope 1 {
-          debug a => _1;                   // in scope 1 at $DIR/derefer_test.rs:3:9: 3:14
-          let mut _2: (i32, &mut (i32, i32)); // in scope 1 at $DIR/derefer_test.rs:4:9: 4:14
+          debug a => _1;                   // in scope 1 at $DIR/derefer_test.rs:+1:9: +1:14
+          let mut _2: (i32, &mut (i32, i32)); // in scope 1 at $DIR/derefer_test.rs:+2:9: +2:14
           scope 2 {
-              debug b => _2;               // in scope 2 at $DIR/derefer_test.rs:4:9: 4:14
-              let _4: &mut i32;            // in scope 2 at $DIR/derefer_test.rs:5:9: 5:10
+              debug b => _2;               // in scope 2 at $DIR/derefer_test.rs:+2:9: +2:14
+              let _4: &mut i32;            // in scope 2 at $DIR/derefer_test.rs:+3:9: +3:10
               scope 3 {
-                  debug x => _4;           // in scope 3 at $DIR/derefer_test.rs:5:9: 5:10
-                  let _5: &mut i32;        // in scope 3 at $DIR/derefer_test.rs:6:9: 6:10
+                  debug x => _4;           // in scope 3 at $DIR/derefer_test.rs:+3:9: +3:10
+                  let _5: &mut i32;        // in scope 3 at $DIR/derefer_test.rs:+4:9: +4:10
                   scope 4 {
-                      debug y => _5;       // in scope 4 at $DIR/derefer_test.rs:6:9: 6:10
+                      debug y => _5;       // in scope 4 at $DIR/derefer_test.rs:+4:9: +4:10
                   }
               }
           }
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/derefer_test.rs:3:9: 3:14
-          _1 = (const 42_i32, const 43_i32); // scope 0 at $DIR/derefer_test.rs:3:17: 3:24
-          StorageLive(_2);                 // scope 1 at $DIR/derefer_test.rs:4:9: 4:14
-          StorageLive(_3);                 // scope 1 at $DIR/derefer_test.rs:4:22: 4:28
-          _3 = &mut _1;                    // scope 1 at $DIR/derefer_test.rs:4:22: 4:28
-          _2 = (const 99_i32, move _3);    // scope 1 at $DIR/derefer_test.rs:4:17: 4:29
-          StorageDead(_3);                 // scope 1 at $DIR/derefer_test.rs:4:28: 4:29
-          StorageLive(_4);                 // scope 2 at $DIR/derefer_test.rs:5:9: 5:10
--         _4 = &mut ((*(_2.1: &mut (i32, i32))).0: i32); // scope 2 at $DIR/derefer_test.rs:5:13: 5:26
-+         StorageLive(_6);                 // scope 2 at $DIR/derefer_test.rs:5:13: 5:26
-+         _6 = deref_copy (_2.1: &mut (i32, i32)); // scope 2 at $DIR/derefer_test.rs:5:13: 5:26
-+         _4 = &mut ((*_6).0: i32);        // scope 2 at $DIR/derefer_test.rs:5:13: 5:26
-+         StorageDead(_6);                 // scope 3 at $DIR/derefer_test.rs:6:9: 6:10
-          StorageLive(_5);                 // scope 3 at $DIR/derefer_test.rs:6:9: 6:10
--         _5 = &mut ((*(_2.1: &mut (i32, i32))).1: i32); // scope 3 at $DIR/derefer_test.rs:6:13: 6:26
-+         StorageLive(_7);                 // scope 3 at $DIR/derefer_test.rs:6:13: 6:26
-+         _7 = deref_copy (_2.1: &mut (i32, i32)); // scope 3 at $DIR/derefer_test.rs:6:13: 6:26
-+         _5 = &mut ((*_7).1: i32);        // scope 3 at $DIR/derefer_test.rs:6:13: 6:26
-+         StorageDead(_7);                 // scope 0 at $DIR/derefer_test.rs:2:11: 7:2
-          _0 = const ();                   // scope 0 at $DIR/derefer_test.rs:2:11: 7:2
-          StorageDead(_5);                 // scope 3 at $DIR/derefer_test.rs:7:1: 7:2
-          StorageDead(_4);                 // scope 2 at $DIR/derefer_test.rs:7:1: 7:2
-          StorageDead(_2);                 // scope 1 at $DIR/derefer_test.rs:7:1: 7:2
-          StorageDead(_1);                 // scope 0 at $DIR/derefer_test.rs:7:1: 7:2
-          return;                          // scope 0 at $DIR/derefer_test.rs:7:2: 7:2
+          StorageLive(_1);                 // scope 0 at $DIR/derefer_test.rs:+1:9: +1:14
+          _1 = (const 42_i32, const 43_i32); // scope 0 at $DIR/derefer_test.rs:+1:17: +1:24
+          StorageLive(_2);                 // scope 1 at $DIR/derefer_test.rs:+2:9: +2:14
+          StorageLive(_3);                 // scope 1 at $DIR/derefer_test.rs:+2:22: +2:28
+          _3 = &mut _1;                    // scope 1 at $DIR/derefer_test.rs:+2:22: +2:28
+          _2 = (const 99_i32, move _3);    // scope 1 at $DIR/derefer_test.rs:+2:17: +2:29
+          StorageDead(_3);                 // scope 1 at $DIR/derefer_test.rs:+2:28: +2:29
+          StorageLive(_4);                 // scope 2 at $DIR/derefer_test.rs:+3:9: +3:10
+-         _4 = &mut ((*(_2.1: &mut (i32, i32))).0: i32); // scope 2 at $DIR/derefer_test.rs:+3:13: +3:26
++         StorageLive(_6);                 // scope 2 at $DIR/derefer_test.rs:+3:13: +3:26
++         _6 = deref_copy (_2.1: &mut (i32, i32)); // scope 2 at $DIR/derefer_test.rs:+3:13: +3:26
++         _4 = &mut ((*_6).0: i32);        // scope 2 at $DIR/derefer_test.rs:+3:13: +3:26
++         StorageDead(_6);                 // scope 3 at $DIR/derefer_test.rs:+4:9: +4:10
+          StorageLive(_5);                 // scope 3 at $DIR/derefer_test.rs:+4:9: +4:10
+-         _5 = &mut ((*(_2.1: &mut (i32, i32))).1: i32); // scope 3 at $DIR/derefer_test.rs:+4:13: +4:26
++         StorageLive(_7);                 // scope 3 at $DIR/derefer_test.rs:+4:13: +4:26
++         _7 = deref_copy (_2.1: &mut (i32, i32)); // scope 3 at $DIR/derefer_test.rs:+4:13: +4:26
++         _5 = &mut ((*_7).1: i32);        // scope 3 at $DIR/derefer_test.rs:+4:13: +4:26
++         StorageDead(_7);                 // scope 0 at $DIR/derefer_test.rs:+0:11: +5:2
+          _0 = const ();                   // scope 0 at $DIR/derefer_test.rs:+0:11: +5:2
+          StorageDead(_5);                 // scope 3 at $DIR/derefer_test.rs:+5:1: +5:2
+          StorageDead(_4);                 // scope 2 at $DIR/derefer_test.rs:+5:1: +5:2
+          StorageDead(_2);                 // scope 1 at $DIR/derefer_test.rs:+5:1: +5:2
+          StorageDead(_1);                 // scope 0 at $DIR/derefer_test.rs:+5:1: +5:2
+          return;                          // scope 0 at $DIR/derefer_test.rs:+5:2: +5:2
 +     }
 + 
 +     bb1 (cleanup): {
-+         resume;                          // scope 0 at $DIR/derefer_test.rs:2:1: 7:2
++         resume;                          // scope 0 at $DIR/derefer_test.rs:+0:1: +5:2
       }
   }
   
index 044c92a2f432589032e9b0bbd13d9dd6ed37f366..91c9d5512243c87e6c0cd00d7497e95b0fa27a82 100644 (file)
@@ -2,34 +2,34 @@
 + // MIR for `main` after Derefer
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/derefer_test_multiple.rs:2:12: 2:12
-      let mut _1: (i32, i32);              // in scope 0 at $DIR/derefer_test_multiple.rs:3:9: 3:14
-      let mut _3: &mut (i32, i32);         // in scope 0 at $DIR/derefer_test_multiple.rs:4:22: 4:28
-      let mut _5: &mut (i32, &mut (i32, i32)); // in scope 0 at $DIR/derefer_test_multiple.rs:5:22: 5:28
-      let mut _7: &mut (i32, &mut (i32, &mut (i32, i32))); // in scope 0 at $DIR/derefer_test_multiple.rs:6:22: 6:28
-+     let mut _10: &mut (i32, &mut (i32, &mut (i32, i32))); // in scope 0 at $DIR/derefer_test_multiple.rs:6:9: 6:14
-+     let mut _11: &mut (i32, &mut (i32, i32)); // in scope 0 at $DIR/derefer_test_multiple.rs:6:9: 6:14
-+     let mut _12: &mut (i32, i32);        // in scope 0 at $DIR/derefer_test_multiple.rs:6:9: 6:14
-+     let mut _13: &mut (i32, &mut (i32, &mut (i32, i32))); // in scope 0 at $DIR/derefer_test_multiple.rs:6:9: 6:14
-+     let mut _14: &mut (i32, &mut (i32, i32)); // in scope 0 at $DIR/derefer_test_multiple.rs:6:9: 6:14
-+     let mut _15: &mut (i32, i32);        // in scope 0 at $DIR/derefer_test_multiple.rs:6:9: 6:14
+      let mut _0: ();                      // return place in scope 0 at $DIR/derefer_test_multiple.rs:+0:12: +0:12
+      let mut _1: (i32, i32);              // in scope 0 at $DIR/derefer_test_multiple.rs:+1:9: +1:14
+      let mut _3: &mut (i32, i32);         // in scope 0 at $DIR/derefer_test_multiple.rs:+2:22: +2:28
+      let mut _5: &mut (i32, &mut (i32, i32)); // in scope 0 at $DIR/derefer_test_multiple.rs:+3:22: +3:28
+      let mut _7: &mut (i32, &mut (i32, &mut (i32, i32))); // in scope 0 at $DIR/derefer_test_multiple.rs:+4:22: +4:28
++     let mut _10: &mut (i32, &mut (i32, &mut (i32, i32))); // in scope 0 at $DIR/derefer_test_multiple.rs:+4:9: +4:14
++     let mut _11: &mut (i32, &mut (i32, i32)); // in scope 0 at $DIR/derefer_test_multiple.rs:+4:9: +4:14
++     let mut _12: &mut (i32, i32);        // in scope 0 at $DIR/derefer_test_multiple.rs:+4:9: +4:14
++     let mut _13: &mut (i32, &mut (i32, &mut (i32, i32))); // in scope 0 at $DIR/derefer_test_multiple.rs:+4:9: +4:14
++     let mut _14: &mut (i32, &mut (i32, i32)); // in scope 0 at $DIR/derefer_test_multiple.rs:+4:9: +4:14
++     let mut _15: &mut (i32, i32);        // in scope 0 at $DIR/derefer_test_multiple.rs:+4:9: +4:14
       scope 1 {
-          debug a => _1;                   // in scope 1 at $DIR/derefer_test_multiple.rs:3:9: 3:14
-          let mut _2: (i32, &mut (i32, i32)); // in scope 1 at $DIR/derefer_test_multiple.rs:4:9: 4:14
+          debug a => _1;                   // in scope 1 at $DIR/derefer_test_multiple.rs:+1:9: +1:14
+          let mut _2: (i32, &mut (i32, i32)); // in scope 1 at $DIR/derefer_test_multiple.rs:+2:9: +2:14
           scope 2 {
-              debug b => _2;               // in scope 2 at $DIR/derefer_test_multiple.rs:4:9: 4:14
-              let mut _4: (i32, &mut (i32, &mut (i32, i32))); // in scope 2 at $DIR/derefer_test_multiple.rs:5:9: 5:14
+              debug b => _2;               // in scope 2 at $DIR/derefer_test_multiple.rs:+2:9: +2:14
+              let mut _4: (i32, &mut (i32, &mut (i32, i32))); // in scope 2 at $DIR/derefer_test_multiple.rs:+3:9: +3:14
               scope 3 {
-                  debug c => _4;           // in scope 3 at $DIR/derefer_test_multiple.rs:5:9: 5:14
-                  let mut _6: (i32, &mut (i32, &mut (i32, &mut (i32, i32)))); // in scope 3 at $DIR/derefer_test_multiple.rs:6:9: 6:14
+                  debug c => _4;           // in scope 3 at $DIR/derefer_test_multiple.rs:+3:9: +3:14
+                  let mut _6: (i32, &mut (i32, &mut (i32, &mut (i32, i32)))); // in scope 3 at $DIR/derefer_test_multiple.rs:+4:9: +4:14
                   scope 4 {
-                      debug d => _6;       // in scope 4 at $DIR/derefer_test_multiple.rs:6:9: 6:14
-                      let _8: &mut i32;    // in scope 4 at $DIR/derefer_test_multiple.rs:7:9: 7:10
+                      debug d => _6;       // in scope 4 at $DIR/derefer_test_multiple.rs:+4:9: +4:14
+                      let _8: &mut i32;    // in scope 4 at $DIR/derefer_test_multiple.rs:+5:9: +5:10
                       scope 5 {
-                          debug x => _8;   // in scope 5 at $DIR/derefer_test_multiple.rs:7:9: 7:10
-                          let _9: &mut i32; // in scope 5 at $DIR/derefer_test_multiple.rs:8:9: 8:10
+                          debug x => _8;   // in scope 5 at $DIR/derefer_test_multiple.rs:+5:9: +5:10
+                          let _9: &mut i32; // in scope 5 at $DIR/derefer_test_multiple.rs:+6:9: +6:10
                           scope 6 {
-                              debug y => _9; // in scope 6 at $DIR/derefer_test_multiple.rs:8:9: 8:10
+                              debug y => _9; // in scope 6 at $DIR/derefer_test_multiple.rs:+6:9: +6:10
                           }
                       }
                   }
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/derefer_test_multiple.rs:3:9: 3:14
-          _1 = (const 42_i32, const 43_i32); // scope 0 at $DIR/derefer_test_multiple.rs:3:17: 3:25
-          StorageLive(_2);                 // scope 1 at $DIR/derefer_test_multiple.rs:4:9: 4:14
-          StorageLive(_3);                 // scope 1 at $DIR/derefer_test_multiple.rs:4:22: 4:28
-          _3 = &mut _1;                    // scope 1 at $DIR/derefer_test_multiple.rs:4:22: 4:28
-          _2 = (const 99_i32, move _3);    // scope 1 at $DIR/derefer_test_multiple.rs:4:17: 4:29
-          StorageDead(_3);                 // scope 1 at $DIR/derefer_test_multiple.rs:4:28: 4:29
-          StorageLive(_4);                 // scope 2 at $DIR/derefer_test_multiple.rs:5:9: 5:14
-          StorageLive(_5);                 // scope 2 at $DIR/derefer_test_multiple.rs:5:22: 5:28
-          _5 = &mut _2;                    // scope 2 at $DIR/derefer_test_multiple.rs:5:22: 5:28
-          _4 = (const 11_i32, move _5);    // scope 2 at $DIR/derefer_test_multiple.rs:5:17: 5:29
-          StorageDead(_5);                 // scope 2 at $DIR/derefer_test_multiple.rs:5:28: 5:29
-          StorageLive(_6);                 // scope 3 at $DIR/derefer_test_multiple.rs:6:9: 6:14
-          StorageLive(_7);                 // scope 3 at $DIR/derefer_test_multiple.rs:6:22: 6:28
-          _7 = &mut _4;                    // scope 3 at $DIR/derefer_test_multiple.rs:6:22: 6:28
-          _6 = (const 13_i32, move _7);    // scope 3 at $DIR/derefer_test_multiple.rs:6:17: 6:29
-          StorageDead(_7);                 // scope 3 at $DIR/derefer_test_multiple.rs:6:28: 6:29
-          StorageLive(_8);                 // scope 4 at $DIR/derefer_test_multiple.rs:7:9: 7:10
--         _8 = &mut ((*((*((*(_6.1: &mut (i32, &mut (i32, &mut (i32, i32))))).1: &mut (i32, &mut (i32, i32)))).1: &mut (i32, i32))).1: i32); // scope 4 at $DIR/derefer_test_multiple.rs:7:13: 7:30
-+         StorageLive(_10);                // scope 4 at $DIR/derefer_test_multiple.rs:7:13: 7:30
-+         _10 = deref_copy (_6.1: &mut (i32, &mut (i32, &mut (i32, i32)))); // scope 4 at $DIR/derefer_test_multiple.rs:7:13: 7:30
-+         StorageLive(_11);                // scope 4 at $DIR/derefer_test_multiple.rs:7:13: 7:30
-+         _11 = deref_copy ((*_10).1: &mut (i32, &mut (i32, i32))); // scope 4 at $DIR/derefer_test_multiple.rs:7:13: 7:30
-+         StorageDead(_10);                // scope 4 at $DIR/derefer_test_multiple.rs:7:13: 7:30
-+         StorageLive(_12);                // scope 4 at $DIR/derefer_test_multiple.rs:7:13: 7:30
-+         _12 = deref_copy ((*_11).1: &mut (i32, i32)); // scope 4 at $DIR/derefer_test_multiple.rs:7:13: 7:30
-+         StorageDead(_11);                // scope 4 at $DIR/derefer_test_multiple.rs:7:13: 7:30
-+         _8 = &mut ((*_12).1: i32);       // scope 4 at $DIR/derefer_test_multiple.rs:7:13: 7:30
-+         StorageDead(_12);                // scope 5 at $DIR/derefer_test_multiple.rs:8:9: 8:10
-          StorageLive(_9);                 // scope 5 at $DIR/derefer_test_multiple.rs:8:9: 8:10
--         _9 = &mut ((*((*((*(_6.1: &mut (i32, &mut (i32, &mut (i32, i32))))).1: &mut (i32, &mut (i32, i32)))).1: &mut (i32, i32))).1: i32); // scope 5 at $DIR/derefer_test_multiple.rs:8:13: 8:30
-+         StorageLive(_13);                // scope 5 at $DIR/derefer_test_multiple.rs:8:13: 8:30
-+         _13 = deref_copy (_6.1: &mut (i32, &mut (i32, &mut (i32, i32)))); // scope 5 at $DIR/derefer_test_multiple.rs:8:13: 8:30
-+         StorageLive(_14);                // scope 5 at $DIR/derefer_test_multiple.rs:8:13: 8:30
-+         _14 = deref_copy ((*_13).1: &mut (i32, &mut (i32, i32))); // scope 5 at $DIR/derefer_test_multiple.rs:8:13: 8:30
-+         StorageDead(_13);                // scope 5 at $DIR/derefer_test_multiple.rs:8:13: 8:30
-+         StorageLive(_15);                // scope 5 at $DIR/derefer_test_multiple.rs:8:13: 8:30
-+         _15 = deref_copy ((*_14).1: &mut (i32, i32)); // scope 5 at $DIR/derefer_test_multiple.rs:8:13: 8:30
-+         StorageDead(_14);                // scope 5 at $DIR/derefer_test_multiple.rs:8:13: 8:30
-+         _9 = &mut ((*_15).1: i32);       // scope 5 at $DIR/derefer_test_multiple.rs:8:13: 8:30
-+         StorageDead(_15);                // scope 0 at $DIR/derefer_test_multiple.rs:2:12: 9:2
-          _0 = const ();                   // scope 0 at $DIR/derefer_test_multiple.rs:2:12: 9:2
-          StorageDead(_9);                 // scope 5 at $DIR/derefer_test_multiple.rs:9:1: 9:2
-          StorageDead(_8);                 // scope 4 at $DIR/derefer_test_multiple.rs:9:1: 9:2
-          StorageDead(_6);                 // scope 3 at $DIR/derefer_test_multiple.rs:9:1: 9:2
-          StorageDead(_4);                 // scope 2 at $DIR/derefer_test_multiple.rs:9:1: 9:2
-          StorageDead(_2);                 // scope 1 at $DIR/derefer_test_multiple.rs:9:1: 9:2
-          StorageDead(_1);                 // scope 0 at $DIR/derefer_test_multiple.rs:9:1: 9:2
-          return;                          // scope 0 at $DIR/derefer_test_multiple.rs:9:2: 9:2
+          StorageLive(_1);                 // scope 0 at $DIR/derefer_test_multiple.rs:+1:9: +1:14
+          _1 = (const 42_i32, const 43_i32); // scope 0 at $DIR/derefer_test_multiple.rs:+1:17: +1:25
+          StorageLive(_2);                 // scope 1 at $DIR/derefer_test_multiple.rs:+2:9: +2:14
+          StorageLive(_3);                 // scope 1 at $DIR/derefer_test_multiple.rs:+2:22: +2:28
+          _3 = &mut _1;                    // scope 1 at $DIR/derefer_test_multiple.rs:+2:22: +2:28
+          _2 = (const 99_i32, move _3);    // scope 1 at $DIR/derefer_test_multiple.rs:+2:17: +2:29
+          StorageDead(_3);                 // scope 1 at $DIR/derefer_test_multiple.rs:+2:28: +2:29
+          StorageLive(_4);                 // scope 2 at $DIR/derefer_test_multiple.rs:+3:9: +3:14
+          StorageLive(_5);                 // scope 2 at $DIR/derefer_test_multiple.rs:+3:22: +3:28
+          _5 = &mut _2;                    // scope 2 at $DIR/derefer_test_multiple.rs:+3:22: +3:28
+          _4 = (const 11_i32, move _5);    // scope 2 at $DIR/derefer_test_multiple.rs:+3:17: +3:29
+          StorageDead(_5);                 // scope 2 at $DIR/derefer_test_multiple.rs:+3:28: +3:29
+          StorageLive(_6);                 // scope 3 at $DIR/derefer_test_multiple.rs:+4:9: +4:14
+          StorageLive(_7);                 // scope 3 at $DIR/derefer_test_multiple.rs:+4:22: +4:28
+          _7 = &mut _4;                    // scope 3 at $DIR/derefer_test_multiple.rs:+4:22: +4:28
+          _6 = (const 13_i32, move _7);    // scope 3 at $DIR/derefer_test_multiple.rs:+4:17: +4:29
+          StorageDead(_7);                 // scope 3 at $DIR/derefer_test_multiple.rs:+4:28: +4:29
+          StorageLive(_8);                 // scope 4 at $DIR/derefer_test_multiple.rs:+5:9: +5:10
+-         _8 = &mut ((*((*((*(_6.1: &mut (i32, &mut (i32, &mut (i32, i32))))).1: &mut (i32, &mut (i32, i32)))).1: &mut (i32, i32))).1: i32); // scope 4 at $DIR/derefer_test_multiple.rs:+5:13: +5:30
++         StorageLive(_10);                // scope 4 at $DIR/derefer_test_multiple.rs:+5:13: +5:30
++         _10 = deref_copy (_6.1: &mut (i32, &mut (i32, &mut (i32, i32)))); // scope 4 at $DIR/derefer_test_multiple.rs:+5:13: +5:30
++         StorageLive(_11);                // scope 4 at $DIR/derefer_test_multiple.rs:+5:13: +5:30
++         _11 = deref_copy ((*_10).1: &mut (i32, &mut (i32, i32))); // scope 4 at $DIR/derefer_test_multiple.rs:+5:13: +5:30
++         StorageDead(_10);                // scope 4 at $DIR/derefer_test_multiple.rs:+5:13: +5:30
++         StorageLive(_12);                // scope 4 at $DIR/derefer_test_multiple.rs:+5:13: +5:30
++         _12 = deref_copy ((*_11).1: &mut (i32, i32)); // scope 4 at $DIR/derefer_test_multiple.rs:+5:13: +5:30
++         StorageDead(_11);                // scope 4 at $DIR/derefer_test_multiple.rs:+5:13: +5:30
++         _8 = &mut ((*_12).1: i32);       // scope 4 at $DIR/derefer_test_multiple.rs:+5:13: +5:30
++         StorageDead(_12);                // scope 5 at $DIR/derefer_test_multiple.rs:+6:9: +6:10
+          StorageLive(_9);                 // scope 5 at $DIR/derefer_test_multiple.rs:+6:9: +6:10
+-         _9 = &mut ((*((*((*(_6.1: &mut (i32, &mut (i32, &mut (i32, i32))))).1: &mut (i32, &mut (i32, i32)))).1: &mut (i32, i32))).1: i32); // scope 5 at $DIR/derefer_test_multiple.rs:+6:13: +6:30
++         StorageLive(_13);                // scope 5 at $DIR/derefer_test_multiple.rs:+6:13: +6:30
++         _13 = deref_copy (_6.1: &mut (i32, &mut (i32, &mut (i32, i32)))); // scope 5 at $DIR/derefer_test_multiple.rs:+6:13: +6:30
++         StorageLive(_14);                // scope 5 at $DIR/derefer_test_multiple.rs:+6:13: +6:30
++         _14 = deref_copy ((*_13).1: &mut (i32, &mut (i32, i32))); // scope 5 at $DIR/derefer_test_multiple.rs:+6:13: +6:30
++         StorageDead(_13);                // scope 5 at $DIR/derefer_test_multiple.rs:+6:13: +6:30
++         StorageLive(_15);                // scope 5 at $DIR/derefer_test_multiple.rs:+6:13: +6:30
++         _15 = deref_copy ((*_14).1: &mut (i32, i32)); // scope 5 at $DIR/derefer_test_multiple.rs:+6:13: +6:30
++         StorageDead(_14);                // scope 5 at $DIR/derefer_test_multiple.rs:+6:13: +6:30
++         _9 = &mut ((*_15).1: i32);       // scope 5 at $DIR/derefer_test_multiple.rs:+6:13: +6:30
++         StorageDead(_15);                // scope 0 at $DIR/derefer_test_multiple.rs:+0:12: +7:2
+          _0 = const ();                   // scope 0 at $DIR/derefer_test_multiple.rs:+0:12: +7:2
+          StorageDead(_9);                 // scope 5 at $DIR/derefer_test_multiple.rs:+7:1: +7:2
+          StorageDead(_8);                 // scope 4 at $DIR/derefer_test_multiple.rs:+7:1: +7:2
+          StorageDead(_6);                 // scope 3 at $DIR/derefer_test_multiple.rs:+7:1: +7:2
+          StorageDead(_4);                 // scope 2 at $DIR/derefer_test_multiple.rs:+7:1: +7:2
+          StorageDead(_2);                 // scope 1 at $DIR/derefer_test_multiple.rs:+7:1: +7:2
+          StorageDead(_1);                 // scope 0 at $DIR/derefer_test_multiple.rs:+7:1: +7:2
+          return;                          // scope 0 at $DIR/derefer_test_multiple.rs:+7:2: +7:2
 +     }
 + 
 +     bb1 (cleanup): {
-+         resume;                          // scope 0 at $DIR/derefer_test_multiple.rs:2:1: 9:2
++         resume;                          // scope 0 at $DIR/derefer_test_multiple.rs:+0:1: +7:2
       }
   }
   
index 97fb7fce14e40b47cb0a136ccda1ac3656ae7986..8929f2cc779a741920528a9ce8aca03d37990fe4 100644 (file)
@@ -2,64 +2,64 @@
 + // MIR for `main` after DestinationPropagation
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/branch.rs:12:11: 12:11
-      let _1: i32;                         // in scope 0 at $DIR/branch.rs:13:9: 13:10
-      let mut _3: bool;                    // in scope 0 at $DIR/branch.rs:15:16: 15:22
-      let _4: i32;                         // in scope 0 at $DIR/branch.rs:18:9: 18:14
+      let mut _0: ();                      // return place in scope 0 at $DIR/branch.rs:+0:11: +0:11
+      let _1: i32;                         // in scope 0 at $DIR/branch.rs:+1:9: +1:10
+      let mut _3: bool;                    // in scope 0 at $DIR/branch.rs:+3:16: +3:22
+      let _4: i32;                         // in scope 0 at $DIR/branch.rs:+6:9: +6:14
       scope 1 {
-          debug x => _1;                   // in scope 1 at $DIR/branch.rs:13:9: 13:10
-          let _2: i32;                     // in scope 1 at $DIR/branch.rs:15:9: 15:10
+          debug x => _1;                   // in scope 1 at $DIR/branch.rs:+1:9: +1:10
+          let _2: i32;                     // in scope 1 at $DIR/branch.rs:+3:9: +3:10
           scope 2 {
-              debug y => _2;               // in scope 2 at $DIR/branch.rs:15:9: 15:10
+              debug y => _2;               // in scope 2 at $DIR/branch.rs:+3:9: +3:10
           }
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/branch.rs:13:9: 13:10
-          _1 = val() -> bb1;               // scope 0 at $DIR/branch.rs:13:13: 13:18
+          StorageLive(_1);                 // scope 0 at $DIR/branch.rs:+1:9: +1:10
+          _1 = val() -> bb1;               // scope 0 at $DIR/branch.rs:+1:13: +1:18
                                            // mir::Constant
                                            // + span: $DIR/branch.rs:13:13: 13:16
                                            // + literal: Const { ty: fn() -> i32 {val}, val: Value(<ZST>) }
       }
   
       bb1: {
-          StorageLive(_2);                 // scope 1 at $DIR/branch.rs:15:9: 15:10
-          StorageLive(_3);                 // scope 1 at $DIR/branch.rs:15:16: 15:22
-          _3 = cond() -> bb2;              // scope 1 at $DIR/branch.rs:15:16: 15:22
+          StorageLive(_2);                 // scope 1 at $DIR/branch.rs:+3:9: +3:10
+          StorageLive(_3);                 // scope 1 at $DIR/branch.rs:+3:16: +3:22
+          _3 = cond() -> bb2;              // scope 1 at $DIR/branch.rs:+3:16: +3:22
                                            // mir::Constant
                                            // + span: $DIR/branch.rs:15:16: 15:20
                                            // + literal: Const { ty: fn() -> bool {cond}, val: Value(<ZST>) }
       }
   
       bb2: {
-          switchInt(move _3) -> [false: bb4, otherwise: bb3]; // scope 1 at $DIR/branch.rs:15:16: 15:22
+          switchInt(move _3) -> [false: bb4, otherwise: bb3]; // scope 1 at $DIR/branch.rs:+3:16: +3:22
       }
   
       bb3: {
-          nop;                             // scope 1 at $DIR/branch.rs:16:9: 16:10
-          goto -> bb6;                     // scope 1 at $DIR/branch.rs:15:13: 20:6
+          nop;                             // scope 1 at $DIR/branch.rs:+4:9: +4:10
+          goto -> bb6;                     // scope 1 at $DIR/branch.rs:+3:13: +8:6
       }
   
       bb4: {
-          StorageLive(_4);                 // scope 1 at $DIR/branch.rs:18:9: 18:14
-          _4 = val() -> bb5;               // scope 1 at $DIR/branch.rs:18:9: 18:14
+          StorageLive(_4);                 // scope 1 at $DIR/branch.rs:+6:9: +6:14
+          _4 = val() -> bb5;               // scope 1 at $DIR/branch.rs:+6:9: +6:14
                                            // mir::Constant
                                            // + span: $DIR/branch.rs:18:9: 18:12
                                            // + literal: Const { ty: fn() -> i32 {val}, val: Value(<ZST>) }
       }
   
       bb5: {
-          StorageDead(_4);                 // scope 1 at $DIR/branch.rs:18:14: 18:15
-          nop;                             // scope 1 at $DIR/branch.rs:19:9: 19:10
-          goto -> bb6;                     // scope 1 at $DIR/branch.rs:15:13: 20:6
+          StorageDead(_4);                 // scope 1 at $DIR/branch.rs:+6:14: +6:15
+          nop;                             // scope 1 at $DIR/branch.rs:+7:9: +7:10
+          goto -> bb6;                     // scope 1 at $DIR/branch.rs:+3:13: +8:6
       }
   
       bb6: {
-          StorageDead(_3);                 // scope 1 at $DIR/branch.rs:20:5: 20:6
-          nop;                             // scope 0 at $DIR/branch.rs:12:11: 21:2
-          StorageDead(_2);                 // scope 1 at $DIR/branch.rs:21:1: 21:2
-          StorageDead(_1);                 // scope 0 at $DIR/branch.rs:21:1: 21:2
-          return;                          // scope 0 at $DIR/branch.rs:21:2: 21:2
+          StorageDead(_3);                 // scope 1 at $DIR/branch.rs:+8:5: +8:6
+          nop;                             // scope 0 at $DIR/branch.rs:+0:11: +9:2
+          StorageDead(_2);                 // scope 1 at $DIR/branch.rs:+9:1: +9:2
+          StorageDead(_1);                 // scope 0 at $DIR/branch.rs:+9:1: +9:2
+          return;                          // scope 0 at $DIR/branch.rs:+9:2: +9:2
       }
   }
   
index 8919703647d6d3cb24a831191dc1867d1c36cc42..f28bc72df58cb252924531a641978869065760e7 100644 (file)
@@ -2,25 +2,25 @@
 + // MIR for `arg_src` after DestinationPropagation
   
   fn arg_src(_1: i32) -> i32 {
-      debug x => const 123_i32;            // in scope 0 at $DIR/copy_propagation_arg.rs:27:12: 27:17
-      let mut _0: i32;                     // return place in scope 0 at $DIR/copy_propagation_arg.rs:27:27: 27:30
-      let _2: i32;                         // in scope 0 at $DIR/copy_propagation_arg.rs:28:9: 28:10
+      debug x => const 123_i32;            // in scope 0 at $DIR/copy_propagation_arg.rs:+0:12: +0:17
+      let mut _0: i32;                     // return place in scope 0 at $DIR/copy_propagation_arg.rs:+0:27: +0:30
+      let _2: i32;                         // in scope 0 at $DIR/copy_propagation_arg.rs:+1:9: +1:10
       scope 1 {
--         debug y => _2;                   // in scope 1 at $DIR/copy_propagation_arg.rs:28:9: 28:10
-+         debug y => _0;                   // in scope 1 at $DIR/copy_propagation_arg.rs:28:9: 28:10
+-         debug y => _2;                   // in scope 1 at $DIR/copy_propagation_arg.rs:+1:9: +1:10
++         debug y => _0;                   // in scope 1 at $DIR/copy_propagation_arg.rs:+1:9: +1:10
       }
   
       bb0: {
--         StorageLive(_2);                 // scope 0 at $DIR/copy_propagation_arg.rs:28:9: 28:10
--         _2 = _1;                         // scope 0 at $DIR/copy_propagation_arg.rs:28:13: 28:14
-+         nop;                             // scope 0 at $DIR/copy_propagation_arg.rs:28:9: 28:10
-+         _0 = _1;                         // scope 0 at $DIR/copy_propagation_arg.rs:28:13: 28:14
-          nop;                             // scope 1 at $DIR/copy_propagation_arg.rs:29:5: 29:12
--         _0 = _2;                         // scope 1 at $DIR/copy_propagation_arg.rs:30:5: 30:6
--         StorageDead(_2);                 // scope 0 at $DIR/copy_propagation_arg.rs:31:1: 31:2
-+         nop;                             // scope 1 at $DIR/copy_propagation_arg.rs:30:5: 30:6
-+         nop;                             // scope 0 at $DIR/copy_propagation_arg.rs:31:1: 31:2
-          return;                          // scope 0 at $DIR/copy_propagation_arg.rs:31:2: 31:2
+-         StorageLive(_2);                 // scope 0 at $DIR/copy_propagation_arg.rs:+1:9: +1:10
+-         _2 = _1;                         // scope 0 at $DIR/copy_propagation_arg.rs:+1:13: +1:14
++         nop;                             // scope 0 at $DIR/copy_propagation_arg.rs:+1:9: +1:10
++         _0 = _1;                         // scope 0 at $DIR/copy_propagation_arg.rs:+1:13: +1:14
+          nop;                             // scope 1 at $DIR/copy_propagation_arg.rs:+2:5: +2:12
+-         _0 = _2;                         // scope 1 at $DIR/copy_propagation_arg.rs:+3:5: +3:6
+-         StorageDead(_2);                 // scope 0 at $DIR/copy_propagation_arg.rs:+4:1: +4:2
++         nop;                             // scope 1 at $DIR/copy_propagation_arg.rs:+3:5: +3:6
++         nop;                             // scope 0 at $DIR/copy_propagation_arg.rs:+4:1: +4:2
+          return;                          // scope 0 at $DIR/copy_propagation_arg.rs:+4:2: +4:2
       }
   }
   
index 11a0d1f609f72f2028e97cbd18e35871edf3ebb5..a8a7e9ab6d44da99db03e7625c209d041454fe93 100644 (file)
@@ -2,27 +2,27 @@
 + // MIR for `bar` after DestinationPropagation
   
   fn bar(_1: u8) -> () {
-      debug x => const 5_u8;               // in scope 0 at $DIR/copy_propagation_arg.rs:15:8: 15:13
-      let mut _0: ();                      // return place in scope 0 at $DIR/copy_propagation_arg.rs:15:19: 15:19
-      let _2: u8;                          // in scope 0 at $DIR/copy_propagation_arg.rs:16:5: 16:13
-      let mut _3: u8;                      // in scope 0 at $DIR/copy_propagation_arg.rs:16:11: 16:12
+      debug x => const 5_u8;               // in scope 0 at $DIR/copy_propagation_arg.rs:+0:8: +0:13
+      let mut _0: ();                      // return place in scope 0 at $DIR/copy_propagation_arg.rs:+0:19: +0:19
+      let _2: u8;                          // in scope 0 at $DIR/copy_propagation_arg.rs:+1:5: +1:13
+      let mut _3: u8;                      // in scope 0 at $DIR/copy_propagation_arg.rs:+1:11: +1:12
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/copy_propagation_arg.rs:16:5: 16:13
-          StorageLive(_3);                 // scope 0 at $DIR/copy_propagation_arg.rs:16:11: 16:12
-          _3 = _1;                         // scope 0 at $DIR/copy_propagation_arg.rs:16:11: 16:12
-          _2 = dummy(move _3) -> bb1;      // scope 0 at $DIR/copy_propagation_arg.rs:16:5: 16:13
+          StorageLive(_2);                 // scope 0 at $DIR/copy_propagation_arg.rs:+1:5: +1:13
+          StorageLive(_3);                 // scope 0 at $DIR/copy_propagation_arg.rs:+1:11: +1:12
+          _3 = _1;                         // scope 0 at $DIR/copy_propagation_arg.rs:+1:11: +1:12
+          _2 = dummy(move _3) -> bb1;      // scope 0 at $DIR/copy_propagation_arg.rs:+1:5: +1:13
                                            // mir::Constant
                                            // + span: $DIR/copy_propagation_arg.rs:16:5: 16:10
                                            // + literal: Const { ty: fn(u8) -> u8 {dummy}, val: Value(<ZST>) }
       }
   
       bb1: {
-          StorageDead(_3);                 // scope 0 at $DIR/copy_propagation_arg.rs:16:12: 16:13
-          StorageDead(_2);                 // scope 0 at $DIR/copy_propagation_arg.rs:16:13: 16:14
-          nop;                             // scope 0 at $DIR/copy_propagation_arg.rs:17:5: 17:10
-          nop;                             // scope 0 at $DIR/copy_propagation_arg.rs:15:19: 18:2
-          return;                          // scope 0 at $DIR/copy_propagation_arg.rs:18:2: 18:2
+          StorageDead(_3);                 // scope 0 at $DIR/copy_propagation_arg.rs:+1:12: +1:13
+          StorageDead(_2);                 // scope 0 at $DIR/copy_propagation_arg.rs:+1:13: +1:14
+          nop;                             // scope 0 at $DIR/copy_propagation_arg.rs:+2:5: +2:10
+          nop;                             // scope 0 at $DIR/copy_propagation_arg.rs:+0:19: +3:2
+          return;                          // scope 0 at $DIR/copy_propagation_arg.rs:+3:2: +3:2
       }
   }
   
index 67ce87e842d043dde23cac2991796f23015315d4..ce9be4c27183dd230cb846fe60dce9a67d3ad4db 100644 (file)
@@ -2,17 +2,17 @@
 + // MIR for `baz` after DestinationPropagation
   
   fn baz(_1: i32) -> () {
-      debug x => _1;                       // in scope 0 at $DIR/copy_propagation_arg.rs:21:8: 21:13
-      let mut _0: ();                      // return place in scope 0 at $DIR/copy_propagation_arg.rs:21:20: 21:20
-      let mut _2: i32;                     // in scope 0 at $DIR/copy_propagation_arg.rs:23:9: 23:10
+      debug x => _1;                       // in scope 0 at $DIR/copy_propagation_arg.rs:+0:8: +0:13
+      let mut _0: ();                      // return place in scope 0 at $DIR/copy_propagation_arg.rs:+0:20: +0:20
+      let mut _2: i32;                     // in scope 0 at $DIR/copy_propagation_arg.rs:+2:9: +2:10
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/copy_propagation_arg.rs:23:9: 23:10
-          nop;                             // scope 0 at $DIR/copy_propagation_arg.rs:23:9: 23:10
-          nop;                             // scope 0 at $DIR/copy_propagation_arg.rs:23:5: 23:10
-          StorageDead(_2);                 // scope 0 at $DIR/copy_propagation_arg.rs:23:9: 23:10
-          nop;                             // scope 0 at $DIR/copy_propagation_arg.rs:21:20: 24:2
-          return;                          // scope 0 at $DIR/copy_propagation_arg.rs:24:2: 24:2
+          StorageLive(_2);                 // scope 0 at $DIR/copy_propagation_arg.rs:+2:9: +2:10
+          nop;                             // scope 0 at $DIR/copy_propagation_arg.rs:+2:9: +2:10
+          nop;                             // scope 0 at $DIR/copy_propagation_arg.rs:+2:5: +2:10
+          StorageDead(_2);                 // scope 0 at $DIR/copy_propagation_arg.rs:+2:9: +2:10
+          nop;                             // scope 0 at $DIR/copy_propagation_arg.rs:+0:20: +3:2
+          return;                          // scope 0 at $DIR/copy_propagation_arg.rs:+3:2: +3:2
       }
   }
   
index 1346a04938a20fe1edf14a3c4cbe66c46dcc7f84..d7a0b950fc22727039df0acebe969bd7bbf34faa 100644 (file)
@@ -2,27 +2,27 @@
 + // MIR for `foo` after DestinationPropagation
   
   fn foo(_1: u8) -> () {
-      debug x => _1;                       // in scope 0 at $DIR/copy_propagation_arg.rs:9:8: 9:13
-      let mut _0: ();                      // return place in scope 0 at $DIR/copy_propagation_arg.rs:9:19: 9:19
-      let mut _2: u8;                      // in scope 0 at $DIR/copy_propagation_arg.rs:11:9: 11:17
-      let mut _3: u8;                      // in scope 0 at $DIR/copy_propagation_arg.rs:11:15: 11:16
+      debug x => _1;                       // in scope 0 at $DIR/copy_propagation_arg.rs:+0:8: +0:13
+      let mut _0: ();                      // return place in scope 0 at $DIR/copy_propagation_arg.rs:+0:19: +0:19
+      let mut _2: u8;                      // in scope 0 at $DIR/copy_propagation_arg.rs:+2:9: +2:17
+      let mut _3: u8;                      // in scope 0 at $DIR/copy_propagation_arg.rs:+2:15: +2:16
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/copy_propagation_arg.rs:11:9: 11:17
-          StorageLive(_3);                 // scope 0 at $DIR/copy_propagation_arg.rs:11:15: 11:16
-          _3 = _1;                         // scope 0 at $DIR/copy_propagation_arg.rs:11:15: 11:16
-          _2 = dummy(move _3) -> bb1;      // scope 0 at $DIR/copy_propagation_arg.rs:11:9: 11:17
+          StorageLive(_2);                 // scope 0 at $DIR/copy_propagation_arg.rs:+2:9: +2:17
+          StorageLive(_3);                 // scope 0 at $DIR/copy_propagation_arg.rs:+2:15: +2:16
+          _3 = _1;                         // scope 0 at $DIR/copy_propagation_arg.rs:+2:15: +2:16
+          _2 = dummy(move _3) -> bb1;      // scope 0 at $DIR/copy_propagation_arg.rs:+2:9: +2:17
                                            // mir::Constant
                                            // + span: $DIR/copy_propagation_arg.rs:11:9: 11:14
                                            // + literal: Const { ty: fn(u8) -> u8 {dummy}, val: Value(<ZST>) }
       }
   
       bb1: {
-          StorageDead(_3);                 // scope 0 at $DIR/copy_propagation_arg.rs:11:16: 11:17
-          nop;                             // scope 0 at $DIR/copy_propagation_arg.rs:11:5: 11:17
-          StorageDead(_2);                 // scope 0 at $DIR/copy_propagation_arg.rs:11:16: 11:17
-          nop;                             // scope 0 at $DIR/copy_propagation_arg.rs:9:19: 12:2
-          return;                          // scope 0 at $DIR/copy_propagation_arg.rs:12:2: 12:2
+          StorageDead(_3);                 // scope 0 at $DIR/copy_propagation_arg.rs:+2:16: +2:17
+          nop;                             // scope 0 at $DIR/copy_propagation_arg.rs:+2:5: +2:17
+          StorageDead(_2);                 // scope 0 at $DIR/copy_propagation_arg.rs:+2:16: +2:17
+          nop;                             // scope 0 at $DIR/copy_propagation_arg.rs:+0:19: +3:2
+          return;                          // scope 0 at $DIR/copy_propagation_arg.rs:+3:2: +3:2
       }
   }
   
index 516180fbec68d12caedde175440713a508a3e7ea..8eeb0d354c6986261bdcbc60f6245bee7b3691e4 100644 (file)
@@ -2,19 +2,19 @@
 + // MIR for `main` after DestinationPropagation
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/cycle.rs:8:11: 8:11
-      let mut _1: i32;                     // in scope 0 at $DIR/cycle.rs:9:9: 9:14
-      let mut _4: i32;                     // in scope 0 at $DIR/cycle.rs:12:9: 12:10
-      let _5: ();                          // in scope 0 at $DIR/cycle.rs:14:5: 14:12
-      let mut _6: i32;                     // in scope 0 at $DIR/cycle.rs:14:10: 14:11
+      let mut _0: ();                      // return place in scope 0 at $DIR/cycle.rs:+0:11: +0:11
+      let mut _1: i32;                     // in scope 0 at $DIR/cycle.rs:+1:9: +1:14
+      let mut _4: i32;                     // in scope 0 at $DIR/cycle.rs:+4:9: +4:10
+      let _5: ();                          // in scope 0 at $DIR/cycle.rs:+6:5: +6:12
+      let mut _6: i32;                     // in scope 0 at $DIR/cycle.rs:+6:10: +6:11
       scope 1 {
-          debug x => _1;                   // in scope 1 at $DIR/cycle.rs:9:9: 9:14
-          let _2: i32;                     // in scope 1 at $DIR/cycle.rs:10:9: 10:10
+          debug x => _1;                   // in scope 1 at $DIR/cycle.rs:+1:9: +1:14
+          let _2: i32;                     // in scope 1 at $DIR/cycle.rs:+2:9: +2:10
           scope 2 {
-              debug y => _2;               // in scope 2 at $DIR/cycle.rs:10:9: 10:10
-              let _3: i32;                 // in scope 2 at $DIR/cycle.rs:11:9: 11:10
+              debug y => _2;               // in scope 2 at $DIR/cycle.rs:+2:9: +2:10
+              let _3: i32;                 // in scope 2 at $DIR/cycle.rs:+3:9: +3:10
               scope 3 {
-                  debug z => _3;           // in scope 3 at $DIR/cycle.rs:11:9: 11:10
+                  debug z => _3;           // in scope 3 at $DIR/cycle.rs:+3:9: +3:10
                   scope 4 (inlined std::mem::drop::<i32>) { // at $DIR/cycle.rs:14:5: 14:12
                       debug _x => _6;      // in scope 4 at $SRC_DIR/core/src/mem/mod.rs:LL:COL
                   }
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/cycle.rs:9:9: 9:14
-          _1 = val() -> bb1;               // scope 0 at $DIR/cycle.rs:9:17: 9:22
+          StorageLive(_1);                 // scope 0 at $DIR/cycle.rs:+1:9: +1:14
+          _1 = val() -> bb1;               // scope 0 at $DIR/cycle.rs:+1:17: +1:22
                                            // mir::Constant
                                            // + span: $DIR/cycle.rs:9:17: 9:20
                                            // + literal: Const { ty: fn() -> i32 {val}, val: Value(<ZST>) }
       }
   
       bb1: {
-          StorageLive(_2);                 // scope 1 at $DIR/cycle.rs:10:9: 10:10
-          nop;                             // scope 1 at $DIR/cycle.rs:10:13: 10:14
-          StorageLive(_3);                 // scope 2 at $DIR/cycle.rs:11:9: 11:10
-          nop;                             // scope 2 at $DIR/cycle.rs:11:13: 11:14
-          StorageLive(_4);                 // scope 3 at $DIR/cycle.rs:12:9: 12:10
-          nop;                             // scope 3 at $DIR/cycle.rs:12:9: 12:10
-          nop;                             // scope 3 at $DIR/cycle.rs:12:5: 12:10
-          StorageDead(_4);                 // scope 3 at $DIR/cycle.rs:12:9: 12:10
-          StorageLive(_5);                 // scope 3 at $DIR/cycle.rs:14:5: 14:12
-          StorageLive(_6);                 // scope 3 at $DIR/cycle.rs:14:10: 14:11
-          nop;                             // scope 3 at $DIR/cycle.rs:14:10: 14:11
-          StorageDead(_6);                 // scope 3 at $DIR/cycle.rs:14:11: 14:12
-          StorageDead(_5);                 // scope 3 at $DIR/cycle.rs:14:12: 14:13
-          StorageDead(_3);                 // scope 2 at $DIR/cycle.rs:15:1: 15:2
-          StorageDead(_2);                 // scope 1 at $DIR/cycle.rs:15:1: 15:2
-          StorageDead(_1);                 // scope 0 at $DIR/cycle.rs:15:1: 15:2
-          return;                          // scope 0 at $DIR/cycle.rs:15:2: 15:2
+          StorageLive(_2);                 // scope 1 at $DIR/cycle.rs:+2:9: +2:10
+          nop;                             // scope 1 at $DIR/cycle.rs:+2:13: +2:14
+          StorageLive(_3);                 // scope 2 at $DIR/cycle.rs:+3:9: +3:10
+          nop;                             // scope 2 at $DIR/cycle.rs:+3:13: +3:14
+          StorageLive(_4);                 // scope 3 at $DIR/cycle.rs:+4:9: +4:10
+          nop;                             // scope 3 at $DIR/cycle.rs:+4:9: +4:10
+          nop;                             // scope 3 at $DIR/cycle.rs:+4:5: +4:10
+          StorageDead(_4);                 // scope 3 at $DIR/cycle.rs:+4:9: +4:10
+          StorageLive(_5);                 // scope 3 at $DIR/cycle.rs:+6:5: +6:12
+          StorageLive(_6);                 // scope 3 at $DIR/cycle.rs:+6:10: +6:11
+          nop;                             // scope 3 at $DIR/cycle.rs:+6:10: +6:11
+          StorageDead(_6);                 // scope 3 at $DIR/cycle.rs:+6:11: +6:12
+          StorageDead(_5);                 // scope 3 at $DIR/cycle.rs:+6:12: +6:13
+          StorageDead(_3);                 // scope 2 at $DIR/cycle.rs:+7:1: +7:2
+          StorageDead(_2);                 // scope 1 at $DIR/cycle.rs:+7:1: +7:2
+          StorageDead(_1);                 // scope 0 at $DIR/cycle.rs:+7:1: +7:2
+          return;                          // scope 0 at $DIR/cycle.rs:+7:2: +7:2
       }
   }
   
index 3475d41b50fbdf6f4932b8d3df7220a4b153db0b..a20a172af1bbc737db614ebe21024debdf6bd745 100644 (file)
@@ -2,38 +2,38 @@
 + // MIR for `nrvo` after DestinationPropagation
   
   fn nrvo(_1: for<'r> fn(&'r mut [u8; 1024])) -> [u8; 1024] {
-      debug init => _1;                    // in scope 0 at $DIR/simple.rs:4:9: 4:13
-      let mut _0: [u8; 1024];              // return place in scope 0 at $DIR/simple.rs:4:39: 4:49
-      let mut _2: [u8; 1024];              // in scope 0 at $DIR/simple.rs:5:9: 5:16
-      let _3: ();                          // in scope 0 at $DIR/simple.rs:6:5: 6:19
-      let mut _4: for<'r> fn(&'r mut [u8; 1024]); // in scope 0 at $DIR/simple.rs:6:5: 6:9
-      let mut _5: &mut [u8; 1024];         // in scope 0 at $DIR/simple.rs:6:10: 6:18
-      let mut _6: &mut [u8; 1024];         // in scope 0 at $DIR/simple.rs:6:10: 6:18
+      debug init => _1;                    // in scope 0 at $DIR/simple.rs:+0:9: +0:13
+      let mut _0: [u8; 1024];              // return place in scope 0 at $DIR/simple.rs:+0:39: +0:49
+      let mut _2: [u8; 1024];              // in scope 0 at $DIR/simple.rs:+1:9: +1:16
+      let _3: ();                          // in scope 0 at $DIR/simple.rs:+2:5: +2:19
+      let mut _4: for<'r> fn(&'r mut [u8; 1024]); // in scope 0 at $DIR/simple.rs:+2:5: +2:9
+      let mut _5: &mut [u8; 1024];         // in scope 0 at $DIR/simple.rs:+2:10: +2:18
+      let mut _6: &mut [u8; 1024];         // in scope 0 at $DIR/simple.rs:+2:10: +2:18
       scope 1 {
-          debug buf => _2;                 // in scope 1 at $DIR/simple.rs:5:9: 5:16
+          debug buf => _2;                 // in scope 1 at $DIR/simple.rs:+1:9: +1:16
       }
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/simple.rs:5:9: 5:16
-          _2 = [const 0_u8; 1024];         // scope 0 at $DIR/simple.rs:5:19: 5:28
-          StorageLive(_3);                 // scope 1 at $DIR/simple.rs:6:5: 6:19
-          StorageLive(_4);                 // scope 1 at $DIR/simple.rs:6:5: 6:9
-          _4 = _1;                         // scope 1 at $DIR/simple.rs:6:5: 6:9
-          StorageLive(_5);                 // scope 1 at $DIR/simple.rs:6:10: 6:18
-          StorageLive(_6);                 // scope 1 at $DIR/simple.rs:6:10: 6:18
-          _6 = &mut _2;                    // scope 1 at $DIR/simple.rs:6:10: 6:18
-          _5 = &mut (*_6);                 // scope 1 at $DIR/simple.rs:6:10: 6:18
-          _3 = move _4(move _5) -> bb1;    // scope 1 at $DIR/simple.rs:6:5: 6:19
+          StorageLive(_2);                 // scope 0 at $DIR/simple.rs:+1:9: +1:16
+          _2 = [const 0_u8; 1024];         // scope 0 at $DIR/simple.rs:+1:19: +1:28
+          StorageLive(_3);                 // scope 1 at $DIR/simple.rs:+2:5: +2:19
+          StorageLive(_4);                 // scope 1 at $DIR/simple.rs:+2:5: +2:9
+          _4 = _1;                         // scope 1 at $DIR/simple.rs:+2:5: +2:9
+          StorageLive(_5);                 // scope 1 at $DIR/simple.rs:+2:10: +2:18
+          StorageLive(_6);                 // scope 1 at $DIR/simple.rs:+2:10: +2:18
+          _6 = &mut _2;                    // scope 1 at $DIR/simple.rs:+2:10: +2:18
+          _5 = &mut (*_6);                 // scope 1 at $DIR/simple.rs:+2:10: +2:18
+          _3 = move _4(move _5) -> bb1;    // scope 1 at $DIR/simple.rs:+2:5: +2:19
       }
   
       bb1: {
-          StorageDead(_5);                 // scope 1 at $DIR/simple.rs:6:18: 6:19
-          StorageDead(_4);                 // scope 1 at $DIR/simple.rs:6:18: 6:19
-          StorageDead(_6);                 // scope 1 at $DIR/simple.rs:6:19: 6:20
-          StorageDead(_3);                 // scope 1 at $DIR/simple.rs:6:19: 6:20
-          _0 = _2;                         // scope 1 at $DIR/simple.rs:7:5: 7:8
-          StorageDead(_2);                 // scope 0 at $DIR/simple.rs:8:1: 8:2
-          return;                          // scope 0 at $DIR/simple.rs:8:2: 8:2
+          StorageDead(_5);                 // scope 1 at $DIR/simple.rs:+2:18: +2:19
+          StorageDead(_4);                 // scope 1 at $DIR/simple.rs:+2:18: +2:19
+          StorageDead(_6);                 // scope 1 at $DIR/simple.rs:+2:19: +2:20
+          StorageDead(_3);                 // scope 1 at $DIR/simple.rs:+2:19: +2:20
+          _0 = _2;                         // scope 1 at $DIR/simple.rs:+3:5: +3:8
+          StorageDead(_2);                 // scope 0 at $DIR/simple.rs:+4:1: +4:2
+          return;                          // scope 0 at $DIR/simple.rs:+4:2: +4:2
       }
   }
   
index acfd3c18fc93065937ed528dc4c7ea90896e51a4..accdb00852ede652ae873330e9949037b4108c68 100644 (file)
@@ -2,13 +2,13 @@
 + // MIR for `main` after DestinationPropagation
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/union.rs:8:11: 8:11
-      let _1: main::Un;                    // in scope 0 at $DIR/union.rs:13:9: 13:11
-      let mut _2: u32;                     // in scope 0 at $DIR/union.rs:13:23: 13:28
-      let _3: ();                          // in scope 0 at $DIR/union.rs:15:5: 15:27
-      let mut _4: u32;                     // in scope 0 at $DIR/union.rs:15:10: 15:26
+      let mut _0: ();                      // return place in scope 0 at $DIR/union.rs:+0:11: +0:11
+      let _1: main::Un;                    // in scope 0 at $DIR/union.rs:+5:9: +5:11
+      let mut _2: u32;                     // in scope 0 at $DIR/union.rs:+5:23: +5:28
+      let _3: ();                          // in scope 0 at $DIR/union.rs:+7:5: +7:27
+      let mut _4: u32;                     // in scope 0 at $DIR/union.rs:+7:10: +7:26
       scope 1 {
-          debug un => _1;                  // in scope 1 at $DIR/union.rs:13:9: 13:11
+          debug un => _1;                  // in scope 1 at $DIR/union.rs:+5:9: +5:11
           scope 2 {
           }
           scope 3 (inlined std::mem::drop::<u32>) { // at $DIR/union.rs:15:5: 15:27
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/union.rs:13:9: 13:11
-          StorageLive(_2);                 // scope 0 at $DIR/union.rs:13:23: 13:28
-          _2 = val() -> bb1;               // scope 0 at $DIR/union.rs:13:23: 13:28
+          StorageLive(_1);                 // scope 0 at $DIR/union.rs:+5:9: +5:11
+          StorageLive(_2);                 // scope 0 at $DIR/union.rs:+5:23: +5:28
+          _2 = val() -> bb1;               // scope 0 at $DIR/union.rs:+5:23: +5:28
                                            // mir::Constant
                                            // + span: $DIR/union.rs:13:23: 13:26
                                            // + literal: Const { ty: fn() -> u32 {val}, val: Value(<ZST>) }
       }
   
       bb1: {
-          nop;                             // scope 0 at $DIR/union.rs:13:14: 13:30
-          nop;                             // scope 0 at $DIR/union.rs:13:14: 13:30
-          StorageDead(_2);                 // scope 0 at $DIR/union.rs:13:29: 13:30
-          StorageLive(_3);                 // scope 1 at $DIR/union.rs:15:5: 15:27
-          StorageLive(_4);                 // scope 1 at $DIR/union.rs:15:10: 15:26
-          nop;                             // scope 2 at $DIR/union.rs:15:19: 15:24
-          StorageDead(_4);                 // scope 1 at $DIR/union.rs:15:26: 15:27
-          StorageDead(_3);                 // scope 1 at $DIR/union.rs:15:27: 15:28
-          StorageDead(_1);                 // scope 0 at $DIR/union.rs:16:1: 16:2
-          return;                          // scope 0 at $DIR/union.rs:16:2: 16:2
+          nop;                             // scope 0 at $DIR/union.rs:+5:14: +5:30
+          nop;                             // scope 0 at $DIR/union.rs:+5:14: +5:30
+          StorageDead(_2);                 // scope 0 at $DIR/union.rs:+5:29: +5:30
+          StorageLive(_3);                 // scope 1 at $DIR/union.rs:+7:5: +7:27
+          StorageLive(_4);                 // scope 1 at $DIR/union.rs:+7:10: +7:26
+          nop;                             // scope 2 at $DIR/union.rs:+7:19: +7:24
+          StorageDead(_4);                 // scope 1 at $DIR/union.rs:+7:26: +7:27
+          StorageDead(_3);                 // scope 1 at $DIR/union.rs:+7:27: +7:28
+          StorageDead(_1);                 // scope 0 at $DIR/union.rs:+8:1: +8:2
+          return;                          // scope 0 at $DIR/union.rs:+8:2: +8:2
       }
   }
   
index e40274dc393401734ba33a5a1a4b2e30c1f142b1..89d8106ae3ce7394079b1f33df0ca5e804fcebff 100644 (file)
@@ -2,77 +2,77 @@
 + // MIR for `opt1` after EarlyOtherwiseBranch
   
   fn opt1(_1: Option<u32>, _2: Option<u32>) -> u32 {
-      debug x => _1;                       // in scope 0 at $DIR/early_otherwise_branch.rs:3:9: 3:10
-      debug y => _2;                       // in scope 0 at $DIR/early_otherwise_branch.rs:3:25: 3:26
-      let mut _0: u32;                     // return place in scope 0 at $DIR/early_otherwise_branch.rs:3:44: 3:47
-      let mut _3: (std::option::Option<u32>, std::option::Option<u32>); // in scope 0 at $DIR/early_otherwise_branch.rs:4:11: 4:17
-      let mut _4: std::option::Option<u32>; // in scope 0 at $DIR/early_otherwise_branch.rs:4:12: 4:13
-      let mut _5: std::option::Option<u32>; // in scope 0 at $DIR/early_otherwise_branch.rs:4:15: 4:16
-      let mut _6: isize;                   // in scope 0 at $DIR/early_otherwise_branch.rs:5:19: 5:26
-      let mut _7: isize;                   // in scope 0 at $DIR/early_otherwise_branch.rs:5:10: 5:17
-      let _8: u32;                         // in scope 0 at $DIR/early_otherwise_branch.rs:5:15: 5:16
-      let _9: u32;                         // in scope 0 at $DIR/early_otherwise_branch.rs:5:24: 5:25
-+     let mut _10: isize;                  // in scope 0 at $DIR/early_otherwise_branch.rs:4:5: 4:17
-+     let mut _11: bool;                   // in scope 0 at $DIR/early_otherwise_branch.rs:4:5: 4:17
+      debug x => _1;                       // in scope 0 at $DIR/early_otherwise_branch.rs:+0:9: +0:10
+      debug y => _2;                       // in scope 0 at $DIR/early_otherwise_branch.rs:+0:25: +0:26
+      let mut _0: u32;                     // return place in scope 0 at $DIR/early_otherwise_branch.rs:+0:44: +0:47
+      let mut _3: (std::option::Option<u32>, std::option::Option<u32>); // in scope 0 at $DIR/early_otherwise_branch.rs:+1:11: +1:17
+      let mut _4: std::option::Option<u32>; // in scope 0 at $DIR/early_otherwise_branch.rs:+1:12: +1:13
+      let mut _5: std::option::Option<u32>; // in scope 0 at $DIR/early_otherwise_branch.rs:+1:15: +1:16
+      let mut _6: isize;                   // in scope 0 at $DIR/early_otherwise_branch.rs:+2:19: +2:26
+      let mut _7: isize;                   // in scope 0 at $DIR/early_otherwise_branch.rs:+2:10: +2:17
+      let _8: u32;                         // in scope 0 at $DIR/early_otherwise_branch.rs:+2:15: +2:16
+      let _9: u32;                         // in scope 0 at $DIR/early_otherwise_branch.rs:+2:24: +2:25
++     let mut _10: isize;                  // in scope 0 at $DIR/early_otherwise_branch.rs:+1:5: +1:17
++     let mut _11: bool;                   // in scope 0 at $DIR/early_otherwise_branch.rs:+1:5: +1:17
       scope 1 {
-          debug a => _8;                   // in scope 1 at $DIR/early_otherwise_branch.rs:5:15: 5:16
-          debug b => _9;                   // in scope 1 at $DIR/early_otherwise_branch.rs:5:24: 5:25
+          debug a => _8;                   // in scope 1 at $DIR/early_otherwise_branch.rs:+2:15: +2:16
+          debug b => _9;                   // in scope 1 at $DIR/early_otherwise_branch.rs:+2:24: +2:25
       }
   
       bb0: {
-          StorageLive(_3);                 // scope 0 at $DIR/early_otherwise_branch.rs:4:11: 4:17
-          StorageLive(_4);                 // scope 0 at $DIR/early_otherwise_branch.rs:4:12: 4:13
-          _4 = _1;                         // scope 0 at $DIR/early_otherwise_branch.rs:4:12: 4:13
-          StorageLive(_5);                 // scope 0 at $DIR/early_otherwise_branch.rs:4:15: 4:16
-          _5 = _2;                         // scope 0 at $DIR/early_otherwise_branch.rs:4:15: 4:16
-          Deinit(_3);                      // scope 0 at $DIR/early_otherwise_branch.rs:4:11: 4:17
-          (_3.0: std::option::Option<u32>) = move _4; // scope 0 at $DIR/early_otherwise_branch.rs:4:11: 4:17
-          (_3.1: std::option::Option<u32>) = move _5; // scope 0 at $DIR/early_otherwise_branch.rs:4:11: 4:17
-          StorageDead(_5);                 // scope 0 at $DIR/early_otherwise_branch.rs:4:16: 4:17
-          StorageDead(_4);                 // scope 0 at $DIR/early_otherwise_branch.rs:4:16: 4:17
-          _7 = discriminant((_3.0: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch.rs:4:11: 4:17
--         switchInt(move _7) -> [1_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:4:5: 4:17
-+         StorageLive(_10);                // scope 0 at $DIR/early_otherwise_branch.rs:4:5: 4:17
-+         _10 = discriminant((_3.1: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch.rs:4:5: 4:17
-+         StorageLive(_11);                // scope 0 at $DIR/early_otherwise_branch.rs:4:5: 4:17
-+         _11 = Ne(_7, move _10);          // scope 0 at $DIR/early_otherwise_branch.rs:4:5: 4:17
-+         StorageDead(_10);                // scope 0 at $DIR/early_otherwise_branch.rs:4:5: 4:17
-+         switchInt(move _11) -> [false: bb4, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:4:5: 4:17
+          StorageLive(_3);                 // scope 0 at $DIR/early_otherwise_branch.rs:+1:11: +1:17
+          StorageLive(_4);                 // scope 0 at $DIR/early_otherwise_branch.rs:+1:12: +1:13
+          _4 = _1;                         // scope 0 at $DIR/early_otherwise_branch.rs:+1:12: +1:13
+          StorageLive(_5);                 // scope 0 at $DIR/early_otherwise_branch.rs:+1:15: +1:16
+          _5 = _2;                         // scope 0 at $DIR/early_otherwise_branch.rs:+1:15: +1:16
+          Deinit(_3);                      // scope 0 at $DIR/early_otherwise_branch.rs:+1:11: +1:17
+          (_3.0: std::option::Option<u32>) = move _4; // scope 0 at $DIR/early_otherwise_branch.rs:+1:11: +1:17
+          (_3.1: std::option::Option<u32>) = move _5; // scope 0 at $DIR/early_otherwise_branch.rs:+1:11: +1:17
+          StorageDead(_5);                 // scope 0 at $DIR/early_otherwise_branch.rs:+1:16: +1:17
+          StorageDead(_4);                 // scope 0 at $DIR/early_otherwise_branch.rs:+1:16: +1:17
+          _7 = discriminant((_3.0: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch.rs:+1:11: +1:17
+-         switchInt(move _7) -> [1_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:+1:5: +1:17
++         StorageLive(_10);                // scope 0 at $DIR/early_otherwise_branch.rs:+1:5: +1:17
++         _10 = discriminant((_3.1: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch.rs:+1:5: +1:17
++         StorageLive(_11);                // scope 0 at $DIR/early_otherwise_branch.rs:+1:5: +1:17
++         _11 = Ne(_7, move _10);          // scope 0 at $DIR/early_otherwise_branch.rs:+1:5: +1:17
++         StorageDead(_10);                // scope 0 at $DIR/early_otherwise_branch.rs:+1:5: +1:17
++         switchInt(move _11) -> [false: bb4, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:+1:5: +1:17
       }
   
       bb1: {
-+         StorageDead(_11);                // scope 0 at $DIR/early_otherwise_branch.rs:6:14: 6:15
-          _0 = const 1_u32;                // scope 0 at $DIR/early_otherwise_branch.rs:6:14: 6:15
--         goto -> bb4;                     // scope 0 at $DIR/early_otherwise_branch.rs:6:14: 6:15
-+         goto -> bb3;                     // scope 0 at $DIR/early_otherwise_branch.rs:6:14: 6:15
++         StorageDead(_11);                // scope 0 at $DIR/early_otherwise_branch.rs:+3:14: +3:15
+          _0 = const 1_u32;                // scope 0 at $DIR/early_otherwise_branch.rs:+3:14: +3:15
+-         goto -> bb4;                     // scope 0 at $DIR/early_otherwise_branch.rs:+3:14: +3:15
++         goto -> bb3;                     // scope 0 at $DIR/early_otherwise_branch.rs:+3:14: +3:15
       }
   
       bb2: {
--         _6 = discriminant((_3.1: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch.rs:4:11: 4:17
--         switchInt(move _6) -> [1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:4:5: 4:17
+-         _6 = discriminant((_3.1: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch.rs:+1:11: +1:17
+-         switchInt(move _6) -> [1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:+1:5: +1:17
 -     }
 - 
 -     bb3: {
-          StorageLive(_8);                 // scope 0 at $DIR/early_otherwise_branch.rs:5:15: 5:16
-          _8 = (((_3.0: std::option::Option<u32>) as Some).0: u32); // scope 0 at $DIR/early_otherwise_branch.rs:5:15: 5:16
-          StorageLive(_9);                 // scope 0 at $DIR/early_otherwise_branch.rs:5:24: 5:25
-          _9 = (((_3.1: std::option::Option<u32>) as Some).0: u32); // scope 0 at $DIR/early_otherwise_branch.rs:5:24: 5:25
-          _0 = const 0_u32;                // scope 1 at $DIR/early_otherwise_branch.rs:5:31: 5:32
-          StorageDead(_9);                 // scope 0 at $DIR/early_otherwise_branch.rs:5:31: 5:32
-          StorageDead(_8);                 // scope 0 at $DIR/early_otherwise_branch.rs:5:31: 5:32
--         goto -> bb4;                     // scope 0 at $DIR/early_otherwise_branch.rs:5:31: 5:32
-+         goto -> bb3;                     // scope 0 at $DIR/early_otherwise_branch.rs:5:31: 5:32
+          StorageLive(_8);                 // scope 0 at $DIR/early_otherwise_branch.rs:+2:15: +2:16
+          _8 = (((_3.0: std::option::Option<u32>) as Some).0: u32); // scope 0 at $DIR/early_otherwise_branch.rs:+2:15: +2:16
+          StorageLive(_9);                 // scope 0 at $DIR/early_otherwise_branch.rs:+2:24: +2:25
+          _9 = (((_3.1: std::option::Option<u32>) as Some).0: u32); // scope 0 at $DIR/early_otherwise_branch.rs:+2:24: +2:25
+          _0 = const 0_u32;                // scope 1 at $DIR/early_otherwise_branch.rs:+2:31: +2:32
+          StorageDead(_9);                 // scope 0 at $DIR/early_otherwise_branch.rs:+2:31: +2:32
+          StorageDead(_8);                 // scope 0 at $DIR/early_otherwise_branch.rs:+2:31: +2:32
+-         goto -> bb4;                     // scope 0 at $DIR/early_otherwise_branch.rs:+2:31: +2:32
++         goto -> bb3;                     // scope 0 at $DIR/early_otherwise_branch.rs:+2:31: +2:32
       }
   
 -     bb4: {
 +     bb3: {
-          StorageDead(_3);                 // scope 0 at $DIR/early_otherwise_branch.rs:8:1: 8:2
-          return;                          // scope 0 at $DIR/early_otherwise_branch.rs:8:2: 8:2
+          StorageDead(_3);                 // scope 0 at $DIR/early_otherwise_branch.rs:+5:1: +5:2
+          return;                          // scope 0 at $DIR/early_otherwise_branch.rs:+5:2: +5:2
 +     }
 + 
 +     bb4: {
-+         StorageDead(_11);                // scope 0 at $DIR/early_otherwise_branch.rs:4:5: 4:17
-+         switchInt(_7) -> [1_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:4:5: 4:17
++         StorageDead(_11);                // scope 0 at $DIR/early_otherwise_branch.rs:+1:5: +1:17
++         switchInt(_7) -> [1_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:+1:5: +1:17
       }
   }
   
index 1cdd97ab283bc813d3bde8e3d8b276f1e1b1c0bf..1a9efa930036c40e0583477d27e55f5a2b3c1067 100644 (file)
@@ -2,91 +2,91 @@
 + // MIR for `opt2` after EarlyOtherwiseBranch
   
   fn opt2(_1: Option<u32>, _2: Option<u32>) -> u32 {
-      debug x => _1;                       // in scope 0 at $DIR/early_otherwise_branch.rs:11:9: 11:10
-      debug y => _2;                       // in scope 0 at $DIR/early_otherwise_branch.rs:11:25: 11:26
-      let mut _0: u32;                     // return place in scope 0 at $DIR/early_otherwise_branch.rs:11:44: 11:47
-      let mut _3: (std::option::Option<u32>, std::option::Option<u32>); // in scope 0 at $DIR/early_otherwise_branch.rs:12:11: 12:17
-      let mut _4: std::option::Option<u32>; // in scope 0 at $DIR/early_otherwise_branch.rs:12:12: 12:13
-      let mut _5: std::option::Option<u32>; // in scope 0 at $DIR/early_otherwise_branch.rs:12:15: 12:16
-      let mut _6: isize;                   // in scope 0 at $DIR/early_otherwise_branch.rs:14:16: 14:20
-      let mut _7: isize;                   // in scope 0 at $DIR/early_otherwise_branch.rs:13:19: 13:26
-      let mut _8: isize;                   // in scope 0 at $DIR/early_otherwise_branch.rs:13:10: 13:17
-      let _9: u32;                         // in scope 0 at $DIR/early_otherwise_branch.rs:13:15: 13:16
-      let _10: u32;                        // in scope 0 at $DIR/early_otherwise_branch.rs:13:24: 13:25
-+     let mut _11: isize;                  // in scope 0 at $DIR/early_otherwise_branch.rs:12:5: 12:17
-+     let mut _12: bool;                   // in scope 0 at $DIR/early_otherwise_branch.rs:12:5: 12:17
+      debug x => _1;                       // in scope 0 at $DIR/early_otherwise_branch.rs:+0:9: +0:10
+      debug y => _2;                       // in scope 0 at $DIR/early_otherwise_branch.rs:+0:25: +0:26
+      let mut _0: u32;                     // return place in scope 0 at $DIR/early_otherwise_branch.rs:+0:44: +0:47
+      let mut _3: (std::option::Option<u32>, std::option::Option<u32>); // in scope 0 at $DIR/early_otherwise_branch.rs:+1:11: +1:17
+      let mut _4: std::option::Option<u32>; // in scope 0 at $DIR/early_otherwise_branch.rs:+1:12: +1:13
+      let mut _5: std::option::Option<u32>; // in scope 0 at $DIR/early_otherwise_branch.rs:+1:15: +1:16
+      let mut _6: isize;                   // in scope 0 at $DIR/early_otherwise_branch.rs:+3:16: +3:20
+      let mut _7: isize;                   // in scope 0 at $DIR/early_otherwise_branch.rs:+2:19: +2:26
+      let mut _8: isize;                   // in scope 0 at $DIR/early_otherwise_branch.rs:+2:10: +2:17
+      let _9: u32;                         // in scope 0 at $DIR/early_otherwise_branch.rs:+2:15: +2:16
+      let _10: u32;                        // in scope 0 at $DIR/early_otherwise_branch.rs:+2:24: +2:25
++     let mut _11: isize;                  // in scope 0 at $DIR/early_otherwise_branch.rs:+1:5: +1:17
++     let mut _12: bool;                   // in scope 0 at $DIR/early_otherwise_branch.rs:+1:5: +1:17
       scope 1 {
-          debug a => _9;                   // in scope 1 at $DIR/early_otherwise_branch.rs:13:15: 13:16
-          debug b => _10;                  // in scope 1 at $DIR/early_otherwise_branch.rs:13:24: 13:25
+          debug a => _9;                   // in scope 1 at $DIR/early_otherwise_branch.rs:+2:15: +2:16
+          debug b => _10;                  // in scope 1 at $DIR/early_otherwise_branch.rs:+2:24: +2:25
       }
   
       bb0: {
-          StorageLive(_3);                 // scope 0 at $DIR/early_otherwise_branch.rs:12:11: 12:17
-          StorageLive(_4);                 // scope 0 at $DIR/early_otherwise_branch.rs:12:12: 12:13
-          _4 = _1;                         // scope 0 at $DIR/early_otherwise_branch.rs:12:12: 12:13
-          StorageLive(_5);                 // scope 0 at $DIR/early_otherwise_branch.rs:12:15: 12:16
-          _5 = _2;                         // scope 0 at $DIR/early_otherwise_branch.rs:12:15: 12:16
-          Deinit(_3);                      // scope 0 at $DIR/early_otherwise_branch.rs:12:11: 12:17
-          (_3.0: std::option::Option<u32>) = move _4; // scope 0 at $DIR/early_otherwise_branch.rs:12:11: 12:17
-          (_3.1: std::option::Option<u32>) = move _5; // scope 0 at $DIR/early_otherwise_branch.rs:12:11: 12:17
-          StorageDead(_5);                 // scope 0 at $DIR/early_otherwise_branch.rs:12:16: 12:17
-          StorageDead(_4);                 // scope 0 at $DIR/early_otherwise_branch.rs:12:16: 12:17
-          _8 = discriminant((_3.0: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch.rs:12:11: 12:17
--         switchInt(move _8) -> [0_isize: bb1, 1_isize: bb3, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch.rs:12:5: 12:17
-+         StorageLive(_11);                // scope 0 at $DIR/early_otherwise_branch.rs:12:5: 12:17
-+         _11 = discriminant((_3.1: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch.rs:12:5: 12:17
-+         StorageLive(_12);                // scope 0 at $DIR/early_otherwise_branch.rs:12:5: 12:17
-+         _12 = Ne(_8, move _11);          // scope 0 at $DIR/early_otherwise_branch.rs:12:5: 12:17
-+         StorageDead(_11);                // scope 0 at $DIR/early_otherwise_branch.rs:12:5: 12:17
-+         switchInt(move _12) -> [false: bb5, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:12:5: 12:17
+          StorageLive(_3);                 // scope 0 at $DIR/early_otherwise_branch.rs:+1:11: +1:17
+          StorageLive(_4);                 // scope 0 at $DIR/early_otherwise_branch.rs:+1:12: +1:13
+          _4 = _1;                         // scope 0 at $DIR/early_otherwise_branch.rs:+1:12: +1:13
+          StorageLive(_5);                 // scope 0 at $DIR/early_otherwise_branch.rs:+1:15: +1:16
+          _5 = _2;                         // scope 0 at $DIR/early_otherwise_branch.rs:+1:15: +1:16
+          Deinit(_3);                      // scope 0 at $DIR/early_otherwise_branch.rs:+1:11: +1:17
+          (_3.0: std::option::Option<u32>) = move _4; // scope 0 at $DIR/early_otherwise_branch.rs:+1:11: +1:17
+          (_3.1: std::option::Option<u32>) = move _5; // scope 0 at $DIR/early_otherwise_branch.rs:+1:11: +1:17
+          StorageDead(_5);                 // scope 0 at $DIR/early_otherwise_branch.rs:+1:16: +1:17
+          StorageDead(_4);                 // scope 0 at $DIR/early_otherwise_branch.rs:+1:16: +1:17
+          _8 = discriminant((_3.0: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch.rs:+1:11: +1:17
+-         switchInt(move _8) -> [0_isize: bb1, 1_isize: bb3, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch.rs:+1:5: +1:17
++         StorageLive(_11);                // scope 0 at $DIR/early_otherwise_branch.rs:+1:5: +1:17
++         _11 = discriminant((_3.1: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch.rs:+1:5: +1:17
++         StorageLive(_12);                // scope 0 at $DIR/early_otherwise_branch.rs:+1:5: +1:17
++         _12 = Ne(_8, move _11);          // scope 0 at $DIR/early_otherwise_branch.rs:+1:5: +1:17
++         StorageDead(_11);                // scope 0 at $DIR/early_otherwise_branch.rs:+1:5: +1:17
++         switchInt(move _12) -> [false: bb5, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:+1:5: +1:17
       }
   
       bb1: {
--         _6 = discriminant((_3.1: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch.rs:12:11: 12:17
--         switchInt(move _6) -> [0_isize: bb5, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch.rs:12:5: 12:17
+-         _6 = discriminant((_3.1: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch.rs:+1:11: +1:17
+-         switchInt(move _6) -> [0_isize: bb5, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch.rs:+1:5: +1:17
 -     }
 - 
 -     bb2: {
-+         StorageDead(_12);                // scope 0 at $DIR/early_otherwise_branch.rs:15:14: 15:15
-          _0 = const 1_u32;                // scope 0 at $DIR/early_otherwise_branch.rs:15:14: 15:15
--         goto -> bb6;                     // scope 0 at $DIR/early_otherwise_branch.rs:15:14: 15:15
-+         goto -> bb4;                     // scope 0 at $DIR/early_otherwise_branch.rs:15:14: 15:15
++         StorageDead(_12);                // scope 0 at $DIR/early_otherwise_branch.rs:+4:14: +4:15
+          _0 = const 1_u32;                // scope 0 at $DIR/early_otherwise_branch.rs:+4:14: +4:15
+-         goto -> bb6;                     // scope 0 at $DIR/early_otherwise_branch.rs:+4:14: +4:15
++         goto -> bb4;                     // scope 0 at $DIR/early_otherwise_branch.rs:+4:14: +4:15
       }
   
 -     bb3: {
--         _7 = discriminant((_3.1: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch.rs:12:11: 12:17
--         switchInt(move _7) -> [1_isize: bb4, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch.rs:12:5: 12:17
+-         _7 = discriminant((_3.1: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch.rs:+1:11: +1:17
+-         switchInt(move _7) -> [1_isize: bb4, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch.rs:+1:5: +1:17
 -     }
 - 
 -     bb4: {
 +     bb2: {
-          StorageLive(_9);                 // scope 0 at $DIR/early_otherwise_branch.rs:13:15: 13:16
-          _9 = (((_3.0: std::option::Option<u32>) as Some).0: u32); // scope 0 at $DIR/early_otherwise_branch.rs:13:15: 13:16
-          StorageLive(_10);                // scope 0 at $DIR/early_otherwise_branch.rs:13:24: 13:25
-          _10 = (((_3.1: std::option::Option<u32>) as Some).0: u32); // scope 0 at $DIR/early_otherwise_branch.rs:13:24: 13:25
-          _0 = const 0_u32;                // scope 1 at $DIR/early_otherwise_branch.rs:13:31: 13:32
-          StorageDead(_10);                // scope 0 at $DIR/early_otherwise_branch.rs:13:31: 13:32
-          StorageDead(_9);                 // scope 0 at $DIR/early_otherwise_branch.rs:13:31: 13:32
--         goto -> bb6;                     // scope 0 at $DIR/early_otherwise_branch.rs:13:31: 13:32
-+         goto -> bb4;                     // scope 0 at $DIR/early_otherwise_branch.rs:13:31: 13:32
+          StorageLive(_9);                 // scope 0 at $DIR/early_otherwise_branch.rs:+2:15: +2:16
+          _9 = (((_3.0: std::option::Option<u32>) as Some).0: u32); // scope 0 at $DIR/early_otherwise_branch.rs:+2:15: +2:16
+          StorageLive(_10);                // scope 0 at $DIR/early_otherwise_branch.rs:+2:24: +2:25
+          _10 = (((_3.1: std::option::Option<u32>) as Some).0: u32); // scope 0 at $DIR/early_otherwise_branch.rs:+2:24: +2:25
+          _0 = const 0_u32;                // scope 1 at $DIR/early_otherwise_branch.rs:+2:31: +2:32
+          StorageDead(_10);                // scope 0 at $DIR/early_otherwise_branch.rs:+2:31: +2:32
+          StorageDead(_9);                 // scope 0 at $DIR/early_otherwise_branch.rs:+2:31: +2:32
+-         goto -> bb6;                     // scope 0 at $DIR/early_otherwise_branch.rs:+2:31: +2:32
++         goto -> bb4;                     // scope 0 at $DIR/early_otherwise_branch.rs:+2:31: +2:32
       }
   
 -     bb5: {
 +     bb3: {
-          _0 = const 0_u32;                // scope 0 at $DIR/early_otherwise_branch.rs:14:25: 14:26
--         goto -> bb6;                     // scope 0 at $DIR/early_otherwise_branch.rs:14:25: 14:26
-+         goto -> bb4;                     // scope 0 at $DIR/early_otherwise_branch.rs:14:25: 14:26
+          _0 = const 0_u32;                // scope 0 at $DIR/early_otherwise_branch.rs:+3:25: +3:26
+-         goto -> bb6;                     // scope 0 at $DIR/early_otherwise_branch.rs:+3:25: +3:26
++         goto -> bb4;                     // scope 0 at $DIR/early_otherwise_branch.rs:+3:25: +3:26
       }
   
 -     bb6: {
 +     bb4: {
-          StorageDead(_3);                 // scope 0 at $DIR/early_otherwise_branch.rs:17:1: 17:2
-          return;                          // scope 0 at $DIR/early_otherwise_branch.rs:17:2: 17:2
+          StorageDead(_3);                 // scope 0 at $DIR/early_otherwise_branch.rs:+6:1: +6:2
+          return;                          // scope 0 at $DIR/early_otherwise_branch.rs:+6:2: +6:2
 +     }
 + 
 +     bb5: {
-+         StorageDead(_12);                // scope 0 at $DIR/early_otherwise_branch.rs:12:5: 12:17
-+         switchInt(_8) -> [0_isize: bb3, 1_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:12:5: 12:17
++         StorageDead(_12);                // scope 0 at $DIR/early_otherwise_branch.rs:+1:5: +1:17
++         switchInt(_8) -> [0_isize: bb3, 1_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:+1:5: +1:17
       }
   }
   
index 96c7e46853f145d994797691c16b078868156316..309a72ae58b68d19fd25dad179090f67508f318e 100644 (file)
@@ -2,77 +2,77 @@
 + // MIR for `opt3` after EarlyOtherwiseBranch
   
   fn opt3(_1: Option<u32>, _2: Option<bool>) -> u32 {
-      debug x => _1;                       // in scope 0 at $DIR/early_otherwise_branch.rs:21:9: 21:10
-      debug y => _2;                       // in scope 0 at $DIR/early_otherwise_branch.rs:21:25: 21:26
-      let mut _0: u32;                     // return place in scope 0 at $DIR/early_otherwise_branch.rs:21:45: 21:48
-      let mut _3: (std::option::Option<u32>, std::option::Option<bool>); // in scope 0 at $DIR/early_otherwise_branch.rs:22:11: 22:17
-      let mut _4: std::option::Option<u32>; // in scope 0 at $DIR/early_otherwise_branch.rs:22:12: 22:13
-      let mut _5: std::option::Option<bool>; // in scope 0 at $DIR/early_otherwise_branch.rs:22:15: 22:16
-      let mut _6: isize;                   // in scope 0 at $DIR/early_otherwise_branch.rs:23:19: 23:26
-      let mut _7: isize;                   // in scope 0 at $DIR/early_otherwise_branch.rs:23:10: 23:17
-      let _8: u32;                         // in scope 0 at $DIR/early_otherwise_branch.rs:23:15: 23:16
-      let _9: bool;                        // in scope 0 at $DIR/early_otherwise_branch.rs:23:24: 23:25
-+     let mut _10: isize;                  // in scope 0 at $DIR/early_otherwise_branch.rs:22:5: 22:17
-+     let mut _11: bool;                   // in scope 0 at $DIR/early_otherwise_branch.rs:22:5: 22:17
+      debug x => _1;                       // in scope 0 at $DIR/early_otherwise_branch.rs:+0:9: +0:10
+      debug y => _2;                       // in scope 0 at $DIR/early_otherwise_branch.rs:+0:25: +0:26
+      let mut _0: u32;                     // return place in scope 0 at $DIR/early_otherwise_branch.rs:+0:45: +0:48
+      let mut _3: (std::option::Option<u32>, std::option::Option<bool>); // in scope 0 at $DIR/early_otherwise_branch.rs:+1:11: +1:17
+      let mut _4: std::option::Option<u32>; // in scope 0 at $DIR/early_otherwise_branch.rs:+1:12: +1:13
+      let mut _5: std::option::Option<bool>; // in scope 0 at $DIR/early_otherwise_branch.rs:+1:15: +1:16
+      let mut _6: isize;                   // in scope 0 at $DIR/early_otherwise_branch.rs:+2:19: +2:26
+      let mut _7: isize;                   // in scope 0 at $DIR/early_otherwise_branch.rs:+2:10: +2:17
+      let _8: u32;                         // in scope 0 at $DIR/early_otherwise_branch.rs:+2:15: +2:16
+      let _9: bool;                        // in scope 0 at $DIR/early_otherwise_branch.rs:+2:24: +2:25
++     let mut _10: isize;                  // in scope 0 at $DIR/early_otherwise_branch.rs:+1:5: +1:17
++     let mut _11: bool;                   // in scope 0 at $DIR/early_otherwise_branch.rs:+1:5: +1:17
       scope 1 {
-          debug a => _8;                   // in scope 1 at $DIR/early_otherwise_branch.rs:23:15: 23:16
-          debug b => _9;                   // in scope 1 at $DIR/early_otherwise_branch.rs:23:24: 23:25
+          debug a => _8;                   // in scope 1 at $DIR/early_otherwise_branch.rs:+2:15: +2:16
+          debug b => _9;                   // in scope 1 at $DIR/early_otherwise_branch.rs:+2:24: +2:25
       }
   
       bb0: {
-          StorageLive(_3);                 // scope 0 at $DIR/early_otherwise_branch.rs:22:11: 22:17
-          StorageLive(_4);                 // scope 0 at $DIR/early_otherwise_branch.rs:22:12: 22:13
-          _4 = _1;                         // scope 0 at $DIR/early_otherwise_branch.rs:22:12: 22:13
-          StorageLive(_5);                 // scope 0 at $DIR/early_otherwise_branch.rs:22:15: 22:16
-          _5 = _2;                         // scope 0 at $DIR/early_otherwise_branch.rs:22:15: 22:16
-          Deinit(_3);                      // scope 0 at $DIR/early_otherwise_branch.rs:22:11: 22:17
-          (_3.0: std::option::Option<u32>) = move _4; // scope 0 at $DIR/early_otherwise_branch.rs:22:11: 22:17
-          (_3.1: std::option::Option<bool>) = move _5; // scope 0 at $DIR/early_otherwise_branch.rs:22:11: 22:17
-          StorageDead(_5);                 // scope 0 at $DIR/early_otherwise_branch.rs:22:16: 22:17
-          StorageDead(_4);                 // scope 0 at $DIR/early_otherwise_branch.rs:22:16: 22:17
-          _7 = discriminant((_3.0: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch.rs:22:11: 22:17
--         switchInt(move _7) -> [1_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:22:5: 22:17
-+         StorageLive(_10);                // scope 0 at $DIR/early_otherwise_branch.rs:22:5: 22:17
-+         _10 = discriminant((_3.1: std::option::Option<bool>)); // scope 0 at $DIR/early_otherwise_branch.rs:22:5: 22:17
-+         StorageLive(_11);                // scope 0 at $DIR/early_otherwise_branch.rs:22:5: 22:17
-+         _11 = Ne(_7, move _10);          // scope 0 at $DIR/early_otherwise_branch.rs:22:5: 22:17
-+         StorageDead(_10);                // scope 0 at $DIR/early_otherwise_branch.rs:22:5: 22:17
-+         switchInt(move _11) -> [false: bb4, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:22:5: 22:17
+          StorageLive(_3);                 // scope 0 at $DIR/early_otherwise_branch.rs:+1:11: +1:17
+          StorageLive(_4);                 // scope 0 at $DIR/early_otherwise_branch.rs:+1:12: +1:13
+          _4 = _1;                         // scope 0 at $DIR/early_otherwise_branch.rs:+1:12: +1:13
+          StorageLive(_5);                 // scope 0 at $DIR/early_otherwise_branch.rs:+1:15: +1:16
+          _5 = _2;                         // scope 0 at $DIR/early_otherwise_branch.rs:+1:15: +1:16
+          Deinit(_3);                      // scope 0 at $DIR/early_otherwise_branch.rs:+1:11: +1:17
+          (_3.0: std::option::Option<u32>) = move _4; // scope 0 at $DIR/early_otherwise_branch.rs:+1:11: +1:17
+          (_3.1: std::option::Option<bool>) = move _5; // scope 0 at $DIR/early_otherwise_branch.rs:+1:11: +1:17
+          StorageDead(_5);                 // scope 0 at $DIR/early_otherwise_branch.rs:+1:16: +1:17
+          StorageDead(_4);                 // scope 0 at $DIR/early_otherwise_branch.rs:+1:16: +1:17
+          _7 = discriminant((_3.0: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch.rs:+1:11: +1:17
+-         switchInt(move _7) -> [1_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:+1:5: +1:17
++         StorageLive(_10);                // scope 0 at $DIR/early_otherwise_branch.rs:+1:5: +1:17
++         _10 = discriminant((_3.1: std::option::Option<bool>)); // scope 0 at $DIR/early_otherwise_branch.rs:+1:5: +1:17
++         StorageLive(_11);                // scope 0 at $DIR/early_otherwise_branch.rs:+1:5: +1:17
++         _11 = Ne(_7, move _10);          // scope 0 at $DIR/early_otherwise_branch.rs:+1:5: +1:17
++         StorageDead(_10);                // scope 0 at $DIR/early_otherwise_branch.rs:+1:5: +1:17
++         switchInt(move _11) -> [false: bb4, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:+1:5: +1:17
       }
   
       bb1: {
-+         StorageDead(_11);                // scope 0 at $DIR/early_otherwise_branch.rs:24:14: 24:15
-          _0 = const 1_u32;                // scope 0 at $DIR/early_otherwise_branch.rs:24:14: 24:15
--         goto -> bb4;                     // scope 0 at $DIR/early_otherwise_branch.rs:24:14: 24:15
-+         goto -> bb3;                     // scope 0 at $DIR/early_otherwise_branch.rs:24:14: 24:15
++         StorageDead(_11);                // scope 0 at $DIR/early_otherwise_branch.rs:+3:14: +3:15
+          _0 = const 1_u32;                // scope 0 at $DIR/early_otherwise_branch.rs:+3:14: +3:15
+-         goto -> bb4;                     // scope 0 at $DIR/early_otherwise_branch.rs:+3:14: +3:15
++         goto -> bb3;                     // scope 0 at $DIR/early_otherwise_branch.rs:+3:14: +3:15
       }
   
       bb2: {
--         _6 = discriminant((_3.1: std::option::Option<bool>)); // scope 0 at $DIR/early_otherwise_branch.rs:22:11: 22:17
--         switchInt(move _6) -> [1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:22:5: 22:17
+-         _6 = discriminant((_3.1: std::option::Option<bool>)); // scope 0 at $DIR/early_otherwise_branch.rs:+1:11: +1:17
+-         switchInt(move _6) -> [1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:+1:5: +1:17
 -     }
 - 
 -     bb3: {
-          StorageLive(_8);                 // scope 0 at $DIR/early_otherwise_branch.rs:23:15: 23:16
-          _8 = (((_3.0: std::option::Option<u32>) as Some).0: u32); // scope 0 at $DIR/early_otherwise_branch.rs:23:15: 23:16
-          StorageLive(_9);                 // scope 0 at $DIR/early_otherwise_branch.rs:23:24: 23:25
-          _9 = (((_3.1: std::option::Option<bool>) as Some).0: bool); // scope 0 at $DIR/early_otherwise_branch.rs:23:24: 23:25
-          _0 = const 0_u32;                // scope 1 at $DIR/early_otherwise_branch.rs:23:31: 23:32
-          StorageDead(_9);                 // scope 0 at $DIR/early_otherwise_branch.rs:23:31: 23:32
-          StorageDead(_8);                 // scope 0 at $DIR/early_otherwise_branch.rs:23:31: 23:32
--         goto -> bb4;                     // scope 0 at $DIR/early_otherwise_branch.rs:23:31: 23:32
-+         goto -> bb3;                     // scope 0 at $DIR/early_otherwise_branch.rs:23:31: 23:32
+          StorageLive(_8);                 // scope 0 at $DIR/early_otherwise_branch.rs:+2:15: +2:16
+          _8 = (((_3.0: std::option::Option<u32>) as Some).0: u32); // scope 0 at $DIR/early_otherwise_branch.rs:+2:15: +2:16
+          StorageLive(_9);                 // scope 0 at $DIR/early_otherwise_branch.rs:+2:24: +2:25
+          _9 = (((_3.1: std::option::Option<bool>) as Some).0: bool); // scope 0 at $DIR/early_otherwise_branch.rs:+2:24: +2:25
+          _0 = const 0_u32;                // scope 1 at $DIR/early_otherwise_branch.rs:+2:31: +2:32
+          StorageDead(_9);                 // scope 0 at $DIR/early_otherwise_branch.rs:+2:31: +2:32
+          StorageDead(_8);                 // scope 0 at $DIR/early_otherwise_branch.rs:+2:31: +2:32
+-         goto -> bb4;                     // scope 0 at $DIR/early_otherwise_branch.rs:+2:31: +2:32
++         goto -> bb3;                     // scope 0 at $DIR/early_otherwise_branch.rs:+2:31: +2:32
       }
   
 -     bb4: {
 +     bb3: {
-          StorageDead(_3);                 // scope 0 at $DIR/early_otherwise_branch.rs:26:1: 26:2
-          return;                          // scope 0 at $DIR/early_otherwise_branch.rs:26:2: 26:2
+          StorageDead(_3);                 // scope 0 at $DIR/early_otherwise_branch.rs:+5:1: +5:2
+          return;                          // scope 0 at $DIR/early_otherwise_branch.rs:+5:2: +5:2
 +     }
 + 
 +     bb4: {
-+         StorageDead(_11);                // scope 0 at $DIR/early_otherwise_branch.rs:22:5: 22:17
-+         switchInt(_7) -> [1_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:22:5: 22:17
++         StorageDead(_11);                // scope 0 at $DIR/early_otherwise_branch.rs:+1:5: +1:17
++         switchInt(_7) -> [1_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:+1:5: +1:17
       }
   }
   
index 379d0e9ea48b38ff83254fe909f836fa8a0c1e46..9574f32f7f06bd2c28b7d683a936add26f1f5ef7 100644 (file)
@@ -2,99 +2,99 @@
 + // MIR for `opt1` after EarlyOtherwiseBranch
   
   fn opt1(_1: Option<u32>, _2: Option<u32>, _3: Option<u32>) -> u32 {
-      debug x => _1;                       // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:4:9: 4:10
-      debug y => _2;                       // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:4:25: 4:26
-      debug z => _3;                       // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:4:41: 4:42
-      let mut _0: u32;                     // return place in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:4:60: 4:63
-      let mut _4: (std::option::Option<u32>, std::option::Option<u32>, std::option::Option<u32>); // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:11: 5:20
-      let mut _5: std::option::Option<u32>; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:12: 5:13
-      let mut _6: std::option::Option<u32>; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:15: 5:16
-      let mut _7: std::option::Option<u32>; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:18: 5:19
-      let mut _8: isize;                   // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:28: 6:35
-      let mut _9: isize;                   // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:19: 6:26
-      let mut _10: isize;                  // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:10: 6:17
-      let _11: u32;                        // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:15: 6:16
-      let _12: u32;                        // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:24: 6:25
-      let _13: u32;                        // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:33: 6:34
-+     let mut _14: isize;                  // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:5: 5:20
-+     let mut _15: bool;                   // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:5: 5:20
-+     let mut _16: isize;                  // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:5: 5:20
-+     let mut _17: bool;                   // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:5: 5:20
+      debug x => _1;                       // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+0:9: +0:10
+      debug y => _2;                       // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+0:25: +0:26
+      debug z => _3;                       // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+0:41: +0:42
+      let mut _0: u32;                     // return place in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+0:60: +0:63
+      let mut _4: (std::option::Option<u32>, std::option::Option<u32>, std::option::Option<u32>); // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+1:11: +1:20
+      let mut _5: std::option::Option<u32>; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+1:12: +1:13
+      let mut _6: std::option::Option<u32>; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+1:15: +1:16
+      let mut _7: std::option::Option<u32>; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+1:18: +1:19
+      let mut _8: isize;                   // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+2:28: +2:35
+      let mut _9: isize;                   // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+2:19: +2:26
+      let mut _10: isize;                  // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+2:10: +2:17
+      let _11: u32;                        // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+2:15: +2:16
+      let _12: u32;                        // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+2:24: +2:25
+      let _13: u32;                        // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+2:33: +2:34
++     let mut _14: isize;                  // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+1:5: +1:20
++     let mut _15: bool;                   // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+1:5: +1:20
++     let mut _16: isize;                  // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+1:5: +1:20
++     let mut _17: bool;                   // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+1:5: +1:20
       scope 1 {
-          debug a => _11;                  // in scope 1 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:15: 6:16
-          debug b => _12;                  // in scope 1 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:24: 6:25
-          debug c => _13;                  // in scope 1 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:33: 6:34
+          debug a => _11;                  // in scope 1 at $DIR/early_otherwise_branch_3_element_tuple.rs:+2:15: +2:16
+          debug b => _12;                  // in scope 1 at $DIR/early_otherwise_branch_3_element_tuple.rs:+2:24: +2:25
+          debug c => _13;                  // in scope 1 at $DIR/early_otherwise_branch_3_element_tuple.rs:+2:33: +2:34
       }
   
       bb0: {
-          StorageLive(_4);                 // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:11: 5:20
-          StorageLive(_5);                 // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:12: 5:13
-          _5 = _1;                         // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:12: 5:13
-          StorageLive(_6);                 // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:15: 5:16
-          _6 = _2;                         // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:15: 5:16
-          StorageLive(_7);                 // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:18: 5:19
-          _7 = _3;                         // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:18: 5:19
-          Deinit(_4);                      // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:11: 5:20
-          (_4.0: std::option::Option<u32>) = move _5; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:11: 5:20
-          (_4.1: std::option::Option<u32>) = move _6; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:11: 5:20
-          (_4.2: std::option::Option<u32>) = move _7; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:11: 5:20
-          StorageDead(_7);                 // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:19: 5:20
-          StorageDead(_6);                 // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:19: 5:20
-          StorageDead(_5);                 // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:19: 5:20
-          _10 = discriminant((_4.0: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:11: 5:20
--         switchInt(move _10) -> [1_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:5: 5:20
-+         StorageLive(_14);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:5: 5:20
-+         _14 = discriminant((_4.1: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:5: 5:20
-+         StorageLive(_15);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:5: 5:20
-+         _15 = Ne(_10, move _14);         // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:5: 5:20
-+         StorageDead(_14);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:5: 5:20
-+         switchInt(move _15) -> [false: bb5, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:5: 5:20
+          StorageLive(_4);                 // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+1:11: +1:20
+          StorageLive(_5);                 // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+1:12: +1:13
+          _5 = _1;                         // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+1:12: +1:13
+          StorageLive(_6);                 // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+1:15: +1:16
+          _6 = _2;                         // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+1:15: +1:16
+          StorageLive(_7);                 // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+1:18: +1:19
+          _7 = _3;                         // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+1:18: +1:19
+          Deinit(_4);                      // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+1:11: +1:20
+          (_4.0: std::option::Option<u32>) = move _5; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+1:11: +1:20
+          (_4.1: std::option::Option<u32>) = move _6; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+1:11: +1:20
+          (_4.2: std::option::Option<u32>) = move _7; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+1:11: +1:20
+          StorageDead(_7);                 // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+1:19: +1:20
+          StorageDead(_6);                 // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+1:19: +1:20
+          StorageDead(_5);                 // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+1:19: +1:20
+          _10 = discriminant((_4.0: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+1:11: +1:20
+-         switchInt(move _10) -> [1_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+1:5: +1:20
++         StorageLive(_14);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+1:5: +1:20
++         _14 = discriminant((_4.1: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+1:5: +1:20
++         StorageLive(_15);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+1:5: +1:20
++         _15 = Ne(_10, move _14);         // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+1:5: +1:20
++         StorageDead(_14);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+1:5: +1:20
++         switchInt(move _15) -> [false: bb5, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+1:5: +1:20
       }
   
       bb1: {
-+         StorageDead(_17);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:14: 7:15
-+         StorageDead(_15);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:14: 7:15
-          _0 = const 1_u32;                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:14: 7:15
--         goto -> bb5;                     // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:14: 7:15
-+         goto -> bb4;                     // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:14: 7:15
++         StorageDead(_17);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+3:14: +3:15
++         StorageDead(_15);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+3:14: +3:15
+          _0 = const 1_u32;                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+3:14: +3:15
+-         goto -> bb5;                     // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+3:14: +3:15
++         goto -> bb4;                     // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+3:14: +3:15
       }
   
       bb2: {
--         _9 = discriminant((_4.1: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:11: 5:20
--         switchInt(move _9) -> [1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:5: 5:20
+-         _9 = discriminant((_4.1: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+1:11: +1:20
+-         switchInt(move _9) -> [1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+1:5: +1:20
 -     }
 - 
 -     bb3: {
-          _8 = discriminant((_4.2: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:11: 5:20
--         switchInt(move _8) -> [1_isize: bb4, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:5: 5:20
-+         switchInt(move _8) -> [1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:5: 5:20
+          _8 = discriminant((_4.2: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+1:11: +1:20
+-         switchInt(move _8) -> [1_isize: bb4, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+1:5: +1:20
++         switchInt(move _8) -> [1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+1:5: +1:20
       }
   
 -     bb4: {
 +     bb3: {
-          StorageLive(_11);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:15: 6:16
-          _11 = (((_4.0: std::option::Option<u32>) as Some).0: u32); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:15: 6:16
-          StorageLive(_12);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:24: 6:25
-          _12 = (((_4.1: std::option::Option<u32>) as Some).0: u32); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:24: 6:25
-          StorageLive(_13);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:33: 6:34
-          _13 = (((_4.2: std::option::Option<u32>) as Some).0: u32); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:33: 6:34
-          _0 = const 0_u32;                // scope 1 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:40: 6:41
-          StorageDead(_13);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:40: 6:41
-          StorageDead(_12);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:40: 6:41
-          StorageDead(_11);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:40: 6:41
--         goto -> bb5;                     // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:40: 6:41
-+         goto -> bb4;                     // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:40: 6:41
+          StorageLive(_11);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+2:15: +2:16
+          _11 = (((_4.0: std::option::Option<u32>) as Some).0: u32); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+2:15: +2:16
+          StorageLive(_12);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+2:24: +2:25
+          _12 = (((_4.1: std::option::Option<u32>) as Some).0: u32); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+2:24: +2:25
+          StorageLive(_13);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+2:33: +2:34
+          _13 = (((_4.2: std::option::Option<u32>) as Some).0: u32); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+2:33: +2:34
+          _0 = const 0_u32;                // scope 1 at $DIR/early_otherwise_branch_3_element_tuple.rs:+2:40: +2:41
+          StorageDead(_13);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+2:40: +2:41
+          StorageDead(_12);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+2:40: +2:41
+          StorageDead(_11);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+2:40: +2:41
+-         goto -> bb5;                     // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+2:40: +2:41
++         goto -> bb4;                     // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+2:40: +2:41
       }
   
 -     bb5: {
 +     bb4: {
-          StorageDead(_4);                 // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:9:1: 9:2
-          return;                          // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:9:2: 9:2
+          StorageDead(_4);                 // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+5:1: +5:2
+          return;                          // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+5:2: +5:2
 +     }
 + 
 +     bb5: {
-+         StorageDead(_15);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:5: 5:20
-+         switchInt(_10) -> [1_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:5: 5:20
++         StorageDead(_15);                // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+1:5: +1:20
++         switchInt(_10) -> [1_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:+1:5: +1:20
       }
   }
   
index 988694000ee996c6d141a8dcc348f6ccfdfc4325..4e6852ad7b6a57c0a3ddb5b8488488fea52a9b40 100644 (file)
 + // MIR for `try_sum` after SimplifyConstCondition-final
   
   fn try_sum(_1: &ViewportPercentageLength, _2: &ViewportPercentageLength) -> Result<ViewportPercentageLength, ()> {
-      debug x => _1;                       // in scope 0 at $DIR/early_otherwise_branch_68867.rs:17:5: 17:6
-      debug other => _2;                   // in scope 0 at $DIR/early_otherwise_branch_68867.rs:18:5: 18:10
-      let mut _0: std::result::Result<ViewportPercentageLength, ()>; // return place in scope 0 at $DIR/early_otherwise_branch_68867.rs:19:6: 19:42
-      let mut _3: ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:21:8: 27:6
-      let mut _4: (&ViewportPercentageLength, &ViewportPercentageLength); // in scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-      let mut _5: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:21:15: 21:16
-      let mut _6: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:21:18: 21:23
-      let mut _7: isize;                   // in scope 0 at $DIR/early_otherwise_branch_68867.rs:22:21: 22:30
-      let mut _8: isize;                   // in scope 0 at $DIR/early_otherwise_branch_68867.rs:23:21: 23:30
-      let mut _9: isize;                   // in scope 0 at $DIR/early_otherwise_branch_68867.rs:24:23: 24:34
-      let mut _10: isize;                  // in scope 0 at $DIR/early_otherwise_branch_68867.rs:25:23: 25:34
-      let mut _11: isize;                  // in scope 0 at $DIR/early_otherwise_branch_68867.rs:22:11: 22:18
-      let _12: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:22:14: 22:17
-      let _13: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:22:24: 22:29
-      let mut _14: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:22:38: 22:49
-      let mut _15: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:22:38: 22:41
-      let mut _16: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:22:44: 22:49
-      let _17: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:23:14: 23:17
-      let _18: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:23:24: 23:29
-      let mut _19: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:23:38: 23:49
-      let mut _20: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:23:38: 23:41
-      let mut _21: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:23:44: 23:49
-      let _22: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:24:16: 24:19
-      let _23: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:24:28: 24:33
-      let mut _24: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:24:44: 24:55
-      let mut _25: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:24:44: 24:47
-      let mut _26: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:24:50: 24:55
-      let _27: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:25:16: 25:19
-      let _28: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:25:28: 25:33
-      let mut _29: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:25:44: 25:55
-      let mut _30: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:25:44: 25:47
-      let mut _31: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:25:50: 25:55
-      let mut _32: !;                      // in scope 0 at $DIR/early_otherwise_branch_68867.rs:26:14: 26:28
-      let mut _33: ();                     // in scope 0 at $DIR/early_otherwise_branch_68867.rs:26:25: 26:27
-      let mut _34: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-      let mut _35: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-      let mut _36: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-      let mut _37: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-      let mut _38: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-      let mut _39: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-      let mut _40: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-      let mut _41: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-      let mut _42: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-      let mut _43: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-      let mut _44: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-      let mut _45: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-      let mut _46: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
+      debug x => _1;                       // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+1:5: +1:6
+      debug other => _2;                   // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+2:5: +2:10
+      let mut _0: std::result::Result<ViewportPercentageLength, ()>; // return place in scope 0 at $DIR/early_otherwise_branch_68867.rs:+3:6: +3:42
+      let mut _3: ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:8: +11:6
+      let mut _4: (&ViewportPercentageLength, &ViewportPercentageLength); // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+      let mut _5: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:15: +5:16
+      let mut _6: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:18: +5:23
+      let mut _7: isize;                   // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:21: +6:30
+      let mut _8: isize;                   // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+7:21: +7:30
+      let mut _9: isize;                   // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+8:23: +8:34
+      let mut _10: isize;                  // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+9:23: +9:34
+      let mut _11: isize;                  // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:11: +6:18
+      let _12: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:14: +6:17
+      let _13: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:24: +6:29
+      let mut _14: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:38: +6:49
+      let mut _15: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:38: +6:41
+      let mut _16: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:44: +6:49
+      let _17: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+7:14: +7:17
+      let _18: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+7:24: +7:29
+      let mut _19: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+7:38: +7:49
+      let mut _20: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+7:38: +7:41
+      let mut _21: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+7:44: +7:49
+      let _22: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+8:16: +8:19
+      let _23: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+8:28: +8:33
+      let mut _24: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+8:44: +8:55
+      let mut _25: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+8:44: +8:47
+      let mut _26: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+8:50: +8:55
+      let _27: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+9:16: +9:19
+      let _28: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+9:28: +9:33
+      let mut _29: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+9:44: +9:55
+      let mut _30: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+9:44: +9:47
+      let mut _31: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+9:50: +9:55
+      let mut _32: !;                      // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+10:14: +10:28
+      let mut _33: ();                     // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+10:25: +10:27
+      let mut _34: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+      let mut _35: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+      let mut _36: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+      let mut _37: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+      let mut _38: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+      let mut _39: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+      let mut _40: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+      let mut _41: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+      let mut _42: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+      let mut _43: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+      let mut _44: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+      let mut _45: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+      let mut _46: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
       scope 1 {
--         debug one => _12;                // in scope 1 at $DIR/early_otherwise_branch_68867.rs:22:14: 22:17
--         debug other => _13;              // in scope 1 at $DIR/early_otherwise_branch_68867.rs:22:24: 22:29
-+         debug one => _15;                // in scope 1 at $DIR/early_otherwise_branch_68867.rs:22:14: 22:17
-+         debug other => _16;              // in scope 1 at $DIR/early_otherwise_branch_68867.rs:22:24: 22:29
+-         debug one => _12;                // in scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:14: +6:17
+-         debug other => _13;              // in scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:24: +6:29
++         debug one => _15;                // in scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:14: +6:17
++         debug other => _16;              // in scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:24: +6:29
       }
       scope 2 {
--         debug one => _17;                // in scope 2 at $DIR/early_otherwise_branch_68867.rs:23:14: 23:17
--         debug other => _18;              // in scope 2 at $DIR/early_otherwise_branch_68867.rs:23:24: 23:29
-+         debug one => _20;                // in scope 2 at $DIR/early_otherwise_branch_68867.rs:23:14: 23:17
-+         debug other => _21;              // in scope 2 at $DIR/early_otherwise_branch_68867.rs:23:24: 23:29
+-         debug one => _17;                // in scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:14: +7:17
+-         debug other => _18;              // in scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:24: +7:29
++         debug one => _20;                // in scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:14: +7:17
++         debug other => _21;              // in scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:24: +7:29
       }
       scope 3 {
--         debug one => _22;                // in scope 3 at $DIR/early_otherwise_branch_68867.rs:24:16: 24:19
--         debug other => _23;              // in scope 3 at $DIR/early_otherwise_branch_68867.rs:24:28: 24:33
-+         debug one => _25;                // in scope 3 at $DIR/early_otherwise_branch_68867.rs:24:16: 24:19
-+         debug other => _26;              // in scope 3 at $DIR/early_otherwise_branch_68867.rs:24:28: 24:33
+-         debug one => _22;                // in scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:16: +8:19
+-         debug other => _23;              // in scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:28: +8:33
++         debug one => _25;                // in scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:16: +8:19
++         debug other => _26;              // in scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:28: +8:33
       }
       scope 4 {
--         debug one => _27;                // in scope 4 at $DIR/early_otherwise_branch_68867.rs:25:16: 25:19
--         debug other => _28;              // in scope 4 at $DIR/early_otherwise_branch_68867.rs:25:28: 25:33
-+         debug one => _30;                // in scope 4 at $DIR/early_otherwise_branch_68867.rs:25:16: 25:19
-+         debug other => _31;              // in scope 4 at $DIR/early_otherwise_branch_68867.rs:25:28: 25:33
+-         debug one => _27;                // in scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:16: +9:19
+-         debug other => _28;              // in scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:28: +9:33
++         debug one => _30;                // in scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:16: +9:19
++         debug other => _31;              // in scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:28: +9:33
       }
   
       bb0: {
--         StorageLive(_3);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:8: 27:6
--         StorageLive(_4);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
--         StorageLive(_5);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:15: 21:16
--         _5 = _1;                         // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:15: 21:16
-+         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:8: 27:6
-+         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-+         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:15: 21:16
-+         (_4.0: &ViewportPercentageLength) = _1; // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:15: 21:16
-          StorageLive(_6);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:18: 21:23
-          _6 = _2;                         // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:18: 21:23
-          Deinit(_4);                      // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
--         (_4.0: &ViewportPercentageLength) = move _5; // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-+         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-          (_4.1: &ViewportPercentageLength) = move _6; // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-          StorageDead(_6);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:23: 21:24
--         StorageDead(_5);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:23: 21:24
-+         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:23: 21:24
-          StorageLive(_34);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-          _34 = deref_copy (_4.0: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-          _11 = discriminant((*_34));      // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-          StorageDead(_34);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:8: 21:24
-          switchInt(move _11) -> [0_isize: bb1, 1_isize: bb3, 2_isize: bb4, 3_isize: bb5, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:8: 21:24
+-         StorageLive(_3);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:8: +11:6
+-         StorageLive(_4);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+-         StorageLive(_5);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:15: +5:16
+-         _5 = _1;                         // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:15: +5:16
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:8: +11:6
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:15: +5:16
++         (_4.0: &ViewportPercentageLength) = _1; // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:15: +5:16
+          StorageLive(_6);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:18: +5:23
+          _6 = _2;                         // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:18: +5:23
+          Deinit(_4);                      // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+-         (_4.0: &ViewportPercentageLength) = move _5; // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+          (_4.1: &ViewportPercentageLength) = move _6; // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+          StorageDead(_6);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:23: +5:24
+-         StorageDead(_5);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:23: +5:24
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:23: +5:24
+          StorageLive(_34);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+          _34 = deref_copy (_4.0: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+          _11 = discriminant((*_34));      // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+          StorageDead(_34);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:8: +5:24
+          switchInt(move _11) -> [0_isize: bb1, 1_isize: bb3, 2_isize: bb4, 3_isize: bb5, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:8: +5:24
       }
   
       bb1: {
-          StorageLive(_35);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-          _35 = deref_copy (_4.1: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-          _7 = discriminant((*_35));       // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-          StorageDead(_35);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:8: 21:24
-          switchInt(move _7) -> [0_isize: bb6, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:8: 21:24
+          StorageLive(_35);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+          _35 = deref_copy (_4.1: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+          _7 = discriminant((*_35));       // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+          StorageDead(_35);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:8: +5:24
+          switchInt(move _7) -> [0_isize: bb6, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:8: +5:24
       }
   
       bb2: {
-          StorageLive(_33);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:26:25: 26:27
-          nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:26:25: 26:27
-          Deinit(_0);                      // scope 0 at $DIR/early_otherwise_branch_68867.rs:26:21: 26:28
-          nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:26:21: 26:28
-          discriminant(_0) = 1;            // scope 0 at $DIR/early_otherwise_branch_68867.rs:26:21: 26:28
-          StorageDead(_33);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:26:27: 26:28
--         StorageDead(_3);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:27:6: 27:7
--         StorageDead(_4);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:28:1: 28:2
-+         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:27:6: 27:7
-+         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:28:1: 28:2
-          return;                          // scope 0 at $DIR/early_otherwise_branch_68867.rs:28:2: 28:2
+          StorageLive(_33);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+10:25: +10:27
+          nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:+10:25: +10:27
+          Deinit(_0);                      // scope 0 at $DIR/early_otherwise_branch_68867.rs:+10:21: +10:28
+          nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:+10:21: +10:28
+          discriminant(_0) = 1;            // scope 0 at $DIR/early_otherwise_branch_68867.rs:+10:21: +10:28
+          StorageDead(_33);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+10:27: +10:28
+-         StorageDead(_3);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:+11:6: +11:7
+-         StorageDead(_4);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:+12:1: +12:2
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:+11:6: +11:7
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:+12:1: +12:2
+          return;                          // scope 0 at $DIR/early_otherwise_branch_68867.rs:+12:2: +12:2
       }
   
       bb3: {
-          StorageLive(_36);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-          _36 = deref_copy (_4.1: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-          _8 = discriminant((*_36));       // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-          StorageDead(_36);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:8: 21:24
-          switchInt(move _8) -> [1_isize: bb7, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:8: 21:24
+          StorageLive(_36);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+          _36 = deref_copy (_4.1: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+          _8 = discriminant((*_36));       // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+          StorageDead(_36);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:8: +5:24
+          switchInt(move _8) -> [1_isize: bb7, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:8: +5:24
       }
   
       bb4: {
-          StorageLive(_37);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-          _37 = deref_copy (_4.1: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-          _9 = discriminant((*_37));       // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-          StorageDead(_37);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:8: 21:24
-          switchInt(move _9) -> [2_isize: bb8, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:8: 21:24
+          StorageLive(_37);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+          _37 = deref_copy (_4.1: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+          _9 = discriminant((*_37));       // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+          StorageDead(_37);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:8: +5:24
+          switchInt(move _9) -> [2_isize: bb8, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:8: +5:24
       }
   
       bb5: {
-          StorageLive(_38);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-          _38 = deref_copy (_4.1: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-          _10 = discriminant((*_38));      // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-          StorageDead(_38);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:8: 21:24
-          switchInt(move _10) -> [3_isize: bb9, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:8: 21:24
+          StorageLive(_38);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+          _38 = deref_copy (_4.1: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+          _10 = discriminant((*_38));      // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+          StorageDead(_38);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:8: +5:24
+          switchInt(move _10) -> [3_isize: bb9, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:8: +5:24
       }
   
       bb6: {
--         StorageLive(_12);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:14: 22:17
-+         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:14: 22:17
-          StorageLive(_39);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:14: 22:17
-          _39 = deref_copy (_4.0: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:14: 22:17
--         _12 = (((*_39) as Vw).0: f32);   // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:14: 22:17
-+         _15 = (((*_39) as Vw).0: f32);   // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:14: 22:17
-          StorageDead(_39);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:24: 22:29
--         StorageLive(_13);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:24: 22:29
-+         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:24: 22:29
-          StorageLive(_40);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:24: 22:29
-          _40 = deref_copy (_4.1: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:24: 22:29
--         _13 = (((*_40) as Vw).0: f32);   // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:24: 22:29
-+         _16 = (((*_40) as Vw).0: f32);   // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:24: 22:29
-          StorageDead(_40);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:22:38: 22:49
--         StorageLive(_14);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:22:38: 22:49
--         StorageLive(_15);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:22:38: 22:41
--         _15 = _12;                       // scope 1 at $DIR/early_otherwise_branch_68867.rs:22:38: 22:41
--         StorageLive(_16);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:22:44: 22:49
--         _16 = _13;                       // scope 1 at $DIR/early_otherwise_branch_68867.rs:22:44: 22:49
--         _14 = Add(move _15, move _16);   // scope 1 at $DIR/early_otherwise_branch_68867.rs:22:38: 22:49
--         StorageDead(_16);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:22:48: 22:49
--         StorageDead(_15);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:22:48: 22:49
--         Deinit(_3);                      // scope 1 at $DIR/early_otherwise_branch_68867.rs:22:35: 22:50
--         ((_3 as Vw).0: f32) = move _14;  // scope 1 at $DIR/early_otherwise_branch_68867.rs:22:35: 22:50
--         discriminant(_3) = 0;            // scope 1 at $DIR/early_otherwise_branch_68867.rs:22:35: 22:50
--         StorageDead(_14);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:22:49: 22:50
--         StorageDead(_13);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:49: 22:50
--         StorageDead(_12);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:49: 22:50
-+         nop;                             // scope 1 at $DIR/early_otherwise_branch_68867.rs:22:38: 22:49
-+         nop;                             // scope 1 at $DIR/early_otherwise_branch_68867.rs:22:38: 22:41
-+         nop;                             // scope 1 at $DIR/early_otherwise_branch_68867.rs:22:38: 22:41
-+         nop;                             // scope 1 at $DIR/early_otherwise_branch_68867.rs:22:44: 22:49
-+         nop;                             // scope 1 at $DIR/early_otherwise_branch_68867.rs:22:44: 22:49
-+         ((((_0 as Ok).0: ViewportPercentageLength) as Vw).0: f32) = Add(move _15, move _16); // scope 1 at $DIR/early_otherwise_branch_68867.rs:22:38: 22:49
-+         nop;                             // scope 1 at $DIR/early_otherwise_branch_68867.rs:22:48: 22:49
-+         nop;                             // scope 1 at $DIR/early_otherwise_branch_68867.rs:22:48: 22:49
-+         Deinit(((_0 as Ok).0: ViewportPercentageLength)); // scope 1 at $DIR/early_otherwise_branch_68867.rs:22:35: 22:50
-+         nop;                             // scope 1 at $DIR/early_otherwise_branch_68867.rs:22:35: 22:50
-+         discriminant(((_0 as Ok).0: ViewportPercentageLength)) = 0; // scope 1 at $DIR/early_otherwise_branch_68867.rs:22:35: 22:50
-+         nop;                             // scope 1 at $DIR/early_otherwise_branch_68867.rs:22:49: 22:50
-+         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:49: 22:50
-+         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:49: 22:50
-          goto -> bb10;                    // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:49: 22:50
+-         StorageLive(_12);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:14: +6:17
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:14: +6:17
+          StorageLive(_39);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:14: +6:17
+          _39 = deref_copy (_4.0: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:14: +6:17
+-         _12 = (((*_39) as Vw).0: f32);   // scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:14: +6:17
++         _15 = (((*_39) as Vw).0: f32);   // scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:14: +6:17
+          StorageDead(_39);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:24: +6:29
+-         StorageLive(_13);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:24: +6:29
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:24: +6:29
+          StorageLive(_40);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:24: +6:29
+          _40 = deref_copy (_4.1: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:24: +6:29
+-         _13 = (((*_40) as Vw).0: f32);   // scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:24: +6:29
++         _16 = (((*_40) as Vw).0: f32);   // scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:24: +6:29
+          StorageDead(_40);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:38: +6:49
+-         StorageLive(_14);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:38: +6:49
+-         StorageLive(_15);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:38: +6:41
+-         _15 = _12;                       // scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:38: +6:41
+-         StorageLive(_16);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:44: +6:49
+-         _16 = _13;                       // scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:44: +6:49
+-         _14 = Add(move _15, move _16);   // scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:38: +6:49
+-         StorageDead(_16);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:48: +6:49
+-         StorageDead(_15);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:48: +6:49
+-         Deinit(_3);                      // scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:35: +6:50
+-         ((_3 as Vw).0: f32) = move _14;  // scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:35: +6:50
+-         discriminant(_3) = 0;            // scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:35: +6:50
+-         StorageDead(_14);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:49: +6:50
+-         StorageDead(_13);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:49: +6:50
+-         StorageDead(_12);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:49: +6:50
++         nop;                             // scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:38: +6:49
++         nop;                             // scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:38: +6:41
++         nop;                             // scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:38: +6:41
++         nop;                             // scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:44: +6:49
++         nop;                             // scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:44: +6:49
++         ((((_0 as Ok).0: ViewportPercentageLength) as Vw).0: f32) = Add(move _15, move _16); // scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:38: +6:49
++         nop;                             // scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:48: +6:49
++         nop;                             // scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:48: +6:49
++         Deinit(((_0 as Ok).0: ViewportPercentageLength)); // scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:35: +6:50
++         nop;                             // scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:35: +6:50
++         discriminant(((_0 as Ok).0: ViewportPercentageLength)) = 0; // scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:35: +6:50
++         nop;                             // scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:49: +6:50
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:49: +6:50
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:49: +6:50
+          goto -> bb10;                    // scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:49: +6:50
       }
   
       bb7: {
--         StorageLive(_17);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:14: 23:17
-+         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:14: 23:17
-          StorageLive(_41);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:14: 23:17
-          _41 = deref_copy (_4.0: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:14: 23:17
--         _17 = (((*_41) as Vh).0: f32);   // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:14: 23:17
-+         _20 = (((*_41) as Vh).0: f32);   // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:14: 23:17
-          StorageDead(_41);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:24: 23:29
--         StorageLive(_18);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:24: 23:29
-+         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:24: 23:29
-          StorageLive(_42);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:24: 23:29
-          _42 = deref_copy (_4.1: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:24: 23:29
--         _18 = (((*_42) as Vh).0: f32);   // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:24: 23:29
-+         _21 = (((*_42) as Vh).0: f32);   // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:24: 23:29
-          StorageDead(_42);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:23:38: 23:49
--         StorageLive(_19);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:23:38: 23:49
--         StorageLive(_20);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:23:38: 23:41
--         _20 = _17;                       // scope 2 at $DIR/early_otherwise_branch_68867.rs:23:38: 23:41
--         StorageLive(_21);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:23:44: 23:49
--         _21 = _18;                       // scope 2 at $DIR/early_otherwise_branch_68867.rs:23:44: 23:49
--         _19 = Add(move _20, move _21);   // scope 2 at $DIR/early_otherwise_branch_68867.rs:23:38: 23:49
--         StorageDead(_21);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:23:48: 23:49
--         StorageDead(_20);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:23:48: 23:49
--         Deinit(_3);                      // scope 2 at $DIR/early_otherwise_branch_68867.rs:23:35: 23:50
--         ((_3 as Vh).0: f32) = move _19;  // scope 2 at $DIR/early_otherwise_branch_68867.rs:23:35: 23:50
--         discriminant(_3) = 1;            // scope 2 at $DIR/early_otherwise_branch_68867.rs:23:35: 23:50
--         StorageDead(_19);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:23:49: 23:50
--         StorageDead(_18);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:49: 23:50
--         StorageDead(_17);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:49: 23:50
-+         nop;                             // scope 2 at $DIR/early_otherwise_branch_68867.rs:23:38: 23:49
-+         nop;                             // scope 2 at $DIR/early_otherwise_branch_68867.rs:23:38: 23:41
-+         nop;                             // scope 2 at $DIR/early_otherwise_branch_68867.rs:23:38: 23:41
-+         nop;                             // scope 2 at $DIR/early_otherwise_branch_68867.rs:23:44: 23:49
-+         nop;                             // scope 2 at $DIR/early_otherwise_branch_68867.rs:23:44: 23:49
-+         ((((_0 as Ok).0: ViewportPercentageLength) as Vh).0: f32) = Add(move _20, move _21); // scope 2 at $DIR/early_otherwise_branch_68867.rs:23:38: 23:49
-+         nop;                             // scope 2 at $DIR/early_otherwise_branch_68867.rs:23:48: 23:49
-+         nop;                             // scope 2 at $DIR/early_otherwise_branch_68867.rs:23:48: 23:49
-+         Deinit(((_0 as Ok).0: ViewportPercentageLength)); // scope 2 at $DIR/early_otherwise_branch_68867.rs:23:35: 23:50
-+         nop;                             // scope 2 at $DIR/early_otherwise_branch_68867.rs:23:35: 23:50
-+         discriminant(((_0 as Ok).0: ViewportPercentageLength)) = 1; // scope 2 at $DIR/early_otherwise_branch_68867.rs:23:35: 23:50
-+         nop;                             // scope 2 at $DIR/early_otherwise_branch_68867.rs:23:49: 23:50
-+         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:49: 23:50
-+         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:49: 23:50
-          goto -> bb10;                    // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:49: 23:50
+-         StorageLive(_17);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+7:14: +7:17
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:+7:14: +7:17
+          StorageLive(_41);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+7:14: +7:17
+          _41 = deref_copy (_4.0: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:+7:14: +7:17
+-         _17 = (((*_41) as Vh).0: f32);   // scope 0 at $DIR/early_otherwise_branch_68867.rs:+7:14: +7:17
++         _20 = (((*_41) as Vh).0: f32);   // scope 0 at $DIR/early_otherwise_branch_68867.rs:+7:14: +7:17
+          StorageDead(_41);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+7:24: +7:29
+-         StorageLive(_18);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+7:24: +7:29
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:+7:24: +7:29
+          StorageLive(_42);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+7:24: +7:29
+          _42 = deref_copy (_4.1: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:+7:24: +7:29
+-         _18 = (((*_42) as Vh).0: f32);   // scope 0 at $DIR/early_otherwise_branch_68867.rs:+7:24: +7:29
++         _21 = (((*_42) as Vh).0: f32);   // scope 0 at $DIR/early_otherwise_branch_68867.rs:+7:24: +7:29
+          StorageDead(_42);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:38: +7:49
+-         StorageLive(_19);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:38: +7:49
+-         StorageLive(_20);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:38: +7:41
+-         _20 = _17;                       // scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:38: +7:41
+-         StorageLive(_21);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:44: +7:49
+-         _21 = _18;                       // scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:44: +7:49
+-         _19 = Add(move _20, move _21);   // scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:38: +7:49
+-         StorageDead(_21);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:48: +7:49
+-         StorageDead(_20);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:48: +7:49
+-         Deinit(_3);                      // scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:35: +7:50
+-         ((_3 as Vh).0: f32) = move _19;  // scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:35: +7:50
+-         discriminant(_3) = 1;            // scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:35: +7:50
+-         StorageDead(_19);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:49: +7:50
+-         StorageDead(_18);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+7:49: +7:50
+-         StorageDead(_17);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+7:49: +7:50
++         nop;                             // scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:38: +7:49
++         nop;                             // scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:38: +7:41
++         nop;                             // scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:38: +7:41
++         nop;                             // scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:44: +7:49
++         nop;                             // scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:44: +7:49
++         ((((_0 as Ok).0: ViewportPercentageLength) as Vh).0: f32) = Add(move _20, move _21); // scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:38: +7:49
++         nop;                             // scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:48: +7:49
++         nop;                             // scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:48: +7:49
++         Deinit(((_0 as Ok).0: ViewportPercentageLength)); // scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:35: +7:50
++         nop;                             // scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:35: +7:50
++         discriminant(((_0 as Ok).0: ViewportPercentageLength)) = 1; // scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:35: +7:50
++         nop;                             // scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:49: +7:50
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:+7:49: +7:50
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:+7:49: +7:50
+          goto -> bb10;                    // scope 0 at $DIR/early_otherwise_branch_68867.rs:+7:49: +7:50
       }
   
       bb8: {
--         StorageLive(_22);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:16: 24:19
-+         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:16: 24:19
-          StorageLive(_43);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:16: 24:19
-          _43 = deref_copy (_4.0: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:16: 24:19
--         _22 = (((*_43) as Vmin).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:16: 24:19
-+         _25 = (((*_43) as Vmin).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:16: 24:19
-          StorageDead(_43);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:28: 24:33
--         StorageLive(_23);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:28: 24:33
-+         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:28: 24:33
-          StorageLive(_44);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:28: 24:33
-          _44 = deref_copy (_4.1: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:28: 24:33
--         _23 = (((*_44) as Vmin).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:28: 24:33
-+         _26 = (((*_44) as Vmin).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:28: 24:33
-          StorageDead(_44);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:24:44: 24:55
--         StorageLive(_24);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:24:44: 24:55
--         StorageLive(_25);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:24:44: 24:47
--         _25 = _22;                       // scope 3 at $DIR/early_otherwise_branch_68867.rs:24:44: 24:47
--         StorageLive(_26);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:24:50: 24:55
--         _26 = _23;                       // scope 3 at $DIR/early_otherwise_branch_68867.rs:24:50: 24:55
--         _24 = Add(move _25, move _26);   // scope 3 at $DIR/early_otherwise_branch_68867.rs:24:44: 24:55
--         StorageDead(_26);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:24:54: 24:55
--         StorageDead(_25);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:24:54: 24:55
--         Deinit(_3);                      // scope 3 at $DIR/early_otherwise_branch_68867.rs:24:39: 24:56
--         ((_3 as Vmin).0: f32) = move _24; // scope 3 at $DIR/early_otherwise_branch_68867.rs:24:39: 24:56
--         discriminant(_3) = 2;            // scope 3 at $DIR/early_otherwise_branch_68867.rs:24:39: 24:56
--         StorageDead(_24);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:24:55: 24:56
--         StorageDead(_23);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:55: 24:56
--         StorageDead(_22);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:55: 24:56
-+         nop;                             // scope 3 at $DIR/early_otherwise_branch_68867.rs:24:44: 24:55
-+         nop;                             // scope 3 at $DIR/early_otherwise_branch_68867.rs:24:44: 24:47
-+         nop;                             // scope 3 at $DIR/early_otherwise_branch_68867.rs:24:44: 24:47
-+         nop;                             // scope 3 at $DIR/early_otherwise_branch_68867.rs:24:50: 24:55
-+         nop;                             // scope 3 at $DIR/early_otherwise_branch_68867.rs:24:50: 24:55
-+         ((((_0 as Ok).0: ViewportPercentageLength) as Vmin).0: f32) = Add(move _25, move _26); // scope 3 at $DIR/early_otherwise_branch_68867.rs:24:44: 24:55
-+         nop;                             // scope 3 at $DIR/early_otherwise_branch_68867.rs:24:54: 24:55
-+         nop;                             // scope 3 at $DIR/early_otherwise_branch_68867.rs:24:54: 24:55
-+         Deinit(((_0 as Ok).0: ViewportPercentageLength)); // scope 3 at $DIR/early_otherwise_branch_68867.rs:24:39: 24:56
-+         nop;                             // scope 3 at $DIR/early_otherwise_branch_68867.rs:24:39: 24:56
-+         discriminant(((_0 as Ok).0: ViewportPercentageLength)) = 2; // scope 3 at $DIR/early_otherwise_branch_68867.rs:24:39: 24:56
-+         nop;                             // scope 3 at $DIR/early_otherwise_branch_68867.rs:24:55: 24:56
-+         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:55: 24:56
-+         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:55: 24:56
-          goto -> bb10;                    // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:55: 24:56
+-         StorageLive(_22);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+8:16: +8:19
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:+8:16: +8:19
+          StorageLive(_43);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+8:16: +8:19
+          _43 = deref_copy (_4.0: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:+8:16: +8:19
+-         _22 = (((*_43) as Vmin).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:+8:16: +8:19
++         _25 = (((*_43) as Vmin).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:+8:16: +8:19
+          StorageDead(_43);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+8:28: +8:33
+-         StorageLive(_23);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+8:28: +8:33
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:+8:28: +8:33
+          StorageLive(_44);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+8:28: +8:33
+          _44 = deref_copy (_4.1: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:+8:28: +8:33
+-         _23 = (((*_44) as Vmin).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:+8:28: +8:33
++         _26 = (((*_44) as Vmin).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:+8:28: +8:33
+          StorageDead(_44);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:44: +8:55
+-         StorageLive(_24);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:44: +8:55
+-         StorageLive(_25);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:44: +8:47
+-         _25 = _22;                       // scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:44: +8:47
+-         StorageLive(_26);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:50: +8:55
+-         _26 = _23;                       // scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:50: +8:55
+-         _24 = Add(move _25, move _26);   // scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:44: +8:55
+-         StorageDead(_26);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:54: +8:55
+-         StorageDead(_25);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:54: +8:55
+-         Deinit(_3);                      // scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:39: +8:56
+-         ((_3 as Vmin).0: f32) = move _24; // scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:39: +8:56
+-         discriminant(_3) = 2;            // scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:39: +8:56
+-         StorageDead(_24);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:55: +8:56
+-         StorageDead(_23);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+8:55: +8:56
+-         StorageDead(_22);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+8:55: +8:56
++         nop;                             // scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:44: +8:55
++         nop;                             // scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:44: +8:47
++         nop;                             // scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:44: +8:47
++         nop;                             // scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:50: +8:55
++         nop;                             // scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:50: +8:55
++         ((((_0 as Ok).0: ViewportPercentageLength) as Vmin).0: f32) = Add(move _25, move _26); // scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:44: +8:55
++         nop;                             // scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:54: +8:55
++         nop;                             // scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:54: +8:55
++         Deinit(((_0 as Ok).0: ViewportPercentageLength)); // scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:39: +8:56
++         nop;                             // scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:39: +8:56
++         discriminant(((_0 as Ok).0: ViewportPercentageLength)) = 2; // scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:39: +8:56
++         nop;                             // scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:55: +8:56
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:+8:55: +8:56
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:+8:55: +8:56
+          goto -> bb10;                    // scope 0 at $DIR/early_otherwise_branch_68867.rs:+8:55: +8:56
       }
   
       bb9: {
--         StorageLive(_27);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:16: 25:19
-+         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:16: 25:19
-          StorageLive(_45);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:16: 25:19
-          _45 = deref_copy (_4.0: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:16: 25:19
--         _27 = (((*_45) as Vmax).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:16: 25:19
-+         _30 = (((*_45) as Vmax).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:16: 25:19
-          StorageDead(_45);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:28: 25:33
--         StorageLive(_28);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:28: 25:33
-+         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:28: 25:33
-          StorageLive(_46);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:28: 25:33
-          _46 = deref_copy (_4.1: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:28: 25:33
--         _28 = (((*_46) as Vmax).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:28: 25:33
-+         _31 = (((*_46) as Vmax).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:28: 25:33
-          StorageDead(_46);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:25:44: 25:55
--         StorageLive(_29);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:25:44: 25:55
--         StorageLive(_30);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:25:44: 25:47
--         _30 = _27;                       // scope 4 at $DIR/early_otherwise_branch_68867.rs:25:44: 25:47
--         StorageLive(_31);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:25:50: 25:55
--         _31 = _28;                       // scope 4 at $DIR/early_otherwise_branch_68867.rs:25:50: 25:55
--         _29 = Add(move _30, move _31);   // scope 4 at $DIR/early_otherwise_branch_68867.rs:25:44: 25:55
--         StorageDead(_31);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:25:54: 25:55
--         StorageDead(_30);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:25:54: 25:55
--         Deinit(_3);                      // scope 4 at $DIR/early_otherwise_branch_68867.rs:25:39: 25:56
--         ((_3 as Vmax).0: f32) = move _29; // scope 4 at $DIR/early_otherwise_branch_68867.rs:25:39: 25:56
--         discriminant(_3) = 3;            // scope 4 at $DIR/early_otherwise_branch_68867.rs:25:39: 25:56
--         StorageDead(_29);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:25:55: 25:56
--         StorageDead(_28);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:55: 25:56
--         StorageDead(_27);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:55: 25:56
-+         nop;                             // scope 4 at $DIR/early_otherwise_branch_68867.rs:25:44: 25:55
-+         nop;                             // scope 4 at $DIR/early_otherwise_branch_68867.rs:25:44: 25:47
-+         nop;                             // scope 4 at $DIR/early_otherwise_branch_68867.rs:25:44: 25:47
-+         nop;                             // scope 4 at $DIR/early_otherwise_branch_68867.rs:25:50: 25:55
-+         nop;                             // scope 4 at $DIR/early_otherwise_branch_68867.rs:25:50: 25:55
-+         ((((_0 as Ok).0: ViewportPercentageLength) as Vmax).0: f32) = Add(move _30, move _31); // scope 4 at $DIR/early_otherwise_branch_68867.rs:25:44: 25:55
-+         nop;                             // scope 4 at $DIR/early_otherwise_branch_68867.rs:25:54: 25:55
-+         nop;                             // scope 4 at $DIR/early_otherwise_branch_68867.rs:25:54: 25:55
-+         Deinit(((_0 as Ok).0: ViewportPercentageLength)); // scope 4 at $DIR/early_otherwise_branch_68867.rs:25:39: 25:56
-+         nop;                             // scope 4 at $DIR/early_otherwise_branch_68867.rs:25:39: 25:56
-+         discriminant(((_0 as Ok).0: ViewportPercentageLength)) = 3; // scope 4 at $DIR/early_otherwise_branch_68867.rs:25:39: 25:56
-+         nop;                             // scope 4 at $DIR/early_otherwise_branch_68867.rs:25:55: 25:56
-+         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:55: 25:56
-+         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:55: 25:56
-          goto -> bb10;                    // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:55: 25:56
+-         StorageLive(_27);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+9:16: +9:19
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:+9:16: +9:19
+          StorageLive(_45);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+9:16: +9:19
+          _45 = deref_copy (_4.0: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:+9:16: +9:19
+-         _27 = (((*_45) as Vmax).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:+9:16: +9:19
++         _30 = (((*_45) as Vmax).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:+9:16: +9:19
+          StorageDead(_45);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+9:28: +9:33
+-         StorageLive(_28);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+9:28: +9:33
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:+9:28: +9:33
+          StorageLive(_46);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+9:28: +9:33
+          _46 = deref_copy (_4.1: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:+9:28: +9:33
+-         _28 = (((*_46) as Vmax).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:+9:28: +9:33
++         _31 = (((*_46) as Vmax).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:+9:28: +9:33
+          StorageDead(_46);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:44: +9:55
+-         StorageLive(_29);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:44: +9:55
+-         StorageLive(_30);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:44: +9:47
+-         _30 = _27;                       // scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:44: +9:47
+-         StorageLive(_31);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:50: +9:55
+-         _31 = _28;                       // scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:50: +9:55
+-         _29 = Add(move _30, move _31);   // scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:44: +9:55
+-         StorageDead(_31);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:54: +9:55
+-         StorageDead(_30);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:54: +9:55
+-         Deinit(_3);                      // scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:39: +9:56
+-         ((_3 as Vmax).0: f32) = move _29; // scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:39: +9:56
+-         discriminant(_3) = 3;            // scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:39: +9:56
+-         StorageDead(_29);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:55: +9:56
+-         StorageDead(_28);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+9:55: +9:56
+-         StorageDead(_27);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+9:55: +9:56
++         nop;                             // scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:44: +9:55
++         nop;                             // scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:44: +9:47
++         nop;                             // scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:44: +9:47
++         nop;                             // scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:50: +9:55
++         nop;                             // scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:50: +9:55
++         ((((_0 as Ok).0: ViewportPercentageLength) as Vmax).0: f32) = Add(move _30, move _31); // scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:44: +9:55
++         nop;                             // scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:54: +9:55
++         nop;                             // scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:54: +9:55
++         Deinit(((_0 as Ok).0: ViewportPercentageLength)); // scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:39: +9:56
++         nop;                             // scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:39: +9:56
++         discriminant(((_0 as Ok).0: ViewportPercentageLength)) = 3; // scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:39: +9:56
++         nop;                             // scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:55: +9:56
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:+9:55: +9:56
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:+9:55: +9:56
+          goto -> bb10;                    // scope 0 at $DIR/early_otherwise_branch_68867.rs:+9:55: +9:56
       }
   
       bb10: {
-          Deinit(_0);                      // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:5: 27:7
--         ((_0 as Ok).0: ViewportPercentageLength) = move _3; // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:5: 27:7
-+         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:5: 27:7
-          discriminant(_0) = 0;            // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:5: 27:7
--         StorageDead(_3);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:27:6: 27:7
--         StorageDead(_4);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:28:1: 28:2
-+         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:27:6: 27:7
-+         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:28:1: 28:2
-          return;                          // scope 0 at $DIR/early_otherwise_branch_68867.rs:28:2: 28:2
+          Deinit(_0);                      // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:5: +11:7
+-         ((_0 as Ok).0: ViewportPercentageLength) = move _3; // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:5: +11:7
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:5: +11:7
+          discriminant(_0) = 0;            // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:5: +11:7
+-         StorageDead(_3);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:+11:6: +11:7
+-         StorageDead(_4);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:+12:1: +12:2
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:+11:6: +11:7
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:+12:1: +12:2
+          return;                          // scope 0 at $DIR/early_otherwise_branch_68867.rs:+12:2: +12:2
       }
   }
   
index 1b090a33ffcd70dae5ab4794a879de2bef54c21e..2519f79f8254ed29b5c561608a2b043e6f6371c5 100644 (file)
 + // MIR for `try_sum` after EarlyOtherwiseBranch
   
   fn try_sum(_1: &ViewportPercentageLength, _2: &ViewportPercentageLength) -> Result<ViewportPercentageLength, ()> {
-      debug x => _1;                       // in scope 0 at $DIR/early_otherwise_branch_68867.rs:17:5: 17:6
-      debug other => _2;                   // in scope 0 at $DIR/early_otherwise_branch_68867.rs:18:5: 18:10
-      let mut _0: std::result::Result<ViewportPercentageLength, ()>; // return place in scope 0 at $DIR/early_otherwise_branch_68867.rs:19:6: 19:42
-      let mut _3: ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:21:8: 27:6
-      let mut _4: (&ViewportPercentageLength, &ViewportPercentageLength); // in scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-      let mut _5: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:21:15: 21:16
-      let mut _6: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:21:18: 21:23
-      let mut _7: isize;                   // in scope 0 at $DIR/early_otherwise_branch_68867.rs:22:21: 22:30
-      let mut _8: isize;                   // in scope 0 at $DIR/early_otherwise_branch_68867.rs:23:21: 23:30
-      let mut _9: isize;                   // in scope 0 at $DIR/early_otherwise_branch_68867.rs:24:23: 24:34
-      let mut _10: isize;                  // in scope 0 at $DIR/early_otherwise_branch_68867.rs:25:23: 25:34
-      let mut _11: isize;                  // in scope 0 at $DIR/early_otherwise_branch_68867.rs:22:11: 22:18
-      let _12: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:22:14: 22:17
-      let _13: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:22:24: 22:29
-      let mut _14: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:22:38: 22:49
-      let mut _15: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:22:38: 22:41
-      let mut _16: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:22:44: 22:49
-      let _17: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:23:14: 23:17
-      let _18: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:23:24: 23:29
-      let mut _19: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:23:38: 23:49
-      let mut _20: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:23:38: 23:41
-      let mut _21: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:23:44: 23:49
-      let _22: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:24:16: 24:19
-      let _23: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:24:28: 24:33
-      let mut _24: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:24:44: 24:55
-      let mut _25: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:24:44: 24:47
-      let mut _26: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:24:50: 24:55
-      let _27: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:25:16: 25:19
-      let _28: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:25:28: 25:33
-      let mut _29: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:25:44: 25:55
-      let mut _30: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:25:44: 25:47
-      let mut _31: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:25:50: 25:55
-      let mut _32: !;                      // in scope 0 at $DIR/early_otherwise_branch_68867.rs:26:14: 26:28
-      let mut _33: ();                     // in scope 0 at $DIR/early_otherwise_branch_68867.rs:26:25: 26:27
-      let mut _34: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-      let mut _35: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-      let mut _36: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-      let mut _37: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-      let mut _38: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-      let mut _39: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-      let mut _40: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-      let mut _41: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-      let mut _42: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-      let mut _43: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-      let mut _44: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-      let mut _45: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-      let mut _46: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
+      debug x => _1;                       // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+1:5: +1:6
+      debug other => _2;                   // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+2:5: +2:10
+      let mut _0: std::result::Result<ViewportPercentageLength, ()>; // return place in scope 0 at $DIR/early_otherwise_branch_68867.rs:+3:6: +3:42
+      let mut _3: ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:8: +11:6
+      let mut _4: (&ViewportPercentageLength, &ViewportPercentageLength); // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+      let mut _5: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:15: +5:16
+      let mut _6: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:18: +5:23
+      let mut _7: isize;                   // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:21: +6:30
+      let mut _8: isize;                   // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+7:21: +7:30
+      let mut _9: isize;                   // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+8:23: +8:34
+      let mut _10: isize;                  // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+9:23: +9:34
+      let mut _11: isize;                  // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:11: +6:18
+      let _12: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:14: +6:17
+      let _13: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:24: +6:29
+      let mut _14: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:38: +6:49
+      let mut _15: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:38: +6:41
+      let mut _16: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:44: +6:49
+      let _17: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+7:14: +7:17
+      let _18: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+7:24: +7:29
+      let mut _19: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+7:38: +7:49
+      let mut _20: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+7:38: +7:41
+      let mut _21: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+7:44: +7:49
+      let _22: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+8:16: +8:19
+      let _23: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+8:28: +8:33
+      let mut _24: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+8:44: +8:55
+      let mut _25: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+8:44: +8:47
+      let mut _26: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+8:50: +8:55
+      let _27: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+9:16: +9:19
+      let _28: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+9:28: +9:33
+      let mut _29: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+9:44: +9:55
+      let mut _30: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+9:44: +9:47
+      let mut _31: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+9:50: +9:55
+      let mut _32: !;                      // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+10:14: +10:28
+      let mut _33: ();                     // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+10:25: +10:27
+      let mut _34: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+      let mut _35: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+      let mut _36: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+      let mut _37: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+      let mut _38: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+      let mut _39: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+      let mut _40: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+      let mut _41: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+      let mut _42: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+      let mut _43: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+      let mut _44: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+      let mut _45: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+      let mut _46: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
       scope 1 {
-          debug one => _12;                // in scope 1 at $DIR/early_otherwise_branch_68867.rs:22:14: 22:17
-          debug other => _13;              // in scope 1 at $DIR/early_otherwise_branch_68867.rs:22:24: 22:29
+          debug one => _12;                // in scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:14: +6:17
+          debug other => _13;              // in scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:24: +6:29
       }
       scope 2 {
-          debug one => _17;                // in scope 2 at $DIR/early_otherwise_branch_68867.rs:23:14: 23:17
-          debug other => _18;              // in scope 2 at $DIR/early_otherwise_branch_68867.rs:23:24: 23:29
+          debug one => _17;                // in scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:14: +7:17
+          debug other => _18;              // in scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:24: +7:29
       }
       scope 3 {
-          debug one => _22;                // in scope 3 at $DIR/early_otherwise_branch_68867.rs:24:16: 24:19
-          debug other => _23;              // in scope 3 at $DIR/early_otherwise_branch_68867.rs:24:28: 24:33
+          debug one => _22;                // in scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:16: +8:19
+          debug other => _23;              // in scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:28: +8:33
       }
       scope 4 {
-          debug one => _27;                // in scope 4 at $DIR/early_otherwise_branch_68867.rs:25:16: 25:19
-          debug other => _28;              // in scope 4 at $DIR/early_otherwise_branch_68867.rs:25:28: 25:33
+          debug one => _27;                // in scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:16: +9:19
+          debug other => _28;              // in scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:28: +9:33
       }
   
       bb0: {
-          StorageLive(_3);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:8: 27:6
-          StorageLive(_4);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-          StorageLive(_5);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:15: 21:16
-          _5 = _1;                         // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:15: 21:16
-          StorageLive(_6);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:18: 21:23
-          _6 = _2;                         // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:18: 21:23
-          Deinit(_4);                      // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-          (_4.0: &ViewportPercentageLength) = move _5; // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-          (_4.1: &ViewportPercentageLength) = move _6; // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-          StorageDead(_6);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:23: 21:24
-          StorageDead(_5);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:23: 21:24
-          StorageLive(_34);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-          _34 = deref_copy (_4.0: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-          _11 = discriminant((*_34));      // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-          StorageDead(_34);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:8: 21:24
-          switchInt(move _11) -> [0_isize: bb1, 1_isize: bb3, 2_isize: bb4, 3_isize: bb5, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:8: 21:24
+          StorageLive(_3);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:8: +11:6
+          StorageLive(_4);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+          StorageLive(_5);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:15: +5:16
+          _5 = _1;                         // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:15: +5:16
+          StorageLive(_6);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:18: +5:23
+          _6 = _2;                         // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:18: +5:23
+          Deinit(_4);                      // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+          (_4.0: &ViewportPercentageLength) = move _5; // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+          (_4.1: &ViewportPercentageLength) = move _6; // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+          StorageDead(_6);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:23: +5:24
+          StorageDead(_5);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:23: +5:24
+          StorageLive(_34);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+          _34 = deref_copy (_4.0: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+          _11 = discriminant((*_34));      // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+          StorageDead(_34);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:8: +5:24
+          switchInt(move _11) -> [0_isize: bb1, 1_isize: bb3, 2_isize: bb4, 3_isize: bb5, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:8: +5:24
       }
   
       bb1: {
-          StorageLive(_35);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-          _35 = deref_copy (_4.1: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-          _7 = discriminant((*_35));       // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-          StorageDead(_35);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:8: 21:24
-          switchInt(move _7) -> [0_isize: bb6, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:8: 21:24
+          StorageLive(_35);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+          _35 = deref_copy (_4.1: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+          _7 = discriminant((*_35));       // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+          StorageDead(_35);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:8: +5:24
+          switchInt(move _7) -> [0_isize: bb6, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:8: +5:24
       }
   
       bb2: {
-          StorageLive(_33);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:26:25: 26:27
-          nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:26:25: 26:27
-          Deinit(_0);                      // scope 0 at $DIR/early_otherwise_branch_68867.rs:26:21: 26:28
-          nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:26:21: 26:28
-          discriminant(_0) = 1;            // scope 0 at $DIR/early_otherwise_branch_68867.rs:26:21: 26:28
-          StorageDead(_33);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:26:27: 26:28
-          StorageDead(_3);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:27:6: 27:7
-          StorageDead(_4);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:28:1: 28:2
-          return;                          // scope 0 at $DIR/early_otherwise_branch_68867.rs:28:2: 28:2
+          StorageLive(_33);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+10:25: +10:27
+          nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:+10:25: +10:27
+          Deinit(_0);                      // scope 0 at $DIR/early_otherwise_branch_68867.rs:+10:21: +10:28
+          nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:+10:21: +10:28
+          discriminant(_0) = 1;            // scope 0 at $DIR/early_otherwise_branch_68867.rs:+10:21: +10:28
+          StorageDead(_33);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+10:27: +10:28
+          StorageDead(_3);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:+11:6: +11:7
+          StorageDead(_4);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:+12:1: +12:2
+          return;                          // scope 0 at $DIR/early_otherwise_branch_68867.rs:+12:2: +12:2
       }
   
       bb3: {
-          StorageLive(_36);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-          _36 = deref_copy (_4.1: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-          _8 = discriminant((*_36));       // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-          StorageDead(_36);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:8: 21:24
-          switchInt(move _8) -> [1_isize: bb7, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:8: 21:24
+          StorageLive(_36);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+          _36 = deref_copy (_4.1: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+          _8 = discriminant((*_36));       // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+          StorageDead(_36);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:8: +5:24
+          switchInt(move _8) -> [1_isize: bb7, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:8: +5:24
       }
   
       bb4: {
-          StorageLive(_37);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-          _37 = deref_copy (_4.1: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-          _9 = discriminant((*_37));       // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-          StorageDead(_37);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:8: 21:24
-          switchInt(move _9) -> [2_isize: bb8, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:8: 21:24
+          StorageLive(_37);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+          _37 = deref_copy (_4.1: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+          _9 = discriminant((*_37));       // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+          StorageDead(_37);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:8: +5:24
+          switchInt(move _9) -> [2_isize: bb8, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:8: +5:24
       }
   
       bb5: {
-          StorageLive(_38);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-          _38 = deref_copy (_4.1: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-          _10 = discriminant((*_38));      // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:24
-          StorageDead(_38);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:8: 21:24
-          switchInt(move _10) -> [3_isize: bb9, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:8: 21:24
+          StorageLive(_38);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+          _38 = deref_copy (_4.1: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+          _10 = discriminant((*_38));      // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:14: +5:24
+          StorageDead(_38);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:8: +5:24
+          switchInt(move _10) -> [3_isize: bb9, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:8: +5:24
       }
   
       bb6: {
-          StorageLive(_12);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:14: 22:17
-          StorageLive(_39);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:14: 22:17
-          _39 = deref_copy (_4.0: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:14: 22:17
-          _12 = (((*_39) as Vw).0: f32);   // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:14: 22:17
-          StorageDead(_39);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:24: 22:29
-          StorageLive(_13);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:24: 22:29
-          StorageLive(_40);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:24: 22:29
-          _40 = deref_copy (_4.1: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:24: 22:29
-          _13 = (((*_40) as Vw).0: f32);   // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:24: 22:29
-          StorageDead(_40);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:22:38: 22:49
-          StorageLive(_14);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:22:38: 22:49
-          StorageLive(_15);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:22:38: 22:41
-          _15 = _12;                       // scope 1 at $DIR/early_otherwise_branch_68867.rs:22:38: 22:41
-          StorageLive(_16);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:22:44: 22:49
-          _16 = _13;                       // scope 1 at $DIR/early_otherwise_branch_68867.rs:22:44: 22:49
-          _14 = Add(move _15, move _16);   // scope 1 at $DIR/early_otherwise_branch_68867.rs:22:38: 22:49
-          StorageDead(_16);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:22:48: 22:49
-          StorageDead(_15);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:22:48: 22:49
-          Deinit(_3);                      // scope 1 at $DIR/early_otherwise_branch_68867.rs:22:35: 22:50
-          ((_3 as Vw).0: f32) = move _14;  // scope 1 at $DIR/early_otherwise_branch_68867.rs:22:35: 22:50
-          discriminant(_3) = 0;            // scope 1 at $DIR/early_otherwise_branch_68867.rs:22:35: 22:50
-          StorageDead(_14);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:22:49: 22:50
-          StorageDead(_13);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:49: 22:50
-          StorageDead(_12);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:49: 22:50
-          goto -> bb10;                    // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:49: 22:50
+          StorageLive(_12);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:14: +6:17
+          StorageLive(_39);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:14: +6:17
+          _39 = deref_copy (_4.0: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:14: +6:17
+          _12 = (((*_39) as Vw).0: f32);   // scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:14: +6:17
+          StorageDead(_39);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:24: +6:29
+          StorageLive(_13);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:24: +6:29
+          StorageLive(_40);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:24: +6:29
+          _40 = deref_copy (_4.1: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:24: +6:29
+          _13 = (((*_40) as Vw).0: f32);   // scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:24: +6:29
+          StorageDead(_40);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:38: +6:49
+          StorageLive(_14);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:38: +6:49
+          StorageLive(_15);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:38: +6:41
+          _15 = _12;                       // scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:38: +6:41
+          StorageLive(_16);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:44: +6:49
+          _16 = _13;                       // scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:44: +6:49
+          _14 = Add(move _15, move _16);   // scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:38: +6:49
+          StorageDead(_16);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:48: +6:49
+          StorageDead(_15);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:48: +6:49
+          Deinit(_3);                      // scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:35: +6:50
+          ((_3 as Vw).0: f32) = move _14;  // scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:35: +6:50
+          discriminant(_3) = 0;            // scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:35: +6:50
+          StorageDead(_14);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:+6:49: +6:50
+          StorageDead(_13);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:49: +6:50
+          StorageDead(_12);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:49: +6:50
+          goto -> bb10;                    // scope 0 at $DIR/early_otherwise_branch_68867.rs:+6:49: +6:50
       }
   
       bb7: {
-          StorageLive(_17);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:14: 23:17
-          StorageLive(_41);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:14: 23:17
-          _41 = deref_copy (_4.0: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:14: 23:17
-          _17 = (((*_41) as Vh).0: f32);   // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:14: 23:17
-          StorageDead(_41);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:24: 23:29
-          StorageLive(_18);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:24: 23:29
-          StorageLive(_42);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:24: 23:29
-          _42 = deref_copy (_4.1: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:24: 23:29
-          _18 = (((*_42) as Vh).0: f32);   // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:24: 23:29
-          StorageDead(_42);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:23:38: 23:49
-          StorageLive(_19);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:23:38: 23:49
-          StorageLive(_20);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:23:38: 23:41
-          _20 = _17;                       // scope 2 at $DIR/early_otherwise_branch_68867.rs:23:38: 23:41
-          StorageLive(_21);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:23:44: 23:49
-          _21 = _18;                       // scope 2 at $DIR/early_otherwise_branch_68867.rs:23:44: 23:49
-          _19 = Add(move _20, move _21);   // scope 2 at $DIR/early_otherwise_branch_68867.rs:23:38: 23:49
-          StorageDead(_21);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:23:48: 23:49
-          StorageDead(_20);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:23:48: 23:49
-          Deinit(_3);                      // scope 2 at $DIR/early_otherwise_branch_68867.rs:23:35: 23:50
-          ((_3 as Vh).0: f32) = move _19;  // scope 2 at $DIR/early_otherwise_branch_68867.rs:23:35: 23:50
-          discriminant(_3) = 1;            // scope 2 at $DIR/early_otherwise_branch_68867.rs:23:35: 23:50
-          StorageDead(_19);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:23:49: 23:50
-          StorageDead(_18);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:49: 23:50
-          StorageDead(_17);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:49: 23:50
-          goto -> bb10;                    // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:49: 23:50
+          StorageLive(_17);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+7:14: +7:17
+          StorageLive(_41);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+7:14: +7:17
+          _41 = deref_copy (_4.0: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:+7:14: +7:17
+          _17 = (((*_41) as Vh).0: f32);   // scope 0 at $DIR/early_otherwise_branch_68867.rs:+7:14: +7:17
+          StorageDead(_41);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+7:24: +7:29
+          StorageLive(_18);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+7:24: +7:29
+          StorageLive(_42);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+7:24: +7:29
+          _42 = deref_copy (_4.1: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:+7:24: +7:29
+          _18 = (((*_42) as Vh).0: f32);   // scope 0 at $DIR/early_otherwise_branch_68867.rs:+7:24: +7:29
+          StorageDead(_42);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:38: +7:49
+          StorageLive(_19);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:38: +7:49
+          StorageLive(_20);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:38: +7:41
+          _20 = _17;                       // scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:38: +7:41
+          StorageLive(_21);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:44: +7:49
+          _21 = _18;                       // scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:44: +7:49
+          _19 = Add(move _20, move _21);   // scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:38: +7:49
+          StorageDead(_21);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:48: +7:49
+          StorageDead(_20);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:48: +7:49
+          Deinit(_3);                      // scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:35: +7:50
+          ((_3 as Vh).0: f32) = move _19;  // scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:35: +7:50
+          discriminant(_3) = 1;            // scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:35: +7:50
+          StorageDead(_19);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:+7:49: +7:50
+          StorageDead(_18);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+7:49: +7:50
+          StorageDead(_17);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+7:49: +7:50
+          goto -> bb10;                    // scope 0 at $DIR/early_otherwise_branch_68867.rs:+7:49: +7:50
       }
   
       bb8: {
-          StorageLive(_22);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:16: 24:19
-          StorageLive(_43);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:16: 24:19
-          _43 = deref_copy (_4.0: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:16: 24:19
-          _22 = (((*_43) as Vmin).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:16: 24:19
-          StorageDead(_43);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:28: 24:33
-          StorageLive(_23);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:28: 24:33
-          StorageLive(_44);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:28: 24:33
-          _44 = deref_copy (_4.1: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:28: 24:33
-          _23 = (((*_44) as Vmin).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:28: 24:33
-          StorageDead(_44);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:24:44: 24:55
-          StorageLive(_24);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:24:44: 24:55
-          StorageLive(_25);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:24:44: 24:47
-          _25 = _22;                       // scope 3 at $DIR/early_otherwise_branch_68867.rs:24:44: 24:47
-          StorageLive(_26);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:24:50: 24:55
-          _26 = _23;                       // scope 3 at $DIR/early_otherwise_branch_68867.rs:24:50: 24:55
-          _24 = Add(move _25, move _26);   // scope 3 at $DIR/early_otherwise_branch_68867.rs:24:44: 24:55
-          StorageDead(_26);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:24:54: 24:55
-          StorageDead(_25);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:24:54: 24:55
-          Deinit(_3);                      // scope 3 at $DIR/early_otherwise_branch_68867.rs:24:39: 24:56
-          ((_3 as Vmin).0: f32) = move _24; // scope 3 at $DIR/early_otherwise_branch_68867.rs:24:39: 24:56
-          discriminant(_3) = 2;            // scope 3 at $DIR/early_otherwise_branch_68867.rs:24:39: 24:56
-          StorageDead(_24);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:24:55: 24:56
-          StorageDead(_23);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:55: 24:56
-          StorageDead(_22);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:55: 24:56
-          goto -> bb10;                    // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:55: 24:56
+          StorageLive(_22);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+8:16: +8:19
+          StorageLive(_43);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+8:16: +8:19
+          _43 = deref_copy (_4.0: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:+8:16: +8:19
+          _22 = (((*_43) as Vmin).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:+8:16: +8:19
+          StorageDead(_43);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+8:28: +8:33
+          StorageLive(_23);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+8:28: +8:33
+          StorageLive(_44);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+8:28: +8:33
+          _44 = deref_copy (_4.1: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:+8:28: +8:33
+          _23 = (((*_44) as Vmin).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:+8:28: +8:33
+          StorageDead(_44);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:44: +8:55
+          StorageLive(_24);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:44: +8:55
+          StorageLive(_25);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:44: +8:47
+          _25 = _22;                       // scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:44: +8:47
+          StorageLive(_26);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:50: +8:55
+          _26 = _23;                       // scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:50: +8:55
+          _24 = Add(move _25, move _26);   // scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:44: +8:55
+          StorageDead(_26);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:54: +8:55
+          StorageDead(_25);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:54: +8:55
+          Deinit(_3);                      // scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:39: +8:56
+          ((_3 as Vmin).0: f32) = move _24; // scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:39: +8:56
+          discriminant(_3) = 2;            // scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:39: +8:56
+          StorageDead(_24);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:+8:55: +8:56
+          StorageDead(_23);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+8:55: +8:56
+          StorageDead(_22);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+8:55: +8:56
+          goto -> bb10;                    // scope 0 at $DIR/early_otherwise_branch_68867.rs:+8:55: +8:56
       }
   
       bb9: {
-          StorageLive(_27);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:16: 25:19
-          StorageLive(_45);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:16: 25:19
-          _45 = deref_copy (_4.0: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:16: 25:19
-          _27 = (((*_45) as Vmax).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:16: 25:19
-          StorageDead(_45);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:28: 25:33
-          StorageLive(_28);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:28: 25:33
-          StorageLive(_46);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:28: 25:33
-          _46 = deref_copy (_4.1: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:28: 25:33
-          _28 = (((*_46) as Vmax).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:28: 25:33
-          StorageDead(_46);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:25:44: 25:55
-          StorageLive(_29);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:25:44: 25:55
-          StorageLive(_30);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:25:44: 25:47
-          _30 = _27;                       // scope 4 at $DIR/early_otherwise_branch_68867.rs:25:44: 25:47
-          StorageLive(_31);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:25:50: 25:55
-          _31 = _28;                       // scope 4 at $DIR/early_otherwise_branch_68867.rs:25:50: 25:55
-          _29 = Add(move _30, move _31);   // scope 4 at $DIR/early_otherwise_branch_68867.rs:25:44: 25:55
-          StorageDead(_31);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:25:54: 25:55
-          StorageDead(_30);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:25:54: 25:55
-          Deinit(_3);                      // scope 4 at $DIR/early_otherwise_branch_68867.rs:25:39: 25:56
-          ((_3 as Vmax).0: f32) = move _29; // scope 4 at $DIR/early_otherwise_branch_68867.rs:25:39: 25:56
-          discriminant(_3) = 3;            // scope 4 at $DIR/early_otherwise_branch_68867.rs:25:39: 25:56
-          StorageDead(_29);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:25:55: 25:56
-          StorageDead(_28);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:55: 25:56
-          StorageDead(_27);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:55: 25:56
-          goto -> bb10;                    // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:55: 25:56
+          StorageLive(_27);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+9:16: +9:19
+          StorageLive(_45);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+9:16: +9:19
+          _45 = deref_copy (_4.0: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:+9:16: +9:19
+          _27 = (((*_45) as Vmax).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:+9:16: +9:19
+          StorageDead(_45);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+9:28: +9:33
+          StorageLive(_28);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+9:28: +9:33
+          StorageLive(_46);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+9:28: +9:33
+          _46 = deref_copy (_4.1: &ViewportPercentageLength); // scope 0 at $DIR/early_otherwise_branch_68867.rs:+9:28: +9:33
+          _28 = (((*_46) as Vmax).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:+9:28: +9:33
+          StorageDead(_46);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:44: +9:55
+          StorageLive(_29);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:44: +9:55
+          StorageLive(_30);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:44: +9:47
+          _30 = _27;                       // scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:44: +9:47
+          StorageLive(_31);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:50: +9:55
+          _31 = _28;                       // scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:50: +9:55
+          _29 = Add(move _30, move _31);   // scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:44: +9:55
+          StorageDead(_31);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:54: +9:55
+          StorageDead(_30);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:54: +9:55
+          Deinit(_3);                      // scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:39: +9:56
+          ((_3 as Vmax).0: f32) = move _29; // scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:39: +9:56
+          discriminant(_3) = 3;            // scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:39: +9:56
+          StorageDead(_29);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:+9:55: +9:56
+          StorageDead(_28);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+9:55: +9:56
+          StorageDead(_27);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:+9:55: +9:56
+          goto -> bb10;                    // scope 0 at $DIR/early_otherwise_branch_68867.rs:+9:55: +9:56
       }
   
       bb10: {
-          Deinit(_0);                      // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:5: 27:7
-          ((_0 as Ok).0: ViewportPercentageLength) = move _3; // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:5: 27:7
-          discriminant(_0) = 0;            // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:5: 27:7
-          StorageDead(_3);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:27:6: 27:7
-          StorageDead(_4);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:28:1: 28:2
-          return;                          // scope 0 at $DIR/early_otherwise_branch_68867.rs:28:2: 28:2
+          Deinit(_0);                      // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:5: +11:7
+          ((_0 as Ok).0: ViewportPercentageLength) = move _3; // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:5: +11:7
+          discriminant(_0) = 0;            // scope 0 at $DIR/early_otherwise_branch_68867.rs:+5:5: +11:7
+          StorageDead(_3);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:+11:6: +11:7
+          StorageDead(_4);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:+12:1: +12:2
+          return;                          // scope 0 at $DIR/early_otherwise_branch_68867.rs:+12:2: +12:2
       }
   }
   
index 848f2feb32125aaa99da7ee1a30f33510b615068..321f57951b465309ffebc42d4c86b0d7dab64451 100644 (file)
@@ -2,94 +2,94 @@
 + // MIR for `noopt1` after EarlyOtherwiseBranch
   
   fn noopt1(_1: Option<u32>, _2: Option<u32>) -> u32 {
-      debug x => _1;                       // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:7:11: 7:12
-      debug y => _2;                       // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:7:27: 7:28
-      let mut _0: u32;                     // return place in scope 0 at $DIR/early_otherwise_branch_noopt.rs:7:46: 7:49
-      let mut _3: (std::option::Option<u32>, std::option::Option<u32>); // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:11: 8:17
-      let mut _4: std::option::Option<u32>; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:12: 8:13
-      let mut _5: std::option::Option<u32>; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:15: 8:16
-      let mut _6: isize;                   // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:11:16: 11:23
-      let mut _7: isize;                   // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:19: 9:26
-      let mut _8: isize;                   // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:10: 9:17
-      let _9: u32;                         // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:15: 9:16
-      let _10: u32;                        // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:24: 9:25
-      let _11: u32;                        // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:15: 10:16
-      let _12: u32;                        // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:11:21: 11:22
+      debug x => _1;                       // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:+0:11: +0:12
+      debug y => _2;                       // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:+0:27: +0:28
+      let mut _0: u32;                     // return place in scope 0 at $DIR/early_otherwise_branch_noopt.rs:+0:46: +0:49
+      let mut _3: (std::option::Option<u32>, std::option::Option<u32>); // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:+1:11: +1:17
+      let mut _4: std::option::Option<u32>; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:+1:12: +1:13
+      let mut _5: std::option::Option<u32>; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:+1:15: +1:16
+      let mut _6: isize;                   // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:+4:16: +4:23
+      let mut _7: isize;                   // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:+2:19: +2:26
+      let mut _8: isize;                   // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:+2:10: +2:17
+      let _9: u32;                         // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:+2:15: +2:16
+      let _10: u32;                        // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:+2:24: +2:25
+      let _11: u32;                        // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:+3:15: +3:16
+      let _12: u32;                        // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:+4:21: +4:22
       scope 1 {
-          debug a => _9;                   // in scope 1 at $DIR/early_otherwise_branch_noopt.rs:9:15: 9:16
-          debug b => _10;                  // in scope 1 at $DIR/early_otherwise_branch_noopt.rs:9:24: 9:25
+          debug a => _9;                   // in scope 1 at $DIR/early_otherwise_branch_noopt.rs:+2:15: +2:16
+          debug b => _10;                  // in scope 1 at $DIR/early_otherwise_branch_noopt.rs:+2:24: +2:25
       }
       scope 2 {
-          debug a => _11;                  // in scope 2 at $DIR/early_otherwise_branch_noopt.rs:10:15: 10:16
+          debug a => _11;                  // in scope 2 at $DIR/early_otherwise_branch_noopt.rs:+3:15: +3:16
       }
       scope 3 {
-          debug b => _12;                  // in scope 3 at $DIR/early_otherwise_branch_noopt.rs:11:21: 11:22
+          debug b => _12;                  // in scope 3 at $DIR/early_otherwise_branch_noopt.rs:+4:21: +4:22
       }
   
       bb0: {
-          StorageLive(_3);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:11: 8:17
-          StorageLive(_4);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:12: 8:13
-          _4 = _1;                         // scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:12: 8:13
-          StorageLive(_5);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:15: 8:16
-          _5 = _2;                         // scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:15: 8:16
-          Deinit(_3);                      // scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:11: 8:17
-          (_3.0: std::option::Option<u32>) = move _4; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:11: 8:17
-          (_3.1: std::option::Option<u32>) = move _5; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:11: 8:17
-          StorageDead(_5);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:16: 8:17
-          StorageDead(_4);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:16: 8:17
-          _8 = discriminant((_3.0: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:11: 8:17
-          switchInt(move _8) -> [0_isize: bb1, 1_isize: bb4, otherwise: bb3]; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:5: 8:17
+          StorageLive(_3);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:+1:11: +1:17
+          StorageLive(_4);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:+1:12: +1:13
+          _4 = _1;                         // scope 0 at $DIR/early_otherwise_branch_noopt.rs:+1:12: +1:13
+          StorageLive(_5);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:+1:15: +1:16
+          _5 = _2;                         // scope 0 at $DIR/early_otherwise_branch_noopt.rs:+1:15: +1:16
+          Deinit(_3);                      // scope 0 at $DIR/early_otherwise_branch_noopt.rs:+1:11: +1:17
+          (_3.0: std::option::Option<u32>) = move _4; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:+1:11: +1:17
+          (_3.1: std::option::Option<u32>) = move _5; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:+1:11: +1:17
+          StorageDead(_5);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:+1:16: +1:17
+          StorageDead(_4);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:+1:16: +1:17
+          _8 = discriminant((_3.0: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:+1:11: +1:17
+          switchInt(move _8) -> [0_isize: bb1, 1_isize: bb4, otherwise: bb3]; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:+1:5: +1:17
       }
   
       bb1: {
-          _6 = discriminant((_3.1: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:11: 8:17
-          switchInt(move _6) -> [0_isize: bb2, 1_isize: bb7, otherwise: bb3]; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:5: 8:17
+          _6 = discriminant((_3.1: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:+1:11: +1:17
+          switchInt(move _6) -> [0_isize: bb2, 1_isize: bb7, otherwise: bb3]; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:+1:5: +1:17
       }
   
       bb2: {
-          _0 = const 3_u32;                // scope 0 at $DIR/early_otherwise_branch_noopt.rs:12:25: 12:26
-          goto -> bb8;                     // scope 0 at $DIR/early_otherwise_branch_noopt.rs:12:25: 12:26
+          _0 = const 3_u32;                // scope 0 at $DIR/early_otherwise_branch_noopt.rs:+5:25: +5:26
+          goto -> bb8;                     // scope 0 at $DIR/early_otherwise_branch_noopt.rs:+5:25: +5:26
       }
   
       bb3: {
-          unreachable;                     // scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:11: 8:17
+          unreachable;                     // scope 0 at $DIR/early_otherwise_branch_noopt.rs:+1:11: +1:17
       }
   
       bb4: {
-          _7 = discriminant((_3.1: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:11: 8:17
-          switchInt(move _7) -> [0_isize: bb6, 1_isize: bb5, otherwise: bb3]; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:5: 8:17
+          _7 = discriminant((_3.1: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:+1:11: +1:17
+          switchInt(move _7) -> [0_isize: bb6, 1_isize: bb5, otherwise: bb3]; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:+1:5: +1:17
       }
   
       bb5: {
-          StorageLive(_9);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:15: 9:16
-          _9 = (((_3.0: std::option::Option<u32>) as Some).0: u32); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:15: 9:16
-          StorageLive(_10);                // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:24: 9:25
-          _10 = (((_3.1: std::option::Option<u32>) as Some).0: u32); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:24: 9:25
-          _0 = const 0_u32;                // scope 1 at $DIR/early_otherwise_branch_noopt.rs:9:31: 9:32
-          StorageDead(_10);                // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:31: 9:32
-          StorageDead(_9);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:31: 9:32
-          goto -> bb8;                     // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:31: 9:32
+          StorageLive(_9);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:+2:15: +2:16
+          _9 = (((_3.0: std::option::Option<u32>) as Some).0: u32); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:+2:15: +2:16
+          StorageLive(_10);                // scope 0 at $DIR/early_otherwise_branch_noopt.rs:+2:24: +2:25
+          _10 = (((_3.1: std::option::Option<u32>) as Some).0: u32); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:+2:24: +2:25
+          _0 = const 0_u32;                // scope 1 at $DIR/early_otherwise_branch_noopt.rs:+2:31: +2:32
+          StorageDead(_10);                // scope 0 at $DIR/early_otherwise_branch_noopt.rs:+2:31: +2:32
+          StorageDead(_9);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:+2:31: +2:32
+          goto -> bb8;                     // scope 0 at $DIR/early_otherwise_branch_noopt.rs:+2:31: +2:32
       }
   
       bb6: {
-          StorageLive(_11);                // scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:15: 10:16
-          _11 = (((_3.0: std::option::Option<u32>) as Some).0: u32); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:15: 10:16
-          _0 = const 1_u32;                // scope 2 at $DIR/early_otherwise_branch_noopt.rs:10:28: 10:29
-          StorageDead(_11);                // scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:28: 10:29
-          goto -> bb8;                     // scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:28: 10:29
+          StorageLive(_11);                // scope 0 at $DIR/early_otherwise_branch_noopt.rs:+3:15: +3:16
+          _11 = (((_3.0: std::option::Option<u32>) as Some).0: u32); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:+3:15: +3:16
+          _0 = const 1_u32;                // scope 2 at $DIR/early_otherwise_branch_noopt.rs:+3:28: +3:29
+          StorageDead(_11);                // scope 0 at $DIR/early_otherwise_branch_noopt.rs:+3:28: +3:29
+          goto -> bb8;                     // scope 0 at $DIR/early_otherwise_branch_noopt.rs:+3:28: +3:29
       }
   
       bb7: {
-          StorageLive(_12);                // scope 0 at $DIR/early_otherwise_branch_noopt.rs:11:21: 11:22
-          _12 = (((_3.1: std::option::Option<u32>) as Some).0: u32); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:11:21: 11:22
-          _0 = const 2_u32;                // scope 3 at $DIR/early_otherwise_branch_noopt.rs:11:28: 11:29
-          StorageDead(_12);                // scope 0 at $DIR/early_otherwise_branch_noopt.rs:11:28: 11:29
-          goto -> bb8;                     // scope 0 at $DIR/early_otherwise_branch_noopt.rs:11:28: 11:29
+          StorageLive(_12);                // scope 0 at $DIR/early_otherwise_branch_noopt.rs:+4:21: +4:22
+          _12 = (((_3.1: std::option::Option<u32>) as Some).0: u32); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:+4:21: +4:22
+          _0 = const 2_u32;                // scope 3 at $DIR/early_otherwise_branch_noopt.rs:+4:28: +4:29
+          StorageDead(_12);                // scope 0 at $DIR/early_otherwise_branch_noopt.rs:+4:28: +4:29
+          goto -> bb8;                     // scope 0 at $DIR/early_otherwise_branch_noopt.rs:+4:28: +4:29
       }
   
       bb8: {
-          StorageDead(_3);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:14:1: 14:2
-          return;                          // scope 0 at $DIR/early_otherwise_branch_noopt.rs:14:2: 14:2
+          StorageDead(_3);                 // scope 0 at $DIR/early_otherwise_branch_noopt.rs:+7:1: +7:2
+          return;                          // scope 0 at $DIR/early_otherwise_branch_noopt.rs:+7:2: +7:2
       }
   }
   
index 7d42c772f160ae04a72b2f18b427fc5204f2d8d9..8b556acb2c4520a2382270a677f56e4218062923 100644 (file)
@@ -2,46 +2,46 @@
 + // MIR for `no_deref_ptr` after EarlyOtherwiseBranch
   
   fn no_deref_ptr(_1: Option<i32>, _2: *const Option<i32>) -> i32 {
-      debug a => _1;                       // in scope 0 at $DIR/early_otherwise_branch_soundness.rs:18:24: 18:25
-      debug b => _2;                       // in scope 0 at $DIR/early_otherwise_branch_soundness.rs:18:40: 18:41
-      let mut _0: i32;                     // return place in scope 0 at $DIR/early_otherwise_branch_soundness.rs:18:66: 18:69
-      let mut _3: isize;                   // in scope 0 at $DIR/early_otherwise_branch_soundness.rs:21:9: 21:16
-      let mut _4: isize;                   // in scope 0 at $DIR/early_otherwise_branch_soundness.rs:22:13: 22:20
-      let _5: i32;                         // in scope 0 at $DIR/early_otherwise_branch_soundness.rs:22:18: 22:19
+      debug a => _1;                       // in scope 0 at $DIR/early_otherwise_branch_soundness.rs:+0:24: +0:25
+      debug b => _2;                       // in scope 0 at $DIR/early_otherwise_branch_soundness.rs:+0:40: +0:41
+      let mut _0: i32;                     // return place in scope 0 at $DIR/early_otherwise_branch_soundness.rs:+0:66: +0:69
+      let mut _3: isize;                   // in scope 0 at $DIR/early_otherwise_branch_soundness.rs:+3:9: +3:16
+      let mut _4: isize;                   // in scope 0 at $DIR/early_otherwise_branch_soundness.rs:+4:13: +4:20
+      let _5: i32;                         // in scope 0 at $DIR/early_otherwise_branch_soundness.rs:+4:18: +4:19
       scope 1 {
-          debug v => _5;                   // in scope 1 at $DIR/early_otherwise_branch_soundness.rs:22:18: 22:19
+          debug v => _5;                   // in scope 1 at $DIR/early_otherwise_branch_soundness.rs:+4:18: +4:19
       }
   
       bb0: {
-          _3 = discriminant(_1);           // scope 0 at $DIR/early_otherwise_branch_soundness.rs:19:11: 19:12
-          switchInt(move _3) -> [1_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_soundness.rs:19:5: 19:12
+          _3 = discriminant(_1);           // scope 0 at $DIR/early_otherwise_branch_soundness.rs:+1:11: +1:12
+          switchInt(move _3) -> [1_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_soundness.rs:+1:5: +1:12
       }
   
       bb1: {
-          _0 = const 0_i32;                // scope 0 at $DIR/early_otherwise_branch_soundness.rs:25:14: 25:15
-          goto -> bb5;                     // scope 0 at $DIR/early_otherwise_branch_soundness.rs:25:14: 25:15
+          _0 = const 0_i32;                // scope 0 at $DIR/early_otherwise_branch_soundness.rs:+7:14: +7:15
+          goto -> bb5;                     // scope 0 at $DIR/early_otherwise_branch_soundness.rs:+7:14: +7:15
       }
   
       bb2: {
-          _4 = discriminant((*_2));        // scope 0 at $DIR/early_otherwise_branch_soundness.rs:21:26: 21:28
-          switchInt(move _4) -> [1_isize: bb4, otherwise: bb3]; // scope 0 at $DIR/early_otherwise_branch_soundness.rs:21:20: 21:28
+          _4 = discriminant((*_2));        // scope 0 at $DIR/early_otherwise_branch_soundness.rs:+3:26: +3:28
+          switchInt(move _4) -> [1_isize: bb4, otherwise: bb3]; // scope 0 at $DIR/early_otherwise_branch_soundness.rs:+3:20: +3:28
       }
   
       bb3: {
-          _0 = const 0_i32;                // scope 0 at $DIR/early_otherwise_branch_soundness.rs:23:18: 23:19
-          goto -> bb5;                     // scope 0 at $DIR/early_otherwise_branch_soundness.rs:23:18: 23:19
+          _0 = const 0_i32;                // scope 0 at $DIR/early_otherwise_branch_soundness.rs:+5:18: +5:19
+          goto -> bb5;                     // scope 0 at $DIR/early_otherwise_branch_soundness.rs:+5:18: +5:19
       }
   
       bb4: {
-          StorageLive(_5);                 // scope 0 at $DIR/early_otherwise_branch_soundness.rs:22:18: 22:19
-          _5 = (((*_2) as Some).0: i32);   // scope 0 at $DIR/early_otherwise_branch_soundness.rs:22:18: 22:19
-          _0 = _5;                         // scope 1 at $DIR/early_otherwise_branch_soundness.rs:22:24: 22:25
-          StorageDead(_5);                 // scope 0 at $DIR/early_otherwise_branch_soundness.rs:22:24: 22:25
-          goto -> bb5;                     // scope 0 at $DIR/early_otherwise_branch_soundness.rs:22:24: 22:25
+          StorageLive(_5);                 // scope 0 at $DIR/early_otherwise_branch_soundness.rs:+4:18: +4:19
+          _5 = (((*_2) as Some).0: i32);   // scope 0 at $DIR/early_otherwise_branch_soundness.rs:+4:18: +4:19
+          _0 = _5;                         // scope 1 at $DIR/early_otherwise_branch_soundness.rs:+4:24: +4:25
+          StorageDead(_5);                 // scope 0 at $DIR/early_otherwise_branch_soundness.rs:+4:24: +4:25
+          goto -> bb5;                     // scope 0 at $DIR/early_otherwise_branch_soundness.rs:+4:24: +4:25
       }
   
       bb5: {
-          return;                          // scope 0 at $DIR/early_otherwise_branch_soundness.rs:27:2: 27:2
+          return;                          // scope 0 at $DIR/early_otherwise_branch_soundness.rs:+9:2: +9:2
       }
   }
   
index 2ee7374250217cb304c927795509db2b8281f4cf..3d7b3f75a8bf068cc4a9f6bc319e5e62292638bc 100644 (file)
@@ -2,39 +2,39 @@
 + // MIR for `no_downcast` after EarlyOtherwiseBranch
   
   fn no_downcast(_1: &E) -> u32 {
-      debug e => _1;                       // in scope 0 at $DIR/early_otherwise_branch_soundness.rs:12:16: 12:17
-      let mut _0: u32;                     // return place in scope 0 at $DIR/early_otherwise_branch_soundness.rs:12:26: 12:29
-      let mut _2: isize;                   // in scope 0 at $DIR/early_otherwise_branch_soundness.rs:13:20: 13:30
-      let mut _3: isize;                   // in scope 0 at $DIR/early_otherwise_branch_soundness.rs:13:12: 13:31
-      let mut _4: &E;                      // in scope 0 at $DIR/early_otherwise_branch_soundness.rs:12:16: 12:17
+      debug e => _1;                       // in scope 0 at $DIR/early_otherwise_branch_soundness.rs:+0:16: +0:17
+      let mut _0: u32;                     // return place in scope 0 at $DIR/early_otherwise_branch_soundness.rs:+0:26: +0:29
+      let mut _2: isize;                   // in scope 0 at $DIR/early_otherwise_branch_soundness.rs:+1:20: +1:30
+      let mut _3: isize;                   // in scope 0 at $DIR/early_otherwise_branch_soundness.rs:+1:12: +1:31
+      let mut _4: &E;                      // in scope 0 at $DIR/early_otherwise_branch_soundness.rs:+0:16: +0:17
       scope 1 {
       }
   
       bb0: {
-          _3 = discriminant((*_1));        // scope 1 at $DIR/early_otherwise_branch_soundness.rs:13:12: 13:31
-          switchInt(move _3) -> [1_isize: bb1, otherwise: bb3]; // scope 1 at $DIR/early_otherwise_branch_soundness.rs:13:12: 13:31
+          _3 = discriminant((*_1));        // scope 1 at $DIR/early_otherwise_branch_soundness.rs:+1:12: +1:31
+          switchInt(move _3) -> [1_isize: bb1, otherwise: bb3]; // scope 1 at $DIR/early_otherwise_branch_soundness.rs:+1:12: +1:31
       }
   
       bb1: {
-          StorageLive(_4);                 // scope 1 at $DIR/early_otherwise_branch_soundness.rs:13:12: 13:31
-          _4 = deref_copy (((*_1) as Some).0: &E); // scope 1 at $DIR/early_otherwise_branch_soundness.rs:13:12: 13:31
-          _2 = discriminant((*_4));        // scope 1 at $DIR/early_otherwise_branch_soundness.rs:13:12: 13:31
-          StorageDead(_4);                 // scope 1 at $DIR/early_otherwise_branch_soundness.rs:13:12: 13:31
-          switchInt(move _2) -> [1_isize: bb2, otherwise: bb3]; // scope 1 at $DIR/early_otherwise_branch_soundness.rs:13:12: 13:31
+          StorageLive(_4);                 // scope 1 at $DIR/early_otherwise_branch_soundness.rs:+1:12: +1:31
+          _4 = deref_copy (((*_1) as Some).0: &E); // scope 1 at $DIR/early_otherwise_branch_soundness.rs:+1:12: +1:31
+          _2 = discriminant((*_4));        // scope 1 at $DIR/early_otherwise_branch_soundness.rs:+1:12: +1:31
+          StorageDead(_4);                 // scope 1 at $DIR/early_otherwise_branch_soundness.rs:+1:12: +1:31
+          switchInt(move _2) -> [1_isize: bb2, otherwise: bb3]; // scope 1 at $DIR/early_otherwise_branch_soundness.rs:+1:12: +1:31
       }
   
       bb2: {
-          _0 = const 1_u32;                // scope 1 at $DIR/early_otherwise_branch_soundness.rs:13:38: 13:39
-          goto -> bb4;                     // scope 0 at $DIR/early_otherwise_branch_soundness.rs:13:5: 13:52
+          _0 = const 1_u32;                // scope 1 at $DIR/early_otherwise_branch_soundness.rs:+1:38: +1:39
+          goto -> bb4;                     // scope 0 at $DIR/early_otherwise_branch_soundness.rs:+1:5: +1:52
       }
   
       bb3: {
-          _0 = const 2_u32;                // scope 0 at $DIR/early_otherwise_branch_soundness.rs:13:49: 13:50
-          goto -> bb4;                     // scope 0 at $DIR/early_otherwise_branch_soundness.rs:13:5: 13:52
+          _0 = const 2_u32;                // scope 0 at $DIR/early_otherwise_branch_soundness.rs:+1:49: +1:50
+          goto -> bb4;                     // scope 0 at $DIR/early_otherwise_branch_soundness.rs:+1:5: +1:52
       }
   
       bb4: {
-          return;                          // scope 0 at $DIR/early_otherwise_branch_soundness.rs:14:2: 14:2
+          return;                          // scope 0 at $DIR/early_otherwise_branch_soundness.rs:+2:2: +2:2
       }
   }
   
index 1b4a469135cb6d5fa7945006b97a13226a77f305..afca2fd296075b28389dc46442a4ebf28e8c619f 100644 (file)
@@ -1,13 +1,13 @@
 // MIR for `bar` 0 mir_map
 
 fn bar(_1: Bar) -> usize {
-    debug bar => _1;                     // in scope 0 at $DIR/enum_cast.rs:22:8: 22:11
-    let mut _0: usize;                   // return place in scope 0 at $DIR/enum_cast.rs:22:21: 22:26
-    let mut _2: isize;                   // in scope 0 at $DIR/enum_cast.rs:23:5: 23:8
+    debug bar => _1;                     // in scope 0 at $DIR/enum_cast.rs:+0:8: +0:11
+    let mut _0: usize;                   // return place in scope 0 at $DIR/enum_cast.rs:+0:21: +0:26
+    let mut _2: isize;                   // in scope 0 at $DIR/enum_cast.rs:+1:5: +1:8
 
     bb0: {
-        _2 = discriminant(_1);           // scope 0 at $DIR/enum_cast.rs:23:5: 23:17
-        _0 = move _2 as usize (Misc);    // scope 0 at $DIR/enum_cast.rs:23:5: 23:17
-        return;                          // scope 0 at $DIR/enum_cast.rs:24:2: 24:2
+        _2 = discriminant(_1);           // scope 0 at $DIR/enum_cast.rs:+1:5: +1:17
+        _0 = move _2 as usize (Misc);    // scope 0 at $DIR/enum_cast.rs:+1:5: +1:17
+        return;                          // scope 0 at $DIR/enum_cast.rs:+2:2: +2:2
     }
 }
index 7724e89a22854965ab1ad2b4ca30d1e09ad5ecf6..c79596d78995394986bd042a76eb06c13370eb88 100644 (file)
@@ -1,13 +1,13 @@
 // MIR for `boo` 0 mir_map
 
 fn boo(_1: Boo) -> usize {
-    debug boo => _1;                     // in scope 0 at $DIR/enum_cast.rs:26:8: 26:11
-    let mut _0: usize;                   // return place in scope 0 at $DIR/enum_cast.rs:26:21: 26:26
-    let mut _2: u8;                      // in scope 0 at $DIR/enum_cast.rs:27:5: 27:8
+    debug boo => _1;                     // in scope 0 at $DIR/enum_cast.rs:+0:8: +0:11
+    let mut _0: usize;                   // return place in scope 0 at $DIR/enum_cast.rs:+0:21: +0:26
+    let mut _2: u8;                      // in scope 0 at $DIR/enum_cast.rs:+1:5: +1:8
 
     bb0: {
-        _2 = discriminant(_1);           // scope 0 at $DIR/enum_cast.rs:27:5: 27:17
-        _0 = move _2 as usize (Misc);    // scope 0 at $DIR/enum_cast.rs:27:5: 27:17
-        return;                          // scope 0 at $DIR/enum_cast.rs:28:2: 28:2
+        _2 = discriminant(_1);           // scope 0 at $DIR/enum_cast.rs:+1:5: +1:17
+        _0 = move _2 as usize (Misc);    // scope 0 at $DIR/enum_cast.rs:+1:5: +1:17
+        return;                          // scope 0 at $DIR/enum_cast.rs:+2:2: +2:2
     }
 }
index a9dcfadae75c716c37ebc749d1f4d83d66958ffd..8ced136db842ae8f72b2b648190dd2ceeb462c7e 100644 (file)
@@ -1,54 +1,54 @@
 // MIR for `droppy` 0 mir_map
 
 fn droppy() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/enum_cast.rs:39:13: 39:13
-    let _1: ();                          // in scope 0 at $DIR/enum_cast.rs:40:5: 45:6
-    let _2: Droppy;                      // in scope 0 at $DIR/enum_cast.rs:41:13: 41:14
-    let mut _4: isize;                   // in scope 0 at $DIR/enum_cast.rs:44:17: 44:18
-    let _5: Droppy;                      // in scope 0 at $DIR/enum_cast.rs:46:9: 46:10
+    let mut _0: ();                      // return place in scope 0 at $DIR/enum_cast.rs:+0:13: +0:13
+    let _1: ();                          // in scope 0 at $DIR/enum_cast.rs:+1:5: +6:6
+    let _2: Droppy;                      // in scope 0 at $DIR/enum_cast.rs:+2:13: +2:14
+    let mut _4: isize;                   // in scope 0 at $DIR/enum_cast.rs:+5:17: +5:18
+    let _5: Droppy;                      // in scope 0 at $DIR/enum_cast.rs:+7:9: +7:10
     scope 1 {
-        debug x => _2;                   // in scope 1 at $DIR/enum_cast.rs:41:13: 41:14
+        debug x => _2;                   // in scope 1 at $DIR/enum_cast.rs:+2:13: +2:14
         scope 2 {
-            debug y => _3;               // in scope 2 at $DIR/enum_cast.rs:44:13: 44:14
+            debug y => _3;               // in scope 2 at $DIR/enum_cast.rs:+5:13: +5:14
         }
         scope 3 {
-            let _3: usize;               // in scope 3 at $DIR/enum_cast.rs:44:13: 44:14
+            let _3: usize;               // in scope 3 at $DIR/enum_cast.rs:+5:13: +5:14
         }
     }
     scope 4 {
-        debug z => _5;                   // in scope 4 at $DIR/enum_cast.rs:46:9: 46:10
+        debug z => _5;                   // in scope 4 at $DIR/enum_cast.rs:+7:9: +7:10
     }
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/enum_cast.rs:40:5: 45:6
-        StorageLive(_2);                 // scope 0 at $DIR/enum_cast.rs:41:13: 41:14
-        _2 = Droppy::C;                  // scope 0 at $DIR/enum_cast.rs:41:17: 41:26
-        FakeRead(ForLet(None), _2);      // scope 0 at $DIR/enum_cast.rs:41:13: 41:14
-        StorageLive(_3);                 // scope 3 at $DIR/enum_cast.rs:44:13: 44:14
-        _4 = discriminant(_2);           // scope 3 at $DIR/enum_cast.rs:44:17: 44:27
-        _3 = move _4 as usize (Misc);    // scope 3 at $DIR/enum_cast.rs:44:17: 44:27
-        FakeRead(ForLet(None), _3);      // scope 3 at $DIR/enum_cast.rs:44:13: 44:14
-        _1 = const ();                   // scope 0 at $DIR/enum_cast.rs:40:5: 45:6
-        StorageDead(_3);                 // scope 1 at $DIR/enum_cast.rs:45:5: 45:6
-        drop(_2) -> [return: bb1, unwind: bb3]; // scope 0 at $DIR/enum_cast.rs:45:5: 45:6
+        StorageLive(_1);                 // scope 0 at $DIR/enum_cast.rs:+1:5: +6:6
+        StorageLive(_2);                 // scope 0 at $DIR/enum_cast.rs:+2:13: +2:14
+        _2 = Droppy::C;                  // scope 0 at $DIR/enum_cast.rs:+2:17: +2:26
+        FakeRead(ForLet(None), _2);      // scope 0 at $DIR/enum_cast.rs:+2:13: +2:14
+        StorageLive(_3);                 // scope 3 at $DIR/enum_cast.rs:+5:13: +5:14
+        _4 = discriminant(_2);           // scope 3 at $DIR/enum_cast.rs:+5:17: +5:27
+        _3 = move _4 as usize (Misc);    // scope 3 at $DIR/enum_cast.rs:+5:17: +5:27
+        FakeRead(ForLet(None), _3);      // scope 3 at $DIR/enum_cast.rs:+5:13: +5:14
+        _1 = const ();                   // scope 0 at $DIR/enum_cast.rs:+1:5: +6:6
+        StorageDead(_3);                 // scope 1 at $DIR/enum_cast.rs:+6:5: +6:6
+        drop(_2) -> [return: bb1, unwind: bb3]; // scope 0 at $DIR/enum_cast.rs:+6:5: +6:6
     }
 
     bb1: {
-        StorageDead(_2);                 // scope 0 at $DIR/enum_cast.rs:45:5: 45:6
-        StorageDead(_1);                 // scope 0 at $DIR/enum_cast.rs:45:5: 45:6
-        StorageLive(_5);                 // scope 0 at $DIR/enum_cast.rs:46:9: 46:10
-        _5 = Droppy::B;                  // scope 0 at $DIR/enum_cast.rs:46:13: 46:22
-        FakeRead(ForLet(None), _5);      // scope 0 at $DIR/enum_cast.rs:46:9: 46:10
-        _0 = const ();                   // scope 0 at $DIR/enum_cast.rs:39:13: 47:2
-        drop(_5) -> [return: bb2, unwind: bb3]; // scope 0 at $DIR/enum_cast.rs:47:1: 47:2
+        StorageDead(_2);                 // scope 0 at $DIR/enum_cast.rs:+6:5: +6:6
+        StorageDead(_1);                 // scope 0 at $DIR/enum_cast.rs:+6:5: +6:6
+        StorageLive(_5);                 // scope 0 at $DIR/enum_cast.rs:+7:9: +7:10
+        _5 = Droppy::B;                  // scope 0 at $DIR/enum_cast.rs:+7:13: +7:22
+        FakeRead(ForLet(None), _5);      // scope 0 at $DIR/enum_cast.rs:+7:9: +7:10
+        _0 = const ();                   // scope 0 at $DIR/enum_cast.rs:+0:13: +8:2
+        drop(_5) -> [return: bb2, unwind: bb3]; // scope 0 at $DIR/enum_cast.rs:+8:1: +8:2
     }
 
     bb2: {
-        StorageDead(_5);                 // scope 0 at $DIR/enum_cast.rs:47:1: 47:2
-        return;                          // scope 0 at $DIR/enum_cast.rs:47:2: 47:2
+        StorageDead(_5);                 // scope 0 at $DIR/enum_cast.rs:+8:1: +8:2
+        return;                          // scope 0 at $DIR/enum_cast.rs:+8:2: +8:2
     }
 
     bb3 (cleanup): {
-        resume;                          // scope 0 at $DIR/enum_cast.rs:39:1: 47:2
+        resume;                          // scope 0 at $DIR/enum_cast.rs:+0:1: +8:2
     }
 }
index d89dc9519239bc90fcee553c1715eb58e7cf3274..39d6adeba33e9bf09671171acf98b0404673ffd7 100644 (file)
@@ -1,13 +1,13 @@
 // MIR for `foo` 0 mir_map
 
 fn foo(_1: Foo) -> usize {
-    debug foo => _1;                     // in scope 0 at $DIR/enum_cast.rs:18:8: 18:11
-    let mut _0: usize;                   // return place in scope 0 at $DIR/enum_cast.rs:18:21: 18:26
-    let mut _2: isize;                   // in scope 0 at $DIR/enum_cast.rs:19:5: 19:8
+    debug foo => _1;                     // in scope 0 at $DIR/enum_cast.rs:+0:8: +0:11
+    let mut _0: usize;                   // return place in scope 0 at $DIR/enum_cast.rs:+0:21: +0:26
+    let mut _2: isize;                   // in scope 0 at $DIR/enum_cast.rs:+1:5: +1:8
 
     bb0: {
-        _2 = discriminant(_1);           // scope 0 at $DIR/enum_cast.rs:19:5: 19:17
-        _0 = move _2 as usize (Misc);    // scope 0 at $DIR/enum_cast.rs:19:5: 19:17
-        return;                          // scope 0 at $DIR/enum_cast.rs:20:2: 20:2
+        _2 = discriminant(_1);           // scope 0 at $DIR/enum_cast.rs:+1:5: +1:17
+        _0 = move _2 as usize (Misc);    // scope 0 at $DIR/enum_cast.rs:+1:5: +1:17
+        return;                          // scope 0 at $DIR/enum_cast.rs:+2:2: +2:2
     }
 }
index 174095888b48a4e8290934fa21bebf3fb29ce644..89982308e71619408943b34bf1e16f0fab8943ad 100644 (file)
@@ -2,34 +2,34 @@
 + // MIR for `opt` after InstCombine
   
   fn opt(_1: bool) -> i32 {
-      debug x => _1;                       // in scope 0 at $DIR/equal_true.rs:3:8: 3:9
-      let mut _0: i32;                     // return place in scope 0 at $DIR/equal_true.rs:3:20: 3:23
-      let mut _2: bool;                    // in scope 0 at $DIR/equal_true.rs:4:8: 4:17
-      let mut _3: bool;                    // in scope 0 at $DIR/equal_true.rs:4:8: 4:9
+      debug x => _1;                       // in scope 0 at $DIR/equal_true.rs:+0:8: +0:9
+      let mut _0: i32;                     // return place in scope 0 at $DIR/equal_true.rs:+0:20: +0:23
+      let mut _2: bool;                    // in scope 0 at $DIR/equal_true.rs:+1:8: +1:17
+      let mut _3: bool;                    // in scope 0 at $DIR/equal_true.rs:+1:8: +1:9
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/equal_true.rs:4:8: 4:17
-          StorageLive(_3);                 // scope 0 at $DIR/equal_true.rs:4:8: 4:9
-          _3 = _1;                         // scope 0 at $DIR/equal_true.rs:4:8: 4:9
--         _2 = Eq(move _3, const true);    // scope 0 at $DIR/equal_true.rs:4:8: 4:17
-+         _2 = move _3;                    // scope 0 at $DIR/equal_true.rs:4:8: 4:17
-          StorageDead(_3);                 // scope 0 at $DIR/equal_true.rs:4:16: 4:17
-          switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/equal_true.rs:4:8: 4:17
+          StorageLive(_2);                 // scope 0 at $DIR/equal_true.rs:+1:8: +1:17
+          StorageLive(_3);                 // scope 0 at $DIR/equal_true.rs:+1:8: +1:9
+          _3 = _1;                         // scope 0 at $DIR/equal_true.rs:+1:8: +1:9
+-         _2 = Eq(move _3, const true);    // scope 0 at $DIR/equal_true.rs:+1:8: +1:17
++         _2 = move _3;                    // scope 0 at $DIR/equal_true.rs:+1:8: +1:17
+          StorageDead(_3);                 // scope 0 at $DIR/equal_true.rs:+1:16: +1:17
+          switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/equal_true.rs:+1:8: +1:17
       }
   
       bb1: {
-          _0 = const 0_i32;                // scope 0 at $DIR/equal_true.rs:4:20: 4:21
-          goto -> bb3;                     // scope 0 at $DIR/equal_true.rs:4:5: 4:34
+          _0 = const 0_i32;                // scope 0 at $DIR/equal_true.rs:+1:20: +1:21
+          goto -> bb3;                     // scope 0 at $DIR/equal_true.rs:+1:5: +1:34
       }
   
       bb2: {
-          _0 = const 1_i32;                // scope 0 at $DIR/equal_true.rs:4:31: 4:32
-          goto -> bb3;                     // scope 0 at $DIR/equal_true.rs:4:5: 4:34
+          _0 = const 1_i32;                // scope 0 at $DIR/equal_true.rs:+1:31: +1:32
+          goto -> bb3;                     // scope 0 at $DIR/equal_true.rs:+1:5: +1:34
       }
   
       bb3: {
-          StorageDead(_2);                 // scope 0 at $DIR/equal_true.rs:4:33: 4:34
-          return;                          // scope 0 at $DIR/equal_true.rs:5:2: 5:2
+          StorageDead(_2);                 // scope 0 at $DIR/equal_true.rs:+1:33: +1:34
+          return;                          // scope 0 at $DIR/equal_true.rs:+2:2: +2:2
       }
   }
   
index 6b7b3db05419e764157e26267d95523ed66b67c9..d39145973624fb3dd51963f85626b18dab7a55f7 100644 (file)
@@ -1,83 +1,83 @@
 // MIR for `match_tuple` after SimplifyCfg-initial
 
 fn match_tuple(_1: (u32, bool, Option<i32>, u32)) -> u32 {
-    debug x => _1;                       // in scope 0 at $DIR/exponential-or.rs:4:16: 4:17
-    let mut _0: u32;                     // return place in scope 0 at $DIR/exponential-or.rs:4:53: 4:56
-    let mut _2: isize;                   // in scope 0 at $DIR/exponential-or.rs:6:37: 6:48
-    let mut _3: bool;                    // in scope 0 at $DIR/exponential-or.rs:6:70: 6:77
-    let mut _4: bool;                    // in scope 0 at $DIR/exponential-or.rs:6:70: 6:77
-    let mut _5: bool;                    // in scope 0 at $DIR/exponential-or.rs:6:62: 6:67
-    let mut _6: bool;                    // in scope 0 at $DIR/exponential-or.rs:6:62: 6:67
-    let _7: u32;                         // in scope 0 at $DIR/exponential-or.rs:6:10: 6:21
-    let _8: u32;                         // in scope 0 at $DIR/exponential-or.rs:6:57: 6:78
-    let mut _9: u32;                     // in scope 0 at $DIR/exponential-or.rs:6:83: 6:84
-    let mut _10: u32;                    // in scope 0 at $DIR/exponential-or.rs:6:87: 6:88
+    debug x => _1;                       // in scope 0 at $DIR/exponential-or.rs:+0:16: +0:17
+    let mut _0: u32;                     // return place in scope 0 at $DIR/exponential-or.rs:+0:53: +0:56
+    let mut _2: isize;                   // in scope 0 at $DIR/exponential-or.rs:+2:37: +2:48
+    let mut _3: bool;                    // in scope 0 at $DIR/exponential-or.rs:+2:70: +2:77
+    let mut _4: bool;                    // in scope 0 at $DIR/exponential-or.rs:+2:70: +2:77
+    let mut _5: bool;                    // in scope 0 at $DIR/exponential-or.rs:+2:62: +2:67
+    let mut _6: bool;                    // in scope 0 at $DIR/exponential-or.rs:+2:62: +2:67
+    let _7: u32;                         // in scope 0 at $DIR/exponential-or.rs:+2:10: +2:21
+    let _8: u32;                         // in scope 0 at $DIR/exponential-or.rs:+2:57: +2:78
+    let mut _9: u32;                     // in scope 0 at $DIR/exponential-or.rs:+2:83: +2:84
+    let mut _10: u32;                    // in scope 0 at $DIR/exponential-or.rs:+2:87: +2:88
     scope 1 {
-        debug y => _7;                   // in scope 1 at $DIR/exponential-or.rs:6:10: 6:21
-        debug z => _8;                   // in scope 1 at $DIR/exponential-or.rs:6:57: 6:78
+        debug y => _7;                   // in scope 1 at $DIR/exponential-or.rs:+2:10: +2:21
+        debug z => _8;                   // in scope 1 at $DIR/exponential-or.rs:+2:57: +2:78
     }
 
     bb0: {
-        FakeRead(ForMatchedPlace(None), _1); // scope 0 at $DIR/exponential-or.rs:5:11: 5:12
-        switchInt((_1.0: u32)) -> [1_u32: bb2, 4_u32: bb2, otherwise: bb1]; // scope 0 at $DIR/exponential-or.rs:6:15: 6:20
+        FakeRead(ForMatchedPlace(None), _1); // scope 0 at $DIR/exponential-or.rs:+1:11: +1:12
+        switchInt((_1.0: u32)) -> [1_u32: bb2, 4_u32: bb2, otherwise: bb1]; // scope 0 at $DIR/exponential-or.rs:+2:15: +2:20
     }
 
     bb1: {
-        _0 = const 0_u32;                // scope 0 at $DIR/exponential-or.rs:7:14: 7:15
-        goto -> bb10;                    // scope 0 at $DIR/exponential-or.rs:7:14: 7:15
+        _0 = const 0_u32;                // scope 0 at $DIR/exponential-or.rs:+3:14: +3:15
+        goto -> bb10;                    // scope 0 at $DIR/exponential-or.rs:+3:14: +3:15
     }
 
     bb2: {
-        _2 = discriminant((_1.2: std::option::Option<i32>)); // scope 0 at $DIR/exponential-or.rs:6:37: 6:55
-        switchInt(move _2) -> [0_isize: bb4, 1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/exponential-or.rs:6:37: 6:55
+        _2 = discriminant((_1.2: std::option::Option<i32>)); // scope 0 at $DIR/exponential-or.rs:+2:37: +2:55
+        switchInt(move _2) -> [0_isize: bb4, 1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/exponential-or.rs:+2:37: +2:55
     }
 
     bb3: {
-        switchInt((((_1.2: std::option::Option<i32>) as Some).0: i32)) -> [1_i32: bb4, 8_i32: bb4, otherwise: bb1]; // scope 0 at $DIR/exponential-or.rs:6:37: 6:55
+        switchInt((((_1.2: std::option::Option<i32>) as Some).0: i32)) -> [1_i32: bb4, 8_i32: bb4, otherwise: bb1]; // scope 0 at $DIR/exponential-or.rs:+2:37: +2:55
     }
 
     bb4: {
-        _5 = Le(const 6_u32, (_1.3: u32)); // scope 0 at $DIR/exponential-or.rs:6:62: 6:67
-        switchInt(move _5) -> [false: bb6, otherwise: bb5]; // scope 0 at $DIR/exponential-or.rs:6:62: 6:67
+        _5 = Le(const 6_u32, (_1.3: u32)); // scope 0 at $DIR/exponential-or.rs:+2:62: +2:67
+        switchInt(move _5) -> [false: bb6, otherwise: bb5]; // scope 0 at $DIR/exponential-or.rs:+2:62: +2:67
     }
 
     bb5: {
-        _6 = Le((_1.3: u32), const 9_u32); // scope 0 at $DIR/exponential-or.rs:6:62: 6:67
-        switchInt(move _6) -> [false: bb6, otherwise: bb8]; // scope 0 at $DIR/exponential-or.rs:6:62: 6:67
+        _6 = Le((_1.3: u32), const 9_u32); // scope 0 at $DIR/exponential-or.rs:+2:62: +2:67
+        switchInt(move _6) -> [false: bb6, otherwise: bb8]; // scope 0 at $DIR/exponential-or.rs:+2:62: +2:67
     }
 
     bb6: {
-        _3 = Le(const 13_u32, (_1.3: u32)); // scope 0 at $DIR/exponential-or.rs:6:70: 6:77
-        switchInt(move _3) -> [false: bb1, otherwise: bb7]; // scope 0 at $DIR/exponential-or.rs:6:70: 6:77
+        _3 = Le(const 13_u32, (_1.3: u32)); // scope 0 at $DIR/exponential-or.rs:+2:70: +2:77
+        switchInt(move _3) -> [false: bb1, otherwise: bb7]; // scope 0 at $DIR/exponential-or.rs:+2:70: +2:77
     }
 
     bb7: {
-        _4 = Le((_1.3: u32), const 16_u32); // scope 0 at $DIR/exponential-or.rs:6:70: 6:77
-        switchInt(move _4) -> [false: bb1, otherwise: bb8]; // scope 0 at $DIR/exponential-or.rs:6:70: 6:77
+        _4 = Le((_1.3: u32), const 16_u32); // scope 0 at $DIR/exponential-or.rs:+2:70: +2:77
+        switchInt(move _4) -> [false: bb1, otherwise: bb8]; // scope 0 at $DIR/exponential-or.rs:+2:70: +2:77
     }
 
     bb8: {
-        falseEdge -> [real: bb9, imaginary: bb1]; // scope 0 at $DIR/exponential-or.rs:6:9: 6:79
+        falseEdge -> [real: bb9, imaginary: bb1]; // scope 0 at $DIR/exponential-or.rs:+2:9: +2:79
     }
 
     bb9: {
-        StorageLive(_7);                 // scope 0 at $DIR/exponential-or.rs:6:10: 6:21
-        _7 = (_1.0: u32);                // scope 0 at $DIR/exponential-or.rs:6:10: 6:21
-        StorageLive(_8);                 // scope 0 at $DIR/exponential-or.rs:6:57: 6:78
-        _8 = (_1.3: u32);                // scope 0 at $DIR/exponential-or.rs:6:57: 6:78
-        StorageLive(_9);                 // scope 1 at $DIR/exponential-or.rs:6:83: 6:84
-        _9 = _7;                         // scope 1 at $DIR/exponential-or.rs:6:83: 6:84
-        StorageLive(_10);                // scope 1 at $DIR/exponential-or.rs:6:87: 6:88
-        _10 = _8;                        // scope 1 at $DIR/exponential-or.rs:6:87: 6:88
-        _0 = BitXor(move _9, move _10);  // scope 1 at $DIR/exponential-or.rs:6:83: 6:88
-        StorageDead(_10);                // scope 1 at $DIR/exponential-or.rs:6:87: 6:88
-        StorageDead(_9);                 // scope 1 at $DIR/exponential-or.rs:6:87: 6:88
-        StorageDead(_8);                 // scope 0 at $DIR/exponential-or.rs:6:87: 6:88
-        StorageDead(_7);                 // scope 0 at $DIR/exponential-or.rs:6:87: 6:88
-        goto -> bb10;                    // scope 0 at $DIR/exponential-or.rs:6:87: 6:88
+        StorageLive(_7);                 // scope 0 at $DIR/exponential-or.rs:+2:10: +2:21
+        _7 = (_1.0: u32);                // scope 0 at $DIR/exponential-or.rs:+2:10: +2:21
+        StorageLive(_8);                 // scope 0 at $DIR/exponential-or.rs:+2:57: +2:78
+        _8 = (_1.3: u32);                // scope 0 at $DIR/exponential-or.rs:+2:57: +2:78
+        StorageLive(_9);                 // scope 1 at $DIR/exponential-or.rs:+2:83: +2:84
+        _9 = _7;                         // scope 1 at $DIR/exponential-or.rs:+2:83: +2:84
+        StorageLive(_10);                // scope 1 at $DIR/exponential-or.rs:+2:87: +2:88
+        _10 = _8;                        // scope 1 at $DIR/exponential-or.rs:+2:87: +2:88
+        _0 = BitXor(move _9, move _10);  // scope 1 at $DIR/exponential-or.rs:+2:83: +2:88
+        StorageDead(_10);                // scope 1 at $DIR/exponential-or.rs:+2:87: +2:88
+        StorageDead(_9);                 // scope 1 at $DIR/exponential-or.rs:+2:87: +2:88
+        StorageDead(_8);                 // scope 0 at $DIR/exponential-or.rs:+2:87: +2:88
+        StorageDead(_7);                 // scope 0 at $DIR/exponential-or.rs:+2:87: +2:88
+        goto -> bb10;                    // scope 0 at $DIR/exponential-or.rs:+2:87: +2:88
     }
 
     bb10: {
-        return;                          // scope 0 at $DIR/exponential-or.rs:9:2: 9:2
+        return;                          // scope 0 at $DIR/exponential-or.rs:+5:2: +5:2
     }
 }
index bcc6042f2fb622b8caddad6ae18151a7aa6aa825..c63433d36203da7d28e64d3c4b1ff3da198318a4 100644 (file)
@@ -1,13 +1,13 @@
 // MIR for `std::ops::Fn::call` before AddMovesForPackedDrops
 
 fn std::ops::Fn::call(_1: *const fn(), _2: ()) -> <fn() as FnOnce<()>>::Output {
-    let mut _0: <fn() as std::ops::FnOnce<()>>::Output; // return place in scope 0 at $SRC_DIR/core/src/ops/function.rs:LL:COL
+    let mut _0: <fn() as std::ops::FnOnce<()>>::Output; // return place in scope 0 at $SRC_DIR/core/src/ops/function.rs:+0:5: +0:67
 
     bb0: {
-        _0 = move (*_1)() -> bb1;        // scope 0 at $SRC_DIR/core/src/ops/function.rs:LL:COL
+        _0 = move (*_1)() -> bb1;        // scope 0 at $SRC_DIR/core/src/ops/function.rs:+0:5: +0:67
     }
 
     bb1: {
-        return;                          // scope 0 at $SRC_DIR/core/src/ops/function.rs:LL:COL
+        return;                          // scope 0 at $SRC_DIR/core/src/ops/function.rs:+0:5: +0:67
     }
 }
index a930d83b9e79833cd367633751502039b47ada4c..dca36b1a76d0ff4854eb09bb8efcf0bf9a10c2e5 100644 (file)
 + // MIR for `float_to_exponential_common` after ConstProp
   
   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
-      let mut _0: std::result::Result<(), std::fmt::Error>; // return place in scope 0 at $DIR/funky_arms.rs:11:85: 11:91
-      let _4: bool;                        // in scope 0 at $DIR/funky_arms.rs:15:9: 15:19
-      let mut _5: &std::fmt::Formatter;    // in scope 0 at $DIR/funky_arms.rs:15:22: 15:37
-      let mut _7: std::option::Option<usize>; // in scope 0 at $DIR/funky_arms.rs:24:30: 24:45
-      let mut _8: &std::fmt::Formatter;    // in scope 0 at $DIR/funky_arms.rs:24:30: 24:45
-      let mut _9: isize;                   // in scope 0 at $DIR/funky_arms.rs:24:12: 24:27
-      let mut _11: &mut std::fmt::Formatter; // in scope 0 at $DIR/funky_arms.rs:26:43: 26:46
-      let mut _12: &T;                     // in scope 0 at $DIR/funky_arms.rs:26:48: 26:51
-      let mut _13: core::num::flt2dec::Sign; // in scope 0 at $DIR/funky_arms.rs:26:53: 26:57
-      let mut _14: u32;                    // in scope 0 at $DIR/funky_arms.rs:26:59: 26:79
-      let mut _15: u32;                    // in scope 0 at $DIR/funky_arms.rs:26:59: 26:75
-      let mut _16: usize;                  // in scope 0 at $DIR/funky_arms.rs:26:59: 26:68
-      let mut _17: bool;                   // in scope 0 at $DIR/funky_arms.rs:26:81: 26:86
-      let mut _18: &mut std::fmt::Formatter; // in scope 0 at $DIR/funky_arms.rs:28:46: 28:49
-      let mut _19: &T;                     // in scope 0 at $DIR/funky_arms.rs:28:51: 28:54
-      let mut _20: core::num::flt2dec::Sign; // in scope 0 at $DIR/funky_arms.rs:28:56: 28:60
-      let mut _21: bool;                   // in scope 0 at $DIR/funky_arms.rs:28:62: 28:67
+      debug fmt => _1;                     // in scope 0 at $DIR/funky_arms.rs:+0:35: +0:38
+      debug num => _2;                     // in scope 0 at $DIR/funky_arms.rs:+0:60: +0:63
+      debug upper => _3;                   // in scope 0 at $DIR/funky_arms.rs:+0:69: +0:74
+      let mut _0: std::result::Result<(), std::fmt::Error>; // return place in scope 0 at $DIR/funky_arms.rs:+0:85: +0:91
+      let _4: bool;                        // in scope 0 at $DIR/funky_arms.rs:+4:9: +4:19
+      let mut _5: &std::fmt::Formatter;    // in scope 0 at $DIR/funky_arms.rs:+4:22: +4:37
+      let mut _7: std::option::Option<usize>; // in scope 0 at $DIR/funky_arms.rs:+13:30: +13:45
+      let mut _8: &std::fmt::Formatter;    // in scope 0 at $DIR/funky_arms.rs:+13:30: +13:45
+      let mut _9: isize;                   // in scope 0 at $DIR/funky_arms.rs:+13:12: +13:27
+      let mut _11: &mut std::fmt::Formatter; // in scope 0 at $DIR/funky_arms.rs:+15:43: +15:46
+      let mut _12: &T;                     // in scope 0 at $DIR/funky_arms.rs:+15:48: +15:51
+      let mut _13: core::num::flt2dec::Sign; // in scope 0 at $DIR/funky_arms.rs:+15:53: +15:57
+      let mut _14: u32;                    // in scope 0 at $DIR/funky_arms.rs:+15:59: +15:79
+      let mut _15: u32;                    // in scope 0 at $DIR/funky_arms.rs:+15:59: +15:75
+      let mut _16: usize;                  // in scope 0 at $DIR/funky_arms.rs:+15:59: +15:68
+      let mut _17: bool;                   // in scope 0 at $DIR/funky_arms.rs:+15:81: +15:86
+      let mut _18: &mut std::fmt::Formatter; // in scope 0 at $DIR/funky_arms.rs:+17:46: +17:49
+      let mut _19: &T;                     // in scope 0 at $DIR/funky_arms.rs:+17:51: +17:54
+      let mut _20: core::num::flt2dec::Sign; // in scope 0 at $DIR/funky_arms.rs:+17:56: +17:60
+      let mut _21: bool;                   // in scope 0 at $DIR/funky_arms.rs:+17:62: +17:67
       scope 1 {
-          debug force_sign => _4;          // in scope 1 at $DIR/funky_arms.rs:15:9: 15:19
-          let _6: core::num::flt2dec::Sign; // in scope 1 at $DIR/funky_arms.rs:19:9: 19:13
+          debug force_sign => _4;          // in scope 1 at $DIR/funky_arms.rs:+4:9: +4:19
+          let _6: core::num::flt2dec::Sign; // in scope 1 at $DIR/funky_arms.rs:+8:9: +8:13
           scope 2 {
-              debug sign => _6;            // in scope 2 at $DIR/funky_arms.rs:19:9: 19:13
+              debug sign => _6;            // in scope 2 at $DIR/funky_arms.rs:+8:9: +8:13
               scope 3 {
-                  debug precision => _10;  // in scope 3 at $DIR/funky_arms.rs:24:17: 24:26
-                  let _10: usize;          // in scope 3 at $DIR/funky_arms.rs:24:17: 24:26
+                  debug precision => _10;  // in scope 3 at $DIR/funky_arms.rs:+13:17: +13:26
+                  let _10: usize;          // in scope 3 at $DIR/funky_arms.rs:+13:17: +13:26
               }
           }
       }
   
       bb0: {
-          StorageLive(_4);                 // scope 0 at $DIR/funky_arms.rs:15:9: 15:19
-          StorageLive(_5);                 // scope 0 at $DIR/funky_arms.rs:15:22: 15:37
-          _5 = &(*_1);                     // scope 0 at $DIR/funky_arms.rs:15:22: 15:37
-          _4 = Formatter::sign_plus(move _5) -> bb1; // scope 0 at $DIR/funky_arms.rs:15:22: 15:37
+          StorageLive(_4);                 // scope 0 at $DIR/funky_arms.rs:+4:9: +4:19
+          StorageLive(_5);                 // scope 0 at $DIR/funky_arms.rs:+4:22: +4:37
+          _5 = &(*_1);                     // scope 0 at $DIR/funky_arms.rs:+4:22: +4:37
+          _4 = Formatter::sign_plus(move _5) -> bb1; // scope 0 at $DIR/funky_arms.rs:+4:22: +4:37
                                            // mir::Constant
                                            // + span: $DIR/funky_arms.rs:15:26: 15:35
                                            // + literal: Const { ty: for<'r> fn(&'r Formatter) -> bool {Formatter::sign_plus}, val: Value(<ZST>) }
       }
   
       bb1: {
-          StorageDead(_5);                 // scope 0 at $DIR/funky_arms.rs:15:36: 15:37
-          StorageLive(_6);                 // scope 1 at $DIR/funky_arms.rs:19:9: 19:13
-          switchInt(_4) -> [false: bb3, otherwise: bb2]; // scope 1 at $DIR/funky_arms.rs:19:16: 19:32
+          StorageDead(_5);                 // scope 0 at $DIR/funky_arms.rs:+4:36: +4:37
+          StorageLive(_6);                 // scope 1 at $DIR/funky_arms.rs:+8:9: +8:13
+          switchInt(_4) -> [false: bb3, otherwise: bb2]; // scope 1 at $DIR/funky_arms.rs:+8:16: +8:32
       }
   
       bb2: {
-          Deinit(_6);                      // scope 1 at $DIR/funky_arms.rs:21:17: 21:41
-          discriminant(_6) = 1;            // scope 1 at $DIR/funky_arms.rs:21:17: 21:41
-          goto -> bb4;                     // scope 1 at $DIR/funky_arms.rs:21:17: 21:41
+          Deinit(_6);                      // scope 1 at $DIR/funky_arms.rs:+10:17: +10:41
+          discriminant(_6) = 1;            // scope 1 at $DIR/funky_arms.rs:+10:17: +10:41
+          goto -> bb4;                     // scope 1 at $DIR/funky_arms.rs:+10:17: +10:41
       }
   
       bb3: {
-          Deinit(_6);                      // scope 1 at $DIR/funky_arms.rs:20:18: 20:38
-          discriminant(_6) = 0;            // scope 1 at $DIR/funky_arms.rs:20:18: 20:38
-          goto -> bb4;                     // scope 1 at $DIR/funky_arms.rs:20:18: 20:38
+          Deinit(_6);                      // scope 1 at $DIR/funky_arms.rs:+9:18: +9:38
+          discriminant(_6) = 0;            // scope 1 at $DIR/funky_arms.rs:+9:18: +9:38
+          goto -> bb4;                     // scope 1 at $DIR/funky_arms.rs:+9:18: +9:38
       }
   
       bb4: {
-          StorageLive(_7);                 // scope 3 at $DIR/funky_arms.rs:24:30: 24:45
-          StorageLive(_8);                 // scope 3 at $DIR/funky_arms.rs:24:30: 24:45
-          _8 = &(*_1);                     // scope 3 at $DIR/funky_arms.rs:24:30: 24:45
-          _7 = Formatter::precision(move _8) -> bb5; // scope 3 at $DIR/funky_arms.rs:24:30: 24:45
+          StorageLive(_7);                 // scope 3 at $DIR/funky_arms.rs:+13:30: +13:45
+          StorageLive(_8);                 // scope 3 at $DIR/funky_arms.rs:+13:30: +13:45
+          _8 = &(*_1);                     // scope 3 at $DIR/funky_arms.rs:+13:30: +13:45
+          _7 = Formatter::precision(move _8) -> bb5; // scope 3 at $DIR/funky_arms.rs:+13:30: +13:45
                                            // mir::Constant
                                            // + span: $DIR/funky_arms.rs:24:34: 24:43
                                            // + literal: Const { ty: for<'r> fn(&'r Formatter) -> Option<usize> {Formatter::precision}, val: Value(<ZST>) }
       }
   
       bb5: {
-          StorageDead(_8);                 // scope 3 at $DIR/funky_arms.rs:24:44: 24:45
-          _9 = discriminant(_7);           // scope 3 at $DIR/funky_arms.rs:24:12: 24:27
-          switchInt(move _9) -> [1_isize: bb6, otherwise: bb8]; // scope 3 at $DIR/funky_arms.rs:24:12: 24:27
+          StorageDead(_8);                 // scope 3 at $DIR/funky_arms.rs:+13:44: +13:45
+          _9 = discriminant(_7);           // scope 3 at $DIR/funky_arms.rs:+13:12: +13:27
+          switchInt(move _9) -> [1_isize: bb6, otherwise: bb8]; // scope 3 at $DIR/funky_arms.rs:+13:12: +13:27
       }
   
       bb6: {
-          StorageLive(_10);                // scope 3 at $DIR/funky_arms.rs:24:17: 24:26
-          _10 = ((_7 as Some).0: usize);   // scope 3 at $DIR/funky_arms.rs:24:17: 24:26
-          StorageLive(_11);                // scope 3 at $DIR/funky_arms.rs:26:43: 26:46
-          _11 = &mut (*_1);                // scope 3 at $DIR/funky_arms.rs:26:43: 26:46
-          StorageLive(_12);                // scope 3 at $DIR/funky_arms.rs:26:48: 26:51
-          _12 = _2;                        // scope 3 at $DIR/funky_arms.rs:26:48: 26:51
-          StorageLive(_13);                // scope 3 at $DIR/funky_arms.rs:26:53: 26:57
-          _13 = _6;                        // scope 3 at $DIR/funky_arms.rs:26:53: 26:57
-          StorageLive(_14);                // scope 3 at $DIR/funky_arms.rs:26:59: 26:79
-          StorageLive(_15);                // scope 3 at $DIR/funky_arms.rs:26:59: 26:75
-          StorageLive(_16);                // scope 3 at $DIR/funky_arms.rs:26:59: 26:68
-          _16 = _10;                       // scope 3 at $DIR/funky_arms.rs:26:59: 26:68
-          _15 = move _16 as u32 (Misc);    // scope 3 at $DIR/funky_arms.rs:26:59: 26:75
-          StorageDead(_16);                // scope 3 at $DIR/funky_arms.rs:26:74: 26:75
-          _14 = Add(move _15, const 1_u32); // scope 3 at $DIR/funky_arms.rs:26:59: 26:79
-          StorageDead(_15);                // scope 3 at $DIR/funky_arms.rs:26:78: 26:79
-          StorageLive(_17);                // scope 3 at $DIR/funky_arms.rs:26:81: 26:86
-          _17 = _3;                        // scope 3 at $DIR/funky_arms.rs:26:81: 26:86
-          _0 = float_to_exponential_common_exact::<T>(move _11, move _12, move _13, move _14, move _17) -> bb7; // scope 3 at $DIR/funky_arms.rs:26:9: 26:87
+          StorageLive(_10);                // scope 3 at $DIR/funky_arms.rs:+13:17: +13:26
+          _10 = ((_7 as Some).0: usize);   // scope 3 at $DIR/funky_arms.rs:+13:17: +13:26
+          StorageLive(_11);                // scope 3 at $DIR/funky_arms.rs:+15:43: +15:46
+          _11 = &mut (*_1);                // scope 3 at $DIR/funky_arms.rs:+15:43: +15:46
+          StorageLive(_12);                // scope 3 at $DIR/funky_arms.rs:+15:48: +15:51
+          _12 = _2;                        // scope 3 at $DIR/funky_arms.rs:+15:48: +15:51
+          StorageLive(_13);                // scope 3 at $DIR/funky_arms.rs:+15:53: +15:57
+          _13 = _6;                        // scope 3 at $DIR/funky_arms.rs:+15:53: +15:57
+          StorageLive(_14);                // scope 3 at $DIR/funky_arms.rs:+15:59: +15:79
+          StorageLive(_15);                // scope 3 at $DIR/funky_arms.rs:+15:59: +15:75
+          StorageLive(_16);                // scope 3 at $DIR/funky_arms.rs:+15:59: +15:68
+          _16 = _10;                       // scope 3 at $DIR/funky_arms.rs:+15:59: +15:68
+          _15 = move _16 as u32 (Misc);    // scope 3 at $DIR/funky_arms.rs:+15:59: +15:75
+          StorageDead(_16);                // scope 3 at $DIR/funky_arms.rs:+15:74: +15:75
+          _14 = Add(move _15, const 1_u32); // scope 3 at $DIR/funky_arms.rs:+15:59: +15:79
+          StorageDead(_15);                // scope 3 at $DIR/funky_arms.rs:+15:78: +15:79
+          StorageLive(_17);                // scope 3 at $DIR/funky_arms.rs:+15:81: +15:86
+          _17 = _3;                        // scope 3 at $DIR/funky_arms.rs:+15:81: +15:86
+          _0 = float_to_exponential_common_exact::<T>(move _11, move _12, move _13, move _14, move _17) -> bb7; // scope 3 at $DIR/funky_arms.rs:+15:9: +15:87
                                            // mir::Constant
                                            // + span: $DIR/funky_arms.rs:26:9: 26:42
                                            // + literal: Const { ty: for<'r, 's, 't0> fn(&'r mut Formatter<'s>, &'t0 T, Sign, u32, bool) -> Result<(), std::fmt::Error> {float_to_exponential_common_exact::<T>}, val: Value(<ZST>) }
       }
   
       bb7: {
-          StorageDead(_17);                // scope 3 at $DIR/funky_arms.rs:26:86: 26:87
-          StorageDead(_14);                // scope 3 at $DIR/funky_arms.rs:26:86: 26:87
-          StorageDead(_13);                // scope 3 at $DIR/funky_arms.rs:26:86: 26:87
-          StorageDead(_12);                // scope 3 at $DIR/funky_arms.rs:26:86: 26:87
-          StorageDead(_11);                // scope 3 at $DIR/funky_arms.rs:26:86: 26:87
-          StorageDead(_10);                // scope 2 at $DIR/funky_arms.rs:27:5: 27:6
-          goto -> bb10;                    // scope 2 at $DIR/funky_arms.rs:24:5: 29:6
+          StorageDead(_17);                // scope 3 at $DIR/funky_arms.rs:+15:86: +15:87
+          StorageDead(_14);                // scope 3 at $DIR/funky_arms.rs:+15:86: +15:87
+          StorageDead(_13);                // scope 3 at $DIR/funky_arms.rs:+15:86: +15:87
+          StorageDead(_12);                // scope 3 at $DIR/funky_arms.rs:+15:86: +15:87
+          StorageDead(_11);                // scope 3 at $DIR/funky_arms.rs:+15:86: +15:87
+          StorageDead(_10);                // scope 2 at $DIR/funky_arms.rs:+16:5: +16:6
+          goto -> bb10;                    // scope 2 at $DIR/funky_arms.rs:+13:5: +18:6
       }
   
       bb8: {
-          StorageLive(_18);                // scope 2 at $DIR/funky_arms.rs:28:46: 28:49
-          _18 = &mut (*_1);                // scope 2 at $DIR/funky_arms.rs:28:46: 28:49
-          StorageLive(_19);                // scope 2 at $DIR/funky_arms.rs:28:51: 28:54
-          _19 = _2;                        // scope 2 at $DIR/funky_arms.rs:28:51: 28:54
-          StorageLive(_20);                // scope 2 at $DIR/funky_arms.rs:28:56: 28:60
-          _20 = _6;                        // scope 2 at $DIR/funky_arms.rs:28:56: 28:60
-          StorageLive(_21);                // scope 2 at $DIR/funky_arms.rs:28:62: 28:67
-          _21 = _3;                        // scope 2 at $DIR/funky_arms.rs:28:62: 28:67
-          _0 = float_to_exponential_common_shortest::<T>(move _18, move _19, move _20, move _21) -> bb9; // scope 2 at $DIR/funky_arms.rs:28:9: 28:68
+          StorageLive(_18);                // scope 2 at $DIR/funky_arms.rs:+17:46: +17:49
+          _18 = &mut (*_1);                // scope 2 at $DIR/funky_arms.rs:+17:46: +17:49
+          StorageLive(_19);                // scope 2 at $DIR/funky_arms.rs:+17:51: +17:54
+          _19 = _2;                        // scope 2 at $DIR/funky_arms.rs:+17:51: +17:54
+          StorageLive(_20);                // scope 2 at $DIR/funky_arms.rs:+17:56: +17:60
+          _20 = _6;                        // scope 2 at $DIR/funky_arms.rs:+17:56: +17:60
+          StorageLive(_21);                // scope 2 at $DIR/funky_arms.rs:+17:62: +17:67
+          _21 = _3;                        // scope 2 at $DIR/funky_arms.rs:+17:62: +17:67
+          _0 = float_to_exponential_common_shortest::<T>(move _18, move _19, move _20, move _21) -> bb9; // scope 2 at $DIR/funky_arms.rs:+17:9: +17:68
                                            // mir::Constant
                                            // + span: $DIR/funky_arms.rs:28:9: 28:45
                                            // + literal: Const { ty: for<'r, 's, 't0> fn(&'r mut Formatter<'s>, &'t0 T, Sign, bool) -> Result<(), std::fmt::Error> {float_to_exponential_common_shortest::<T>}, val: Value(<ZST>) }
       }
   
       bb9: {
-          StorageDead(_21);                // scope 2 at $DIR/funky_arms.rs:28:67: 28:68
-          StorageDead(_20);                // scope 2 at $DIR/funky_arms.rs:28:67: 28:68
-          StorageDead(_19);                // scope 2 at $DIR/funky_arms.rs:28:67: 28:68
-          StorageDead(_18);                // scope 2 at $DIR/funky_arms.rs:28:67: 28:68
-          goto -> bb10;                    // scope 2 at $DIR/funky_arms.rs:24:5: 29:6
+          StorageDead(_21);                // scope 2 at $DIR/funky_arms.rs:+17:67: +17:68
+          StorageDead(_20);                // scope 2 at $DIR/funky_arms.rs:+17:67: +17:68
+          StorageDead(_19);                // scope 2 at $DIR/funky_arms.rs:+17:67: +17:68
+          StorageDead(_18);                // scope 2 at $DIR/funky_arms.rs:+17:67: +17:68
+          goto -> bb10;                    // scope 2 at $DIR/funky_arms.rs:+13:5: +18:6
       }
   
       bb10: {
-          StorageDead(_6);                 // scope 1 at $DIR/funky_arms.rs:30:1: 30:2
-          StorageDead(_4);                 // scope 0 at $DIR/funky_arms.rs:30:1: 30:2
-          StorageDead(_7);                 // scope 0 at $DIR/funky_arms.rs:30:1: 30:2
-          return;                          // scope 0 at $DIR/funky_arms.rs:30:2: 30:2
+          StorageDead(_6);                 // scope 1 at $DIR/funky_arms.rs:+19:1: +19:2
+          StorageDead(_4);                 // scope 0 at $DIR/funky_arms.rs:+19:1: +19:2
+          StorageDead(_7);                 // scope 0 at $DIR/funky_arms.rs:+19:1: +19:2
+          return;                          // scope 0 at $DIR/funky_arms.rs:+19:2: +19:2
       }
   }
   
index c78c345dec224e70a4a3938e78d3b7f7c964e715..09765c7b9974b3a6b73e154a866be2e9cb08a8c7 100644 (file)
 } */
 
 fn main::{closure#0}(_1: *mut [generator@$DIR/generator-drop-cleanup.rs:10:15: 10:17]) -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/generator-drop-cleanup.rs:10:15: 10:17
-    let mut _2: ();                      // in scope 0 at $DIR/generator-drop-cleanup.rs:10:15: 10:17
-    let _3: std::string::String;         // in scope 0 at $DIR/generator-drop-cleanup.rs:11:13: 11:15
-    let _4: ();                          // in scope 0 at $DIR/generator-drop-cleanup.rs:12:9: 12:14
-    let mut _5: ();                      // in scope 0 at $DIR/generator-drop-cleanup.rs:12:9: 12:14
-    let mut _6: ();                      // in scope 0 at $DIR/generator-drop-cleanup.rs:10:18: 10:18
-    let mut _7: ();                      // in scope 0 at $DIR/generator-drop-cleanup.rs:10:15: 10:17
-    let mut _8: u32;                     // in scope 0 at $DIR/generator-drop-cleanup.rs:10:15: 10:17
+    let mut _0: ();                      // return place in scope 0 at $DIR/generator-drop-cleanup.rs:+0:15: +0:17
+    let mut _2: ();                      // in scope 0 at $DIR/generator-drop-cleanup.rs:+0:15: +0:17
+    let _3: std::string::String;         // in scope 0 at $DIR/generator-drop-cleanup.rs:+1:13: +1:15
+    let _4: ();                          // in scope 0 at $DIR/generator-drop-cleanup.rs:+2:9: +2:14
+    let mut _5: ();                      // in scope 0 at $DIR/generator-drop-cleanup.rs:+2:9: +2:14
+    let mut _6: ();                      // in scope 0 at $DIR/generator-drop-cleanup.rs:+0:18: +0:18
+    let mut _7: ();                      // in scope 0 at $DIR/generator-drop-cleanup.rs:+0:15: +0:17
+    let mut _8: u32;                     // in scope 0 at $DIR/generator-drop-cleanup.rs:+0:15: +0:17
     scope 1 {
-        debug _s => (((*_1) as variant#3).0: std::string::String); // in scope 1 at $DIR/generator-drop-cleanup.rs:11:13: 11:15
+        debug _s => (((*_1) as variant#3).0: std::string::String); // in scope 1 at $DIR/generator-drop-cleanup.rs:+1:13: +1:15
     }
 
     bb0: {
-        _8 = discriminant((*_1));        // scope 0 at $DIR/generator-drop-cleanup.rs:10:15: 10:17
-        switchInt(move _8) -> [0_u32: bb7, 3_u32: bb10, otherwise: bb11]; // scope 0 at $DIR/generator-drop-cleanup.rs:10:15: 10:17
+        _8 = discriminant((*_1));        // scope 0 at $DIR/generator-drop-cleanup.rs:+0:15: +0:17
+        switchInt(move _8) -> [0_u32: bb7, 3_u32: bb10, otherwise: bb11]; // scope 0 at $DIR/generator-drop-cleanup.rs:+0:15: +0:17
     }
 
     bb1: {
-        StorageDead(_5);                 // scope 1 at $DIR/generator-drop-cleanup.rs:12:13: 12:14
-        StorageDead(_4);                 // scope 1 at $DIR/generator-drop-cleanup.rs:12:14: 12:15
-        drop((((*_1) as variant#3).0: std::string::String)) -> [return: bb2, unwind: bb5]; // scope 0 at $DIR/generator-drop-cleanup.rs:13:5: 13:6
+        StorageDead(_5);                 // scope 1 at $DIR/generator-drop-cleanup.rs:+2:13: +2:14
+        StorageDead(_4);                 // scope 1 at $DIR/generator-drop-cleanup.rs:+2:14: +2:15
+        drop((((*_1) as variant#3).0: std::string::String)) -> [return: bb2, unwind: bb5]; // scope 0 at $DIR/generator-drop-cleanup.rs:+3:5: +3:6
     }
 
     bb2: {
-        nop;                             // scope 0 at $DIR/generator-drop-cleanup.rs:13:5: 13:6
-        goto -> bb8;                     // scope 0 at $DIR/generator-drop-cleanup.rs:13:5: 13:6
+        nop;                             // scope 0 at $DIR/generator-drop-cleanup.rs:+3:5: +3:6
+        goto -> bb8;                     // scope 0 at $DIR/generator-drop-cleanup.rs:+3:5: +3:6
     }
 
     bb3: {
-        return;                          // scope 0 at $DIR/generator-drop-cleanup.rs:10:15: 10:17
+        return;                          // scope 0 at $DIR/generator-drop-cleanup.rs:+0:15: +0:17
     }
 
     bb4 (cleanup): {
-        resume;                          // scope 0 at $DIR/generator-drop-cleanup.rs:10:15: 10:17
+        resume;                          // scope 0 at $DIR/generator-drop-cleanup.rs:+0:15: +0:17
     }
 
     bb5 (cleanup): {
-        nop;                             // scope 0 at $DIR/generator-drop-cleanup.rs:13:5: 13:6
-        goto -> bb4;                     // scope 0 at $DIR/generator-drop-cleanup.rs:13:5: 13:6
+        nop;                             // scope 0 at $DIR/generator-drop-cleanup.rs:+3:5: +3:6
+        goto -> bb4;                     // scope 0 at $DIR/generator-drop-cleanup.rs:+3:5: +3:6
     }
 
     bb6: {
-        return;                          // scope 0 at $DIR/generator-drop-cleanup.rs:10:15: 10:17
+        return;                          // scope 0 at $DIR/generator-drop-cleanup.rs:+0:15: +0:17
     }
 
     bb7: {
-        goto -> bb9;                     // scope 0 at $DIR/generator-drop-cleanup.rs:10:15: 10:17
+        goto -> bb9;                     // scope 0 at $DIR/generator-drop-cleanup.rs:+0:15: +0:17
     }
 
     bb8: {
-        goto -> bb3;                     // scope 0 at $DIR/generator-drop-cleanup.rs:13:5: 13:6
+        goto -> bb3;                     // scope 0 at $DIR/generator-drop-cleanup.rs:+3:5: +3:6
     }
 
     bb9: {
-        goto -> bb6;                     // scope 0 at $DIR/generator-drop-cleanup.rs:10:15: 10:17
+        goto -> bb6;                     // scope 0 at $DIR/generator-drop-cleanup.rs:+0:15: +0:17
     }
 
     bb10: {
-        StorageLive(_4);                 // scope 0 at $DIR/generator-drop-cleanup.rs:10:15: 10:17
-        StorageLive(_5);                 // scope 0 at $DIR/generator-drop-cleanup.rs:10:15: 10:17
-        goto -> bb1;                     // scope 0 at $DIR/generator-drop-cleanup.rs:10:15: 10:17
+        StorageLive(_4);                 // scope 0 at $DIR/generator-drop-cleanup.rs:+0:15: +0:17
+        StorageLive(_5);                 // scope 0 at $DIR/generator-drop-cleanup.rs:+0:15: +0:17
+        goto -> bb1;                     // scope 0 at $DIR/generator-drop-cleanup.rs:+0:15: +0:17
     }
 
     bb11: {
-        return;                          // scope 0 at $DIR/generator-drop-cleanup.rs:10:15: 10:17
+        return;                          // scope 0 at $DIR/generator-drop-cleanup.rs:+0:15: +0:17
     }
 }
index af4ed32c50889145793000d9e69e1f2d5f2bcd7d..cb6ed33212ec44a85ef02b41a1885a48c41f0f69 100644 (file)
 fn main::{closure#0}(_1: [generator@$DIR/generator-storage-dead-unwind.rs:22:16: 22:18], _2: ()) -> ()
 yields ()
  {
-    let mut _0: ();                      // return place in scope 0 at $DIR/generator-storage-dead-unwind.rs:22:19: 22:19
-    let _3: Foo;                         // in scope 0 at $DIR/generator-storage-dead-unwind.rs:23:13: 23:14
-    let _5: ();                          // in scope 0 at $DIR/generator-storage-dead-unwind.rs:25:9: 25:14
-    let mut _6: ();                      // in scope 0 at $DIR/generator-storage-dead-unwind.rs:25:9: 25:14
-    let _7: ();                          // in scope 0 at $DIR/generator-storage-dead-unwind.rs:26:9: 26:16
-    let mut _8: Foo;                     // in scope 0 at $DIR/generator-storage-dead-unwind.rs:26:14: 26:15
-    let _9: ();                          // in scope 0 at $DIR/generator-storage-dead-unwind.rs:27:9: 27:16
-    let mut _10: Bar;                    // in scope 0 at $DIR/generator-storage-dead-unwind.rs:27:14: 27:15
+    let mut _0: ();                      // return place in scope 0 at $DIR/generator-storage-dead-unwind.rs:+0:19: +0:19
+    let _3: Foo;                         // in scope 0 at $DIR/generator-storage-dead-unwind.rs:+1:13: +1:14
+    let _5: ();                          // in scope 0 at $DIR/generator-storage-dead-unwind.rs:+3:9: +3:14
+    let mut _6: ();                      // in scope 0 at $DIR/generator-storage-dead-unwind.rs:+3:9: +3:14
+    let _7: ();                          // in scope 0 at $DIR/generator-storage-dead-unwind.rs:+4:9: +4:16
+    let mut _8: Foo;                     // in scope 0 at $DIR/generator-storage-dead-unwind.rs:+4:14: +4:15
+    let _9: ();                          // in scope 0 at $DIR/generator-storage-dead-unwind.rs:+5:9: +5:16
+    let mut _10: Bar;                    // in scope 0 at $DIR/generator-storage-dead-unwind.rs:+5:14: +5:15
     scope 1 {
-        debug a => _3;                   // in scope 1 at $DIR/generator-storage-dead-unwind.rs:23:13: 23:14
-        let _4: Bar;                     // in scope 1 at $DIR/generator-storage-dead-unwind.rs:24:13: 24:14
+        debug a => _3;                   // in scope 1 at $DIR/generator-storage-dead-unwind.rs:+1:13: +1:14
+        let _4: Bar;                     // in scope 1 at $DIR/generator-storage-dead-unwind.rs:+2:13: +2:14
         scope 2 {
-            debug b => _4;               // in scope 2 at $DIR/generator-storage-dead-unwind.rs:24:13: 24:14
+            debug b => _4;               // in scope 2 at $DIR/generator-storage-dead-unwind.rs:+2:13: +2:14
         }
     }
 
     bb0: {
-        StorageLive(_3);                 // scope 0 at $DIR/generator-storage-dead-unwind.rs:23:13: 23:14
-        Deinit(_3);                      // scope 0 at $DIR/generator-storage-dead-unwind.rs:23:17: 23:23
-        (_3.0: i32) = const 5_i32;       // scope 0 at $DIR/generator-storage-dead-unwind.rs:23:17: 23:23
-        StorageLive(_4);                 // scope 1 at $DIR/generator-storage-dead-unwind.rs:24:13: 24:14
-        Deinit(_4);                      // scope 1 at $DIR/generator-storage-dead-unwind.rs:24:17: 24:23
-        (_4.0: i32) = const 6_i32;       // scope 1 at $DIR/generator-storage-dead-unwind.rs:24:17: 24:23
-        StorageLive(_5);                 // scope 2 at $DIR/generator-storage-dead-unwind.rs:25:9: 25:14
-        StorageLive(_6);                 // scope 2 at $DIR/generator-storage-dead-unwind.rs:25:9: 25:14
-        Deinit(_6);                      // scope 2 at $DIR/generator-storage-dead-unwind.rs:25:9: 25:14
-        _5 = yield(move _6) -> [resume: bb1, drop: bb5]; // scope 2 at $DIR/generator-storage-dead-unwind.rs:25:9: 25:14
+        StorageLive(_3);                 // scope 0 at $DIR/generator-storage-dead-unwind.rs:+1:13: +1:14
+        Deinit(_3);                      // scope 0 at $DIR/generator-storage-dead-unwind.rs:+1:17: +1:23
+        (_3.0: i32) = const 5_i32;       // scope 0 at $DIR/generator-storage-dead-unwind.rs:+1:17: +1:23
+        StorageLive(_4);                 // scope 1 at $DIR/generator-storage-dead-unwind.rs:+2:13: +2:14
+        Deinit(_4);                      // scope 1 at $DIR/generator-storage-dead-unwind.rs:+2:17: +2:23
+        (_4.0: i32) = const 6_i32;       // scope 1 at $DIR/generator-storage-dead-unwind.rs:+2:17: +2:23
+        StorageLive(_5);                 // scope 2 at $DIR/generator-storage-dead-unwind.rs:+3:9: +3:14
+        StorageLive(_6);                 // scope 2 at $DIR/generator-storage-dead-unwind.rs:+3:9: +3:14
+        Deinit(_6);                      // scope 2 at $DIR/generator-storage-dead-unwind.rs:+3:9: +3:14
+        _5 = yield(move _6) -> [resume: bb1, drop: bb5]; // scope 2 at $DIR/generator-storage-dead-unwind.rs:+3:9: +3:14
     }
 
     bb1: {
-        StorageDead(_6);                 // scope 2 at $DIR/generator-storage-dead-unwind.rs:25:13: 25:14
-        StorageDead(_5);                 // scope 2 at $DIR/generator-storage-dead-unwind.rs:25:14: 25:15
-        StorageLive(_7);                 // scope 2 at $DIR/generator-storage-dead-unwind.rs:26:9: 26:16
-        StorageLive(_8);                 // scope 2 at $DIR/generator-storage-dead-unwind.rs:26:14: 26:15
-        _8 = move _3;                    // scope 2 at $DIR/generator-storage-dead-unwind.rs:26:14: 26:15
-        _7 = take::<Foo>(move _8) -> [return: bb2, unwind: bb9]; // scope 2 at $DIR/generator-storage-dead-unwind.rs:26:9: 26:16
+        StorageDead(_6);                 // scope 2 at $DIR/generator-storage-dead-unwind.rs:+3:13: +3:14
+        StorageDead(_5);                 // scope 2 at $DIR/generator-storage-dead-unwind.rs:+3:14: +3:15
+        StorageLive(_7);                 // scope 2 at $DIR/generator-storage-dead-unwind.rs:+4:9: +4:16
+        StorageLive(_8);                 // scope 2 at $DIR/generator-storage-dead-unwind.rs:+4:14: +4:15
+        _8 = move _3;                    // scope 2 at $DIR/generator-storage-dead-unwind.rs:+4:14: +4:15
+        _7 = take::<Foo>(move _8) -> [return: bb2, unwind: bb9]; // scope 2 at $DIR/generator-storage-dead-unwind.rs:+4:9: +4:16
                                          // mir::Constant
                                          // + span: $DIR/generator-storage-dead-unwind.rs:26:9: 26:13
                                          // + literal: Const { ty: fn(Foo) {take::<Foo>}, val: Value(<ZST>) }
     }
 
     bb2: {
-        StorageDead(_8);                 // scope 2 at $DIR/generator-storage-dead-unwind.rs:26:15: 26:16
-        StorageDead(_7);                 // scope 2 at $DIR/generator-storage-dead-unwind.rs:26:16: 26:17
-        StorageLive(_9);                 // scope 2 at $DIR/generator-storage-dead-unwind.rs:27:9: 27:16
-        StorageLive(_10);                // scope 2 at $DIR/generator-storage-dead-unwind.rs:27:14: 27:15
-        _10 = move _4;                   // scope 2 at $DIR/generator-storage-dead-unwind.rs:27:14: 27:15
-        _9 = take::<Bar>(move _10) -> [return: bb3, unwind: bb8]; // scope 2 at $DIR/generator-storage-dead-unwind.rs:27:9: 27:16
+        StorageDead(_8);                 // scope 2 at $DIR/generator-storage-dead-unwind.rs:+4:15: +4:16
+        StorageDead(_7);                 // scope 2 at $DIR/generator-storage-dead-unwind.rs:+4:16: +4:17
+        StorageLive(_9);                 // scope 2 at $DIR/generator-storage-dead-unwind.rs:+5:9: +5:16
+        StorageLive(_10);                // scope 2 at $DIR/generator-storage-dead-unwind.rs:+5:14: +5:15
+        _10 = move _4;                   // scope 2 at $DIR/generator-storage-dead-unwind.rs:+5:14: +5:15
+        _9 = take::<Bar>(move _10) -> [return: bb3, unwind: bb8]; // scope 2 at $DIR/generator-storage-dead-unwind.rs:+5:9: +5:16
                                          // mir::Constant
                                          // + span: $DIR/generator-storage-dead-unwind.rs:27:9: 27:13
                                          // + literal: Const { ty: fn(Bar) {take::<Bar>}, val: Value(<ZST>) }
     }
 
     bb3: {
-        StorageDead(_10);                // scope 2 at $DIR/generator-storage-dead-unwind.rs:27:15: 27:16
-        StorageDead(_9);                 // scope 2 at $DIR/generator-storage-dead-unwind.rs:27:16: 27:17
-        _0 = const ();                   // scope 0 at $DIR/generator-storage-dead-unwind.rs:22:19: 28:6
-        StorageDead(_4);                 // scope 1 at $DIR/generator-storage-dead-unwind.rs:28:5: 28:6
-        StorageDead(_3);                 // scope 0 at $DIR/generator-storage-dead-unwind.rs:28:5: 28:6
-        drop(_1) -> [return: bb4, unwind: bb11]; // scope 0 at $DIR/generator-storage-dead-unwind.rs:28:5: 28:6
+        StorageDead(_10);                // scope 2 at $DIR/generator-storage-dead-unwind.rs:+5:15: +5:16
+        StorageDead(_9);                 // scope 2 at $DIR/generator-storage-dead-unwind.rs:+5:16: +5:17
+        _0 = const ();                   // scope 0 at $DIR/generator-storage-dead-unwind.rs:+0:19: +6:6
+        StorageDead(_4);                 // scope 1 at $DIR/generator-storage-dead-unwind.rs:+6:5: +6:6
+        StorageDead(_3);                 // scope 0 at $DIR/generator-storage-dead-unwind.rs:+6:5: +6:6
+        drop(_1) -> [return: bb4, unwind: bb11]; // scope 0 at $DIR/generator-storage-dead-unwind.rs:+6:5: +6:6
     }
 
     bb4: {
-        return;                          // scope 0 at $DIR/generator-storage-dead-unwind.rs:22:18: 22:18
+        return;                          // scope 0 at $DIR/generator-storage-dead-unwind.rs:+0:18: +0:18
     }
 
     bb5: {
-        StorageDead(_6);                 // scope 2 at $DIR/generator-storage-dead-unwind.rs:25:13: 25:14
-        StorageDead(_5);                 // scope 2 at $DIR/generator-storage-dead-unwind.rs:25:14: 25:15
-        StorageDead(_4);                 // scope 1 at $DIR/generator-storage-dead-unwind.rs:28:5: 28:6
-        drop(_3) -> [return: bb6, unwind: bb12]; // scope 0 at $DIR/generator-storage-dead-unwind.rs:28:5: 28:6
+        StorageDead(_6);                 // scope 2 at $DIR/generator-storage-dead-unwind.rs:+3:13: +3:14
+        StorageDead(_5);                 // scope 2 at $DIR/generator-storage-dead-unwind.rs:+3:14: +3:15
+        StorageDead(_4);                 // scope 1 at $DIR/generator-storage-dead-unwind.rs:+6:5: +6:6
+        drop(_3) -> [return: bb6, unwind: bb12]; // scope 0 at $DIR/generator-storage-dead-unwind.rs:+6:5: +6:6
     }
 
     bb6: {
-        StorageDead(_3);                 // scope 0 at $DIR/generator-storage-dead-unwind.rs:28:5: 28:6
-        drop(_1) -> [return: bb7, unwind: bb11]; // scope 0 at $DIR/generator-storage-dead-unwind.rs:28:5: 28:6
+        StorageDead(_3);                 // scope 0 at $DIR/generator-storage-dead-unwind.rs:+6:5: +6:6
+        drop(_1) -> [return: bb7, unwind: bb11]; // scope 0 at $DIR/generator-storage-dead-unwind.rs:+6:5: +6:6
     }
 
     bb7: {
-        generator_drop;                  // scope 0 at $DIR/generator-storage-dead-unwind.rs:22:16: 22:18
+        generator_drop;                  // scope 0 at $DIR/generator-storage-dead-unwind.rs:+0:16: +0:18
     }
 
     bb8 (cleanup): {
-        StorageDead(_10);                // scope 2 at $DIR/generator-storage-dead-unwind.rs:27:15: 27:16
-        StorageDead(_9);                 // scope 2 at $DIR/generator-storage-dead-unwind.rs:27:16: 27:17
+        StorageDead(_10);                // scope 2 at $DIR/generator-storage-dead-unwind.rs:+5:15: +5:16
+        StorageDead(_9);                 // scope 2 at $DIR/generator-storage-dead-unwind.rs:+5:16: +5:17
         goto -> bb10;                    // scope 2 at no-location
     }
 
     bb9 (cleanup): {
-        StorageDead(_8);                 // scope 2 at $DIR/generator-storage-dead-unwind.rs:26:15: 26:16
-        StorageDead(_7);                 // scope 2 at $DIR/generator-storage-dead-unwind.rs:26:16: 26:17
+        StorageDead(_8);                 // scope 2 at $DIR/generator-storage-dead-unwind.rs:+4:15: +4:16
+        StorageDead(_7);                 // scope 2 at $DIR/generator-storage-dead-unwind.rs:+4:16: +4:17
         goto -> bb10;                    // scope 2 at no-location
     }
 
     bb10 (cleanup): {
-        StorageDead(_4);                 // scope 1 at $DIR/generator-storage-dead-unwind.rs:28:5: 28:6
-        StorageDead(_3);                 // scope 0 at $DIR/generator-storage-dead-unwind.rs:28:5: 28:6
-        drop(_1) -> bb11;                // scope 0 at $DIR/generator-storage-dead-unwind.rs:28:5: 28:6
+        StorageDead(_4);                 // scope 1 at $DIR/generator-storage-dead-unwind.rs:+6:5: +6:6
+        StorageDead(_3);                 // scope 0 at $DIR/generator-storage-dead-unwind.rs:+6:5: +6:6
+        drop(_1) -> bb11;                // scope 0 at $DIR/generator-storage-dead-unwind.rs:+6:5: +6:6
     }
 
     bb11 (cleanup): {
-        resume;                          // scope 0 at $DIR/generator-storage-dead-unwind.rs:22:16: 22:18
+        resume;                          // scope 0 at $DIR/generator-storage-dead-unwind.rs:+0:16: +0:18
     }
 
     bb12 (cleanup): {
-        StorageDead(_3);                 // scope 0 at $DIR/generator-storage-dead-unwind.rs:28:5: 28:6
-        drop(_1) -> bb11;                // scope 0 at $DIR/generator-storage-dead-unwind.rs:28:5: 28:6
+        StorageDead(_3);                 // scope 0 at $DIR/generator-storage-dead-unwind.rs:+6:5: +6:6
+        drop(_1) -> bb11;                // scope 0 at $DIR/generator-storage-dead-unwind.rs:+6:5: +6:6
     }
 }
index 16fa432dc3ad3d3cf32b2db51d7106545d1ace8b..62e7d7b2da7e831749ee3bc7994d41b7de8d1b72 100644 (file)
 } */
 
 fn main::{closure#0}(_1: Pin<&mut [generator@$DIR/generator-tiny.rs:19:16: 19:24]>, _2: u8) -> GeneratorState<(), ()> {
-    debug _x => _10;                     // in scope 0 at $DIR/generator-tiny.rs:19:17: 19:19
-    let mut _0: std::ops::GeneratorState<(), ()>; // return place in scope 0 at $DIR/generator-tiny.rs:19:16: 19:24
-    let _3: HasDrop;                     // in scope 0 at $DIR/generator-tiny.rs:20:13: 20:15
-    let mut _4: !;                       // in scope 0 at $DIR/generator-tiny.rs:21:9: 24:10
-    let mut _5: ();                      // in scope 0 at $DIR/generator-tiny.rs:19:16: 19:24
-    let _6: u8;                          // in scope 0 at $DIR/generator-tiny.rs:22:13: 22:18
-    let mut _7: ();                      // in scope 0 at $DIR/generator-tiny.rs:22:13: 22:18
-    let _8: ();                          // in scope 0 at $DIR/generator-tiny.rs:23:13: 23:21
-    let mut _9: ();                      // in scope 0 at $DIR/generator-tiny.rs:19:25: 19:25
-    let _10: u8;                         // in scope 0 at $DIR/generator-tiny.rs:19:17: 19:19
-    let mut _11: u32;                    // in scope 0 at $DIR/generator-tiny.rs:19:16: 19:24
+    debug _x => _10;                     // in scope 0 at $DIR/generator-tiny.rs:+0:17: +0:19
+    let mut _0: std::ops::GeneratorState<(), ()>; // return place in scope 0 at $DIR/generator-tiny.rs:+0:16: +0:24
+    let _3: HasDrop;                     // in scope 0 at $DIR/generator-tiny.rs:+1:13: +1:15
+    let mut _4: !;                       // in scope 0 at $DIR/generator-tiny.rs:+2:9: +5:10
+    let mut _5: ();                      // in scope 0 at $DIR/generator-tiny.rs:+0:16: +0:24
+    let _6: u8;                          // in scope 0 at $DIR/generator-tiny.rs:+3:13: +3:18
+    let mut _7: ();                      // in scope 0 at $DIR/generator-tiny.rs:+3:13: +3:18
+    let _8: ();                          // in scope 0 at $DIR/generator-tiny.rs:+4:13: +4:21
+    let mut _9: ();                      // in scope 0 at $DIR/generator-tiny.rs:+0:25: +0:25
+    let _10: u8;                         // in scope 0 at $DIR/generator-tiny.rs:+0:17: +0:19
+    let mut _11: u32;                    // in scope 0 at $DIR/generator-tiny.rs:+0:16: +0:24
     scope 1 {
-        debug _d => (((*(_1.0: &mut [generator@$DIR/generator-tiny.rs:19:16: 19:24])) as variant#3).0: HasDrop); // in scope 1 at $DIR/generator-tiny.rs:20:13: 20:15
+        debug _d => (((*(_1.0: &mut [generator@$DIR/generator-tiny.rs:19:16: 19:24])) as variant#3).0: HasDrop); // in scope 1 at $DIR/generator-tiny.rs:+1:13: +1:15
     }
 
     bb0: {
-        _11 = discriminant((*(_1.0: &mut [generator@$DIR/generator-tiny.rs:19:16: 19:24]))); // scope 0 at $DIR/generator-tiny.rs:19:16: 19:24
-        switchInt(move _11) -> [0_u32: bb1, 3_u32: bb5, otherwise: bb6]; // scope 0 at $DIR/generator-tiny.rs:19:16: 19:24
+        _11 = discriminant((*(_1.0: &mut [generator@$DIR/generator-tiny.rs:19:16: 19:24]))); // scope 0 at $DIR/generator-tiny.rs:+0:16: +0:24
+        switchInt(move _11) -> [0_u32: bb1, 3_u32: bb5, otherwise: bb6]; // scope 0 at $DIR/generator-tiny.rs:+0:16: +0:24
     }
 
     bb1: {
-        _10 = move _2;                   // scope 0 at $DIR/generator-tiny.rs:19:16: 19:24
-        nop;                             // scope 0 at $DIR/generator-tiny.rs:20:13: 20:15
-        Deinit((((*(_1.0: &mut [generator@$DIR/generator-tiny.rs:19:16: 19:24])) as variant#3).0: HasDrop)); // scope 0 at $DIR/generator-tiny.rs:20:18: 20:25
-        StorageLive(_4);                 // scope 1 at $DIR/generator-tiny.rs:21:9: 24:10
-        goto -> bb2;                     // scope 1 at $DIR/generator-tiny.rs:21:9: 24:10
+        _10 = move _2;                   // scope 0 at $DIR/generator-tiny.rs:+0:16: +0:24
+        nop;                             // scope 0 at $DIR/generator-tiny.rs:+1:13: +1:15
+        Deinit((((*(_1.0: &mut [generator@$DIR/generator-tiny.rs:19:16: 19:24])) as variant#3).0: HasDrop)); // scope 0 at $DIR/generator-tiny.rs:+1:18: +1:25
+        StorageLive(_4);                 // scope 1 at $DIR/generator-tiny.rs:+2:9: +5:10
+        goto -> bb2;                     // scope 1 at $DIR/generator-tiny.rs:+2:9: +5:10
     }
 
     bb2: {
-        StorageLive(_6);                 // scope 1 at $DIR/generator-tiny.rs:22:13: 22:18
-        StorageLive(_7);                 // scope 1 at $DIR/generator-tiny.rs:22:13: 22:18
-        Deinit(_7);                      // scope 1 at $DIR/generator-tiny.rs:22:13: 22:18
-        Deinit(_0);                      // scope 1 at $DIR/generator-tiny.rs:22:13: 22:18
-        ((_0 as Yielded).0: ()) = move _7; // scope 1 at $DIR/generator-tiny.rs:22:13: 22:18
-        discriminant(_0) = 0;            // scope 1 at $DIR/generator-tiny.rs:22:13: 22:18
-        discriminant((*(_1.0: &mut [generator@$DIR/generator-tiny.rs:19:16: 19:24]))) = 3; // scope 1 at $DIR/generator-tiny.rs:22:13: 22:18
-        return;                          // scope 1 at $DIR/generator-tiny.rs:22:13: 22:18
+        StorageLive(_6);                 // scope 1 at $DIR/generator-tiny.rs:+3:13: +3:18
+        StorageLive(_7);                 // scope 1 at $DIR/generator-tiny.rs:+3:13: +3:18
+        Deinit(_7);                      // scope 1 at $DIR/generator-tiny.rs:+3:13: +3:18
+        Deinit(_0);                      // scope 1 at $DIR/generator-tiny.rs:+3:13: +3:18
+        ((_0 as Yielded).0: ()) = move _7; // scope 1 at $DIR/generator-tiny.rs:+3:13: +3:18
+        discriminant(_0) = 0;            // scope 1 at $DIR/generator-tiny.rs:+3:13: +3:18
+        discriminant((*(_1.0: &mut [generator@$DIR/generator-tiny.rs:19:16: 19:24]))) = 3; // scope 1 at $DIR/generator-tiny.rs:+3:13: +3:18
+        return;                          // scope 1 at $DIR/generator-tiny.rs:+3:13: +3:18
     }
 
     bb3: {
-        StorageDead(_7);                 // scope 1 at $DIR/generator-tiny.rs:22:17: 22:18
-        StorageDead(_6);                 // scope 1 at $DIR/generator-tiny.rs:22:18: 22:19
-        StorageLive(_8);                 // scope 1 at $DIR/generator-tiny.rs:23:13: 23:21
-        _8 = callee() -> bb4;            // scope 1 at $DIR/generator-tiny.rs:23:13: 23:21
+        StorageDead(_7);                 // scope 1 at $DIR/generator-tiny.rs:+3:17: +3:18
+        StorageDead(_6);                 // scope 1 at $DIR/generator-tiny.rs:+3:18: +3:19
+        StorageLive(_8);                 // scope 1 at $DIR/generator-tiny.rs:+4:13: +4:21
+        _8 = callee() -> bb4;            // scope 1 at $DIR/generator-tiny.rs:+4:13: +4:21
                                          // mir::Constant
                                          // + span: $DIR/generator-tiny.rs:23:13: 23:19
                                          // + literal: Const { ty: fn() {callee}, val: Value(<ZST>) }
     }
 
     bb4: {
-        StorageDead(_8);                 // scope 1 at $DIR/generator-tiny.rs:23:21: 23:22
-        _5 = const ();                   // scope 1 at $DIR/generator-tiny.rs:21:14: 24:10
-        goto -> bb2;                     // scope 1 at $DIR/generator-tiny.rs:21:9: 24:10
+        StorageDead(_8);                 // scope 1 at $DIR/generator-tiny.rs:+4:21: +4:22
+        _5 = const ();                   // scope 1 at $DIR/generator-tiny.rs:+2:14: +5:10
+        goto -> bb2;                     // scope 1 at $DIR/generator-tiny.rs:+2:9: +5:10
     }
 
     bb5: {
-        StorageLive(_4);                 // scope 0 at $DIR/generator-tiny.rs:19:16: 19:24
-        StorageLive(_6);                 // scope 0 at $DIR/generator-tiny.rs:19:16: 19:24
-        StorageLive(_7);                 // scope 0 at $DIR/generator-tiny.rs:19:16: 19:24
-        _6 = move _2;                    // scope 0 at $DIR/generator-tiny.rs:19:16: 19:24
-        goto -> bb3;                     // scope 0 at $DIR/generator-tiny.rs:19:16: 19:24
+        StorageLive(_4);                 // scope 0 at $DIR/generator-tiny.rs:+0:16: +0:24
+        StorageLive(_6);                 // scope 0 at $DIR/generator-tiny.rs:+0:16: +0:24
+        StorageLive(_7);                 // scope 0 at $DIR/generator-tiny.rs:+0:16: +0:24
+        _6 = move _2;                    // scope 0 at $DIR/generator-tiny.rs:+0:16: +0:24
+        goto -> bb3;                     // scope 0 at $DIR/generator-tiny.rs:+0:16: +0:24
     }
 
     bb6: {
-        unreachable;                     // scope 0 at $DIR/generator-tiny.rs:19:16: 19:24
+        unreachable;                     // scope 0 at $DIR/generator-tiny.rs:+0:16: +0:24
     }
 }
index dddb7acae2b2c21c7bf8e4479051b1700b043f6f..19b5ab44156f493626cd238fefdba71731fff844 100644 (file)
@@ -2,29 +2,29 @@
 + // MIR for `dont_opt_bool` after SimplifyComparisonIntegral
   
   fn dont_opt_bool(_1: bool) -> u32 {
-      debug x => _1;                       // in scope 0 at $DIR/if-condition-int.rs:16:18: 16:19
-      let mut _0: u32;                     // return place in scope 0 at $DIR/if-condition-int.rs:16:30: 16:33
-      let mut _2: bool;                    // in scope 0 at $DIR/if-condition-int.rs:17:8: 17:9
+      debug x => _1;                       // in scope 0 at $DIR/if-condition-int.rs:+0:18: +0:19
+      let mut _0: u32;                     // return place in scope 0 at $DIR/if-condition-int.rs:+0:30: +0:33
+      let mut _2: bool;                    // in scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/if-condition-int.rs:17:8: 17:9
-          _2 = _1;                         // scope 0 at $DIR/if-condition-int.rs:17:8: 17:9
-          switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/if-condition-int.rs:17:8: 17:9
+          StorageLive(_2);                 // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
+          _2 = _1;                         // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
+          switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
       }
   
       bb1: {
-          _0 = const 0_u32;                // scope 0 at $DIR/if-condition-int.rs:17:12: 17:13
-          goto -> bb3;                     // scope 0 at $DIR/if-condition-int.rs:17:5: 17:26
+          _0 = const 0_u32;                // scope 0 at $DIR/if-condition-int.rs:+1:12: +1:13
+          goto -> bb3;                     // scope 0 at $DIR/if-condition-int.rs:+1:5: +1:26
       }
   
       bb2: {
-          _0 = const 1_u32;                // scope 0 at $DIR/if-condition-int.rs:17:23: 17:24
-          goto -> bb3;                     // scope 0 at $DIR/if-condition-int.rs:17:5: 17:26
+          _0 = const 1_u32;                // scope 0 at $DIR/if-condition-int.rs:+1:23: +1:24
+          goto -> bb3;                     // scope 0 at $DIR/if-condition-int.rs:+1:5: +1:26
       }
   
       bb3: {
-          StorageDead(_2);                 // scope 0 at $DIR/if-condition-int.rs:17:25: 17:26
-          return;                          // scope 0 at $DIR/if-condition-int.rs:18:2: 18:2
+          StorageDead(_2);                 // scope 0 at $DIR/if-condition-int.rs:+1:25: +1:26
+          return;                          // scope 0 at $DIR/if-condition-int.rs:+2:2: +2:2
       }
   }
   
index 2ff8386b205bd024894f9bfe903e0b4712ede733..256af7b94be2c6ca0e7b57e3867c1cdfe43412e7 100644 (file)
@@ -2,33 +2,33 @@
 + // MIR for `dont_opt_floats` after SimplifyComparisonIntegral
   
   fn dont_opt_floats(_1: f32) -> i32 {
-      debug a => _1;                       // in scope 0 at $DIR/if-condition-int.rs:52:20: 52:21
-      let mut _0: i32;                     // return place in scope 0 at $DIR/if-condition-int.rs:52:31: 52:34
-      let mut _2: bool;                    // in scope 0 at $DIR/if-condition-int.rs:53:8: 53:18
-      let mut _3: f32;                     // in scope 0 at $DIR/if-condition-int.rs:53:8: 53:9
+      debug a => _1;                       // in scope 0 at $DIR/if-condition-int.rs:+0:20: +0:21
+      let mut _0: i32;                     // return place in scope 0 at $DIR/if-condition-int.rs:+0:31: +0:34
+      let mut _2: bool;                    // in scope 0 at $DIR/if-condition-int.rs:+1:8: +1:18
+      let mut _3: f32;                     // in scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/if-condition-int.rs:53:8: 53:18
-          StorageLive(_3);                 // scope 0 at $DIR/if-condition-int.rs:53:8: 53:9
-          _3 = _1;                         // scope 0 at $DIR/if-condition-int.rs:53:8: 53:9
-          _2 = Eq(move _3, const -42f32);  // scope 0 at $DIR/if-condition-int.rs:53:8: 53:18
-          StorageDead(_3);                 // scope 0 at $DIR/if-condition-int.rs:53:17: 53:18
-          switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/if-condition-int.rs:53:8: 53:18
+          StorageLive(_2);                 // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:18
+          StorageLive(_3);                 // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
+          _3 = _1;                         // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
+          _2 = Eq(move _3, const -42f32);  // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:18
+          StorageDead(_3);                 // scope 0 at $DIR/if-condition-int.rs:+1:17: +1:18
+          switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:18
       }
   
       bb1: {
-          _0 = const 0_i32;                // scope 0 at $DIR/if-condition-int.rs:53:21: 53:22
-          goto -> bb3;                     // scope 0 at $DIR/if-condition-int.rs:53:5: 53:35
+          _0 = const 0_i32;                // scope 0 at $DIR/if-condition-int.rs:+1:21: +1:22
+          goto -> bb3;                     // scope 0 at $DIR/if-condition-int.rs:+1:5: +1:35
       }
   
       bb2: {
-          _0 = const 1_i32;                // scope 0 at $DIR/if-condition-int.rs:53:32: 53:33
-          goto -> bb3;                     // scope 0 at $DIR/if-condition-int.rs:53:5: 53:35
+          _0 = const 1_i32;                // scope 0 at $DIR/if-condition-int.rs:+1:32: +1:33
+          goto -> bb3;                     // scope 0 at $DIR/if-condition-int.rs:+1:5: +1:35
       }
   
       bb3: {
-          StorageDead(_2);                 // scope 0 at $DIR/if-condition-int.rs:53:34: 53:35
-          return;                          // scope 0 at $DIR/if-condition-int.rs:54:2: 54:2
+          StorageDead(_2);                 // scope 0 at $DIR/if-condition-int.rs:+1:34: +1:35
+          return;                          // scope 0 at $DIR/if-condition-int.rs:+2:2: +2:2
       }
   }
   
index fd4dcb2265e61df2a0530bb17aca2151e9b61cf8..3f612e03f58e2e3f97ca3f68c18b27b1d7ab3fa1 100644 (file)
@@ -2,57 +2,57 @@
 + // MIR for `dont_remove_comparison` after SimplifyComparisonIntegral
   
   fn dont_remove_comparison(_1: i8) -> i32 {
-      debug a => _1;                       // in scope 0 at $DIR/if-condition-int.rs:43:27: 43:28
-      let mut _0: i32;                     // return place in scope 0 at $DIR/if-condition-int.rs:43:37: 43:40
-      let _2: bool;                        // in scope 0 at $DIR/if-condition-int.rs:44:9: 44:10
-      let mut _3: i8;                      // in scope 0 at $DIR/if-condition-int.rs:44:13: 44:14
-      let mut _4: i32;                     // in scope 0 at $DIR/if-condition-int.rs:46:23: 46:31
-      let mut _5: bool;                    // in scope 0 at $DIR/if-condition-int.rs:46:23: 46:24
-      let mut _6: i32;                     // in scope 0 at $DIR/if-condition-int.rs:47:23: 47:31
-      let mut _7: bool;                    // in scope 0 at $DIR/if-condition-int.rs:47:23: 47:24
+      debug a => _1;                       // in scope 0 at $DIR/if-condition-int.rs:+0:27: +0:28
+      let mut _0: i32;                     // return place in scope 0 at $DIR/if-condition-int.rs:+0:37: +0:40
+      let _2: bool;                        // in scope 0 at $DIR/if-condition-int.rs:+1:9: +1:10
+      let mut _3: i8;                      // in scope 0 at $DIR/if-condition-int.rs:+1:13: +1:14
+      let mut _4: i32;                     // in scope 0 at $DIR/if-condition-int.rs:+3:23: +3:31
+      let mut _5: bool;                    // in scope 0 at $DIR/if-condition-int.rs:+3:23: +3:24
+      let mut _6: i32;                     // in scope 0 at $DIR/if-condition-int.rs:+4:23: +4:31
+      let mut _7: bool;                    // in scope 0 at $DIR/if-condition-int.rs:+4:23: +4:24
       scope 1 {
-          debug b => _2;                   // in scope 1 at $DIR/if-condition-int.rs:44:9: 44:10
+          debug b => _2;                   // in scope 1 at $DIR/if-condition-int.rs:+1:9: +1:10
       }
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/if-condition-int.rs:44:9: 44:10
-          StorageLive(_3);                 // scope 0 at $DIR/if-condition-int.rs:44:13: 44:14
-          _3 = _1;                         // scope 0 at $DIR/if-condition-int.rs:44:13: 44:14
--         _2 = Eq(move _3, const 17_i8);   // scope 0 at $DIR/if-condition-int.rs:44:13: 44:20
--         StorageDead(_3);                 // scope 0 at $DIR/if-condition-int.rs:44:19: 44:20
--         switchInt(_2) -> [false: bb2, otherwise: bb1]; // scope 1 at $DIR/if-condition-int.rs:45:5: 45:12
-+         _2 = Eq(_3, const 17_i8);        // scope 0 at $DIR/if-condition-int.rs:44:13: 44:20
-+         nop;                             // scope 0 at $DIR/if-condition-int.rs:44:19: 44:20
-+         switchInt(move _3) -> [17_i8: bb1, otherwise: bb2]; // scope 1 at $DIR/if-condition-int.rs:45:5: 45:12
+          StorageLive(_2);                 // scope 0 at $DIR/if-condition-int.rs:+1:9: +1:10
+          StorageLive(_3);                 // scope 0 at $DIR/if-condition-int.rs:+1:13: +1:14
+          _3 = _1;                         // scope 0 at $DIR/if-condition-int.rs:+1:13: +1:14
+-         _2 = Eq(move _3, const 17_i8);   // scope 0 at $DIR/if-condition-int.rs:+1:13: +1:20
+-         StorageDead(_3);                 // scope 0 at $DIR/if-condition-int.rs:+1:19: +1:20
+-         switchInt(_2) -> [false: bb2, otherwise: bb1]; // scope 1 at $DIR/if-condition-int.rs:+2:5: +2:12
++         _2 = Eq(_3, const 17_i8);        // scope 0 at $DIR/if-condition-int.rs:+1:13: +1:20
++         nop;                             // scope 0 at $DIR/if-condition-int.rs:+1:19: +1:20
++         switchInt(move _3) -> [17_i8: bb1, otherwise: bb2]; // scope 1 at $DIR/if-condition-int.rs:+2:5: +2:12
       }
   
       bb1: {
-+         StorageDead(_3);                 // scope 1 at $DIR/if-condition-int.rs:45:5: 45:12
-          StorageLive(_6);                 // scope 1 at $DIR/if-condition-int.rs:47:23: 47:31
-          StorageLive(_7);                 // scope 1 at $DIR/if-condition-int.rs:47:23: 47:24
-          _7 = _2;                         // scope 1 at $DIR/if-condition-int.rs:47:23: 47:24
-          _6 = move _7 as i32 (Misc);      // scope 1 at $DIR/if-condition-int.rs:47:23: 47:31
-          StorageDead(_7);                 // scope 1 at $DIR/if-condition-int.rs:47:30: 47:31
-          _0 = Add(const 100_i32, move _6); // scope 1 at $DIR/if-condition-int.rs:47:17: 47:31
-          StorageDead(_6);                 // scope 1 at $DIR/if-condition-int.rs:47:30: 47:31
-          goto -> bb3;                     // scope 1 at $DIR/if-condition-int.rs:47:30: 47:31
++         StorageDead(_3);                 // scope 1 at $DIR/if-condition-int.rs:+2:5: +2:12
+          StorageLive(_6);                 // scope 1 at $DIR/if-condition-int.rs:+4:23: +4:31
+          StorageLive(_7);                 // scope 1 at $DIR/if-condition-int.rs:+4:23: +4:24
+          _7 = _2;                         // scope 1 at $DIR/if-condition-int.rs:+4:23: +4:24
+          _6 = move _7 as i32 (Misc);      // scope 1 at $DIR/if-condition-int.rs:+4:23: +4:31
+          StorageDead(_7);                 // scope 1 at $DIR/if-condition-int.rs:+4:30: +4:31
+          _0 = Add(const 100_i32, move _6); // scope 1 at $DIR/if-condition-int.rs:+4:17: +4:31
+          StorageDead(_6);                 // scope 1 at $DIR/if-condition-int.rs:+4:30: +4:31
+          goto -> bb3;                     // scope 1 at $DIR/if-condition-int.rs:+4:30: +4:31
       }
   
       bb2: {
-+         StorageDead(_3);                 // scope 1 at $DIR/if-condition-int.rs:45:5: 45:12
-          StorageLive(_4);                 // scope 1 at $DIR/if-condition-int.rs:46:23: 46:31
-          StorageLive(_5);                 // scope 1 at $DIR/if-condition-int.rs:46:23: 46:24
-          _5 = _2;                         // scope 1 at $DIR/if-condition-int.rs:46:23: 46:24
-          _4 = move _5 as i32 (Misc);      // scope 1 at $DIR/if-condition-int.rs:46:23: 46:31
-          StorageDead(_5);                 // scope 1 at $DIR/if-condition-int.rs:46:30: 46:31
-          _0 = Add(const 10_i32, move _4); // scope 1 at $DIR/if-condition-int.rs:46:18: 46:31
-          StorageDead(_4);                 // scope 1 at $DIR/if-condition-int.rs:46:30: 46:31
-          goto -> bb3;                     // scope 1 at $DIR/if-condition-int.rs:46:30: 46:31
++         StorageDead(_3);                 // scope 1 at $DIR/if-condition-int.rs:+2:5: +2:12
+          StorageLive(_4);                 // scope 1 at $DIR/if-condition-int.rs:+3:23: +3:31
+          StorageLive(_5);                 // scope 1 at $DIR/if-condition-int.rs:+3:23: +3:24
+          _5 = _2;                         // scope 1 at $DIR/if-condition-int.rs:+3:23: +3:24
+          _4 = move _5 as i32 (Misc);      // scope 1 at $DIR/if-condition-int.rs:+3:23: +3:31
+          StorageDead(_5);                 // scope 1 at $DIR/if-condition-int.rs:+3:30: +3:31
+          _0 = Add(const 10_i32, move _4); // scope 1 at $DIR/if-condition-int.rs:+3:18: +3:31
+          StorageDead(_4);                 // scope 1 at $DIR/if-condition-int.rs:+3:30: +3:31
+          goto -> bb3;                     // scope 1 at $DIR/if-condition-int.rs:+3:30: +3:31
       }
   
       bb3: {
-          StorageDead(_2);                 // scope 0 at $DIR/if-condition-int.rs:49:1: 49:2
-          return;                          // scope 0 at $DIR/if-condition-int.rs:49:2: 49:2
+          StorageDead(_2);                 // scope 0 at $DIR/if-condition-int.rs:+6:1: +6:2
+          return;                          // scope 0 at $DIR/if-condition-int.rs:+6:2: +6:2
       }
   }
   
index 40de48385f02e3894129090d91eb2557ad08b780..9b64c379fee77b415555a4e521814c89805f5f59 100644 (file)
@@ -2,38 +2,38 @@
 + // MIR for `opt_char` after SimplifyComparisonIntegral
   
   fn opt_char(_1: char) -> u32 {
-      debug x => _1;                       // in scope 0 at $DIR/if-condition-int.rs:20:13: 20:14
-      let mut _0: u32;                     // return place in scope 0 at $DIR/if-condition-int.rs:20:25: 20:28
-      let mut _2: bool;                    // in scope 0 at $DIR/if-condition-int.rs:21:8: 21:16
-      let mut _3: char;                    // in scope 0 at $DIR/if-condition-int.rs:21:8: 21:9
+      debug x => _1;                       // in scope 0 at $DIR/if-condition-int.rs:+0:13: +0:14
+      let mut _0: u32;                     // return place in scope 0 at $DIR/if-condition-int.rs:+0:25: +0:28
+      let mut _2: bool;                    // in scope 0 at $DIR/if-condition-int.rs:+1:8: +1:16
+      let mut _3: char;                    // in scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/if-condition-int.rs:21:8: 21:16
-          StorageLive(_3);                 // scope 0 at $DIR/if-condition-int.rs:21:8: 21:9
-          _3 = _1;                         // scope 0 at $DIR/if-condition-int.rs:21:8: 21:9
--         _2 = Eq(move _3, const 'x');     // scope 0 at $DIR/if-condition-int.rs:21:8: 21:16
--         StorageDead(_3);                 // scope 0 at $DIR/if-condition-int.rs:21:15: 21:16
--         switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/if-condition-int.rs:21:8: 21:16
-+         nop;                             // scope 0 at $DIR/if-condition-int.rs:21:8: 21:16
-+         nop;                             // scope 0 at $DIR/if-condition-int.rs:21:15: 21:16
-+         switchInt(move _3) -> ['x': bb1, otherwise: bb2]; // scope 0 at $DIR/if-condition-int.rs:21:8: 21:16
+          StorageLive(_2);                 // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:16
+          StorageLive(_3);                 // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
+          _3 = _1;                         // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
+-         _2 = Eq(move _3, const 'x');     // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:16
+-         StorageDead(_3);                 // scope 0 at $DIR/if-condition-int.rs:+1:15: +1:16
+-         switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:16
++         nop;                             // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:16
++         nop;                             // scope 0 at $DIR/if-condition-int.rs:+1:15: +1:16
++         switchInt(move _3) -> ['x': bb1, otherwise: bb2]; // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:16
       }
   
       bb1: {
-+         StorageDead(_3);                 // scope 0 at $DIR/if-condition-int.rs:21:8: 21:16
-          _0 = const 0_u32;                // scope 0 at $DIR/if-condition-int.rs:21:19: 21:20
-          goto -> bb3;                     // scope 0 at $DIR/if-condition-int.rs:21:5: 21:33
++         StorageDead(_3);                 // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:16
+          _0 = const 0_u32;                // scope 0 at $DIR/if-condition-int.rs:+1:19: +1:20
+          goto -> bb3;                     // scope 0 at $DIR/if-condition-int.rs:+1:5: +1:33
       }
   
       bb2: {
-+         StorageDead(_3);                 // scope 0 at $DIR/if-condition-int.rs:21:8: 21:16
-          _0 = const 1_u32;                // scope 0 at $DIR/if-condition-int.rs:21:30: 21:31
-          goto -> bb3;                     // scope 0 at $DIR/if-condition-int.rs:21:5: 21:33
++         StorageDead(_3);                 // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:16
+          _0 = const 1_u32;                // scope 0 at $DIR/if-condition-int.rs:+1:30: +1:31
+          goto -> bb3;                     // scope 0 at $DIR/if-condition-int.rs:+1:5: +1:33
       }
   
       bb3: {
-          StorageDead(_2);                 // scope 0 at $DIR/if-condition-int.rs:21:32: 21:33
-          return;                          // scope 0 at $DIR/if-condition-int.rs:22:2: 22:2
+          StorageDead(_2);                 // scope 0 at $DIR/if-condition-int.rs:+1:32: +1:33
+          return;                          // scope 0 at $DIR/if-condition-int.rs:+2:2: +2:2
       }
   }
   
index 28c36aed84c38270a3b9a705a4e2965416db6a21..8042d63bb34ddc14400232391b958a55b1a75ce8 100644 (file)
@@ -2,38 +2,38 @@
 + // MIR for `opt_i8` after SimplifyComparisonIntegral
   
   fn opt_i8(_1: i8) -> u32 {
-      debug x => _1;                       // in scope 0 at $DIR/if-condition-int.rs:24:11: 24:12
-      let mut _0: u32;                     // return place in scope 0 at $DIR/if-condition-int.rs:24:21: 24:24
-      let mut _2: bool;                    // in scope 0 at $DIR/if-condition-int.rs:25:8: 25:15
-      let mut _3: i8;                      // in scope 0 at $DIR/if-condition-int.rs:25:8: 25:9
+      debug x => _1;                       // in scope 0 at $DIR/if-condition-int.rs:+0:11: +0:12
+      let mut _0: u32;                     // return place in scope 0 at $DIR/if-condition-int.rs:+0:21: +0:24
+      let mut _2: bool;                    // in scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
+      let mut _3: i8;                      // in scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/if-condition-int.rs:25:8: 25:15
-          StorageLive(_3);                 // scope 0 at $DIR/if-condition-int.rs:25:8: 25:9
-          _3 = _1;                         // scope 0 at $DIR/if-condition-int.rs:25:8: 25:9
--         _2 = Eq(move _3, const 42_i8);   // scope 0 at $DIR/if-condition-int.rs:25:8: 25:15
--         StorageDead(_3);                 // scope 0 at $DIR/if-condition-int.rs:25:14: 25:15
--         switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/if-condition-int.rs:25:8: 25:15
-+         nop;                             // scope 0 at $DIR/if-condition-int.rs:25:8: 25:15
-+         nop;                             // scope 0 at $DIR/if-condition-int.rs:25:14: 25:15
-+         switchInt(move _3) -> [42_i8: bb1, otherwise: bb2]; // scope 0 at $DIR/if-condition-int.rs:25:8: 25:15
+          StorageLive(_2);                 // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
+          StorageLive(_3);                 // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
+          _3 = _1;                         // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
+-         _2 = Eq(move _3, const 42_i8);   // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
+-         StorageDead(_3);                 // scope 0 at $DIR/if-condition-int.rs:+1:14: +1:15
+-         switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
++         nop;                             // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
++         nop;                             // scope 0 at $DIR/if-condition-int.rs:+1:14: +1:15
++         switchInt(move _3) -> [42_i8: bb1, otherwise: bb2]; // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
       }
   
       bb1: {
-+         StorageDead(_3);                 // scope 0 at $DIR/if-condition-int.rs:25:8: 25:15
-          _0 = const 0_u32;                // scope 0 at $DIR/if-condition-int.rs:25:18: 25:19
-          goto -> bb3;                     // scope 0 at $DIR/if-condition-int.rs:25:5: 25:32
++         StorageDead(_3);                 // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
+          _0 = const 0_u32;                // scope 0 at $DIR/if-condition-int.rs:+1:18: +1:19
+          goto -> bb3;                     // scope 0 at $DIR/if-condition-int.rs:+1:5: +1:32
       }
   
       bb2: {
-+         StorageDead(_3);                 // scope 0 at $DIR/if-condition-int.rs:25:8: 25:15
-          _0 = const 1_u32;                // scope 0 at $DIR/if-condition-int.rs:25:29: 25:30
-          goto -> bb3;                     // scope 0 at $DIR/if-condition-int.rs:25:5: 25:32
++         StorageDead(_3);                 // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
+          _0 = const 1_u32;                // scope 0 at $DIR/if-condition-int.rs:+1:29: +1:30
+          goto -> bb3;                     // scope 0 at $DIR/if-condition-int.rs:+1:5: +1:32
       }
   
       bb3: {
-          StorageDead(_2);                 // scope 0 at $DIR/if-condition-int.rs:25:31: 25:32
-          return;                          // scope 0 at $DIR/if-condition-int.rs:26:2: 26:2
+          StorageDead(_2);                 // scope 0 at $DIR/if-condition-int.rs:+1:31: +1:32
+          return;                          // scope 0 at $DIR/if-condition-int.rs:+2:2: +2:2
       }
   }
   
index 55932fee9600cb28a3644461026d20246356ee7e..a408de1ef3e97a6a0dfef7b1ae4c1e48c9dd5194 100644 (file)
@@ -2,64 +2,64 @@
 + // MIR for `opt_multiple_ifs` after SimplifyComparisonIntegral
   
   fn opt_multiple_ifs(_1: u32) -> u32 {
-      debug x => _1;                       // in scope 0 at $DIR/if-condition-int.rs:32:21: 32:22
-      let mut _0: u32;                     // return place in scope 0 at $DIR/if-condition-int.rs:32:32: 32:35
-      let mut _2: bool;                    // in scope 0 at $DIR/if-condition-int.rs:33:8: 33:15
-      let mut _3: u32;                     // in scope 0 at $DIR/if-condition-int.rs:33:8: 33:9
-      let mut _4: bool;                    // in scope 0 at $DIR/if-condition-int.rs:35:15: 35:22
-      let mut _5: u32;                     // in scope 0 at $DIR/if-condition-int.rs:35:15: 35:16
+      debug x => _1;                       // in scope 0 at $DIR/if-condition-int.rs:+0:21: +0:22
+      let mut _0: u32;                     // return place in scope 0 at $DIR/if-condition-int.rs:+0:32: +0:35
+      let mut _2: bool;                    // in scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
+      let mut _3: u32;                     // in scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
+      let mut _4: bool;                    // in scope 0 at $DIR/if-condition-int.rs:+3:15: +3:22
+      let mut _5: u32;                     // in scope 0 at $DIR/if-condition-int.rs:+3:15: +3:16
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/if-condition-int.rs:33:8: 33:15
-          StorageLive(_3);                 // scope 0 at $DIR/if-condition-int.rs:33:8: 33:9
-          _3 = _1;                         // scope 0 at $DIR/if-condition-int.rs:33:8: 33:9
--         _2 = Eq(move _3, const 42_u32);  // scope 0 at $DIR/if-condition-int.rs:33:8: 33:15
--         StorageDead(_3);                 // scope 0 at $DIR/if-condition-int.rs:33:14: 33:15
--         switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/if-condition-int.rs:33:8: 33:15
-+         nop;                             // scope 0 at $DIR/if-condition-int.rs:33:8: 33:15
-+         nop;                             // scope 0 at $DIR/if-condition-int.rs:33:14: 33:15
-+         switchInt(move _3) -> [42_u32: bb1, otherwise: bb2]; // scope 0 at $DIR/if-condition-int.rs:33:8: 33:15
+          StorageLive(_2);                 // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
+          StorageLive(_3);                 // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
+          _3 = _1;                         // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
+-         _2 = Eq(move _3, const 42_u32);  // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
+-         StorageDead(_3);                 // scope 0 at $DIR/if-condition-int.rs:+1:14: +1:15
+-         switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
++         nop;                             // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
++         nop;                             // scope 0 at $DIR/if-condition-int.rs:+1:14: +1:15
++         switchInt(move _3) -> [42_u32: bb1, otherwise: bb2]; // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
       }
   
       bb1: {
-+         StorageDead(_3);                 // scope 0 at $DIR/if-condition-int.rs:33:8: 33:15
-          _0 = const 0_u32;                // scope 0 at $DIR/if-condition-int.rs:34:9: 34:10
-          goto -> bb6;                     // scope 0 at $DIR/if-condition-int.rs:33:5: 39:6
++         StorageDead(_3);                 // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
+          _0 = const 0_u32;                // scope 0 at $DIR/if-condition-int.rs:+2:9: +2:10
+          goto -> bb6;                     // scope 0 at $DIR/if-condition-int.rs:+1:5: +7:6
       }
   
       bb2: {
-+         StorageDead(_3);                 // scope 0 at $DIR/if-condition-int.rs:33:8: 33:15
-          StorageLive(_4);                 // scope 0 at $DIR/if-condition-int.rs:35:15: 35:22
-          StorageLive(_5);                 // scope 0 at $DIR/if-condition-int.rs:35:15: 35:16
-          _5 = _1;                         // scope 0 at $DIR/if-condition-int.rs:35:15: 35:16
--         _4 = Ne(move _5, const 21_u32);  // scope 0 at $DIR/if-condition-int.rs:35:15: 35:22
--         StorageDead(_5);                 // scope 0 at $DIR/if-condition-int.rs:35:21: 35:22
--         switchInt(move _4) -> [false: bb4, otherwise: bb3]; // scope 0 at $DIR/if-condition-int.rs:35:15: 35:22
-+         nop;                             // scope 0 at $DIR/if-condition-int.rs:35:15: 35:22
-+         nop;                             // scope 0 at $DIR/if-condition-int.rs:35:21: 35:22
-+         switchInt(move _5) -> [21_u32: bb4, otherwise: bb3]; // scope 0 at $DIR/if-condition-int.rs:35:15: 35:22
++         StorageDead(_3);                 // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
+          StorageLive(_4);                 // scope 0 at $DIR/if-condition-int.rs:+3:15: +3:22
+          StorageLive(_5);                 // scope 0 at $DIR/if-condition-int.rs:+3:15: +3:16
+          _5 = _1;                         // scope 0 at $DIR/if-condition-int.rs:+3:15: +3:16
+-         _4 = Ne(move _5, const 21_u32);  // scope 0 at $DIR/if-condition-int.rs:+3:15: +3:22
+-         StorageDead(_5);                 // scope 0 at $DIR/if-condition-int.rs:+3:21: +3:22
+-         switchInt(move _4) -> [false: bb4, otherwise: bb3]; // scope 0 at $DIR/if-condition-int.rs:+3:15: +3:22
++         nop;                             // scope 0 at $DIR/if-condition-int.rs:+3:15: +3:22
++         nop;                             // scope 0 at $DIR/if-condition-int.rs:+3:21: +3:22
++         switchInt(move _5) -> [21_u32: bb4, otherwise: bb3]; // scope 0 at $DIR/if-condition-int.rs:+3:15: +3:22
       }
   
       bb3: {
-+         StorageDead(_5);                 // scope 0 at $DIR/if-condition-int.rs:35:15: 35:22
-          _0 = const 1_u32;                // scope 0 at $DIR/if-condition-int.rs:36:9: 36:10
-          goto -> bb5;                     // scope 0 at $DIR/if-condition-int.rs:35:12: 39:6
++         StorageDead(_5);                 // scope 0 at $DIR/if-condition-int.rs:+3:15: +3:22
+          _0 = const 1_u32;                // scope 0 at $DIR/if-condition-int.rs:+4:9: +4:10
+          goto -> bb5;                     // scope 0 at $DIR/if-condition-int.rs:+3:12: +7:6
       }
   
       bb4: {
-+         StorageDead(_5);                 // scope 0 at $DIR/if-condition-int.rs:35:15: 35:22
-          _0 = const 2_u32;                // scope 0 at $DIR/if-condition-int.rs:38:9: 38:10
-          goto -> bb5;                     // scope 0 at $DIR/if-condition-int.rs:35:12: 39:6
++         StorageDead(_5);                 // scope 0 at $DIR/if-condition-int.rs:+3:15: +3:22
+          _0 = const 2_u32;                // scope 0 at $DIR/if-condition-int.rs:+6:9: +6:10
+          goto -> bb5;                     // scope 0 at $DIR/if-condition-int.rs:+3:12: +7:6
       }
   
       bb5: {
-          StorageDead(_4);                 // scope 0 at $DIR/if-condition-int.rs:39:5: 39:6
-          goto -> bb6;                     // scope 0 at $DIR/if-condition-int.rs:33:5: 39:6
+          StorageDead(_4);                 // scope 0 at $DIR/if-condition-int.rs:+7:5: +7:6
+          goto -> bb6;                     // scope 0 at $DIR/if-condition-int.rs:+1:5: +7:6
       }
   
       bb6: {
-          StorageDead(_2);                 // scope 0 at $DIR/if-condition-int.rs:39:5: 39:6
-          return;                          // scope 0 at $DIR/if-condition-int.rs:40:2: 40:2
+          StorageDead(_2);                 // scope 0 at $DIR/if-condition-int.rs:+7:5: +7:6
+          return;                          // scope 0 at $DIR/if-condition-int.rs:+8:2: +8:2
       }
   }
   
index c4574b32a59991f086505352cc870fee9c1a7dac..6802f89d9278bafd58b5cc81f26fb607fa67f0c2 100644 (file)
@@ -2,38 +2,38 @@
 + // MIR for `opt_negative` after SimplifyComparisonIntegral
   
   fn opt_negative(_1: i32) -> u32 {
-      debug x => _1;                       // in scope 0 at $DIR/if-condition-int.rs:28:17: 28:18
-      let mut _0: u32;                     // return place in scope 0 at $DIR/if-condition-int.rs:28:28: 28:31
-      let mut _2: bool;                    // in scope 0 at $DIR/if-condition-int.rs:29:8: 29:16
-      let mut _3: i32;                     // in scope 0 at $DIR/if-condition-int.rs:29:8: 29:9
+      debug x => _1;                       // in scope 0 at $DIR/if-condition-int.rs:+0:17: +0:18
+      let mut _0: u32;                     // return place in scope 0 at $DIR/if-condition-int.rs:+0:28: +0:31
+      let mut _2: bool;                    // in scope 0 at $DIR/if-condition-int.rs:+1:8: +1:16
+      let mut _3: i32;                     // in scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/if-condition-int.rs:29:8: 29:16
-          StorageLive(_3);                 // scope 0 at $DIR/if-condition-int.rs:29:8: 29:9
-          _3 = _1;                         // scope 0 at $DIR/if-condition-int.rs:29:8: 29:9
--         _2 = Eq(move _3, const -42_i32); // scope 0 at $DIR/if-condition-int.rs:29:8: 29:16
--         StorageDead(_3);                 // scope 0 at $DIR/if-condition-int.rs:29:15: 29:16
--         switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/if-condition-int.rs:29:8: 29:16
-+         nop;                             // scope 0 at $DIR/if-condition-int.rs:29:8: 29:16
-+         nop;                             // scope 0 at $DIR/if-condition-int.rs:29:15: 29:16
-+         switchInt(move _3) -> [-42_i32: bb1, otherwise: bb2]; // scope 0 at $DIR/if-condition-int.rs:29:8: 29:16
+          StorageLive(_2);                 // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:16
+          StorageLive(_3);                 // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
+          _3 = _1;                         // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
+-         _2 = Eq(move _3, const -42_i32); // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:16
+-         StorageDead(_3);                 // scope 0 at $DIR/if-condition-int.rs:+1:15: +1:16
+-         switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:16
++         nop;                             // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:16
++         nop;                             // scope 0 at $DIR/if-condition-int.rs:+1:15: +1:16
++         switchInt(move _3) -> [-42_i32: bb1, otherwise: bb2]; // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:16
       }
   
       bb1: {
-+         StorageDead(_3);                 // scope 0 at $DIR/if-condition-int.rs:29:8: 29:16
-          _0 = const 0_u32;                // scope 0 at $DIR/if-condition-int.rs:29:19: 29:20
-          goto -> bb3;                     // scope 0 at $DIR/if-condition-int.rs:29:5: 29:33
++         StorageDead(_3);                 // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:16
+          _0 = const 0_u32;                // scope 0 at $DIR/if-condition-int.rs:+1:19: +1:20
+          goto -> bb3;                     // scope 0 at $DIR/if-condition-int.rs:+1:5: +1:33
       }
   
       bb2: {
-+         StorageDead(_3);                 // scope 0 at $DIR/if-condition-int.rs:29:8: 29:16
-          _0 = const 1_u32;                // scope 0 at $DIR/if-condition-int.rs:29:30: 29:31
-          goto -> bb3;                     // scope 0 at $DIR/if-condition-int.rs:29:5: 29:33
++         StorageDead(_3);                 // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:16
+          _0 = const 1_u32;                // scope 0 at $DIR/if-condition-int.rs:+1:30: +1:31
+          goto -> bb3;                     // scope 0 at $DIR/if-condition-int.rs:+1:5: +1:33
       }
   
       bb3: {
-          StorageDead(_2);                 // scope 0 at $DIR/if-condition-int.rs:29:32: 29:33
-          return;                          // scope 0 at $DIR/if-condition-int.rs:30:2: 30:2
+          StorageDead(_2);                 // scope 0 at $DIR/if-condition-int.rs:+1:32: +1:33
+          return;                          // scope 0 at $DIR/if-condition-int.rs:+2:2: +2:2
       }
   }
   
index 88d9d5622b8ec060a8d3ff45fcb66d7db8069218..96387771d06f11b853a6080de031904ff13e65bb 100644 (file)
@@ -2,38 +2,38 @@
 + // MIR for `opt_u32` after SimplifyComparisonIntegral
   
   fn opt_u32(_1: u32) -> u32 {
-      debug x => _1;                       // in scope 0 at $DIR/if-condition-int.rs:11:12: 11:13
-      let mut _0: u32;                     // return place in scope 0 at $DIR/if-condition-int.rs:11:23: 11:26
-      let mut _2: bool;                    // in scope 0 at $DIR/if-condition-int.rs:12:8: 12:15
-      let mut _3: u32;                     // in scope 0 at $DIR/if-condition-int.rs:12:8: 12:9
+      debug x => _1;                       // in scope 0 at $DIR/if-condition-int.rs:+0:12: +0:13
+      let mut _0: u32;                     // return place in scope 0 at $DIR/if-condition-int.rs:+0:23: +0:26
+      let mut _2: bool;                    // in scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
+      let mut _3: u32;                     // in scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/if-condition-int.rs:12:8: 12:15
-          StorageLive(_3);                 // scope 0 at $DIR/if-condition-int.rs:12:8: 12:9
-          _3 = _1;                         // scope 0 at $DIR/if-condition-int.rs:12:8: 12:9
--         _2 = Eq(move _3, const 42_u32);  // scope 0 at $DIR/if-condition-int.rs:12:8: 12:15
--         StorageDead(_3);                 // scope 0 at $DIR/if-condition-int.rs:12:14: 12:15
--         switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/if-condition-int.rs:12:8: 12:15
-+         nop;                             // scope 0 at $DIR/if-condition-int.rs:12:8: 12:15
-+         nop;                             // scope 0 at $DIR/if-condition-int.rs:12:14: 12:15
-+         switchInt(move _3) -> [42_u32: bb1, otherwise: bb2]; // scope 0 at $DIR/if-condition-int.rs:12:8: 12:15
+          StorageLive(_2);                 // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
+          StorageLive(_3);                 // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
+          _3 = _1;                         // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
+-         _2 = Eq(move _3, const 42_u32);  // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
+-         StorageDead(_3);                 // scope 0 at $DIR/if-condition-int.rs:+1:14: +1:15
+-         switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
++         nop;                             // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
++         nop;                             // scope 0 at $DIR/if-condition-int.rs:+1:14: +1:15
++         switchInt(move _3) -> [42_u32: bb1, otherwise: bb2]; // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
       }
   
       bb1: {
-+         StorageDead(_3);                 // scope 0 at $DIR/if-condition-int.rs:12:8: 12:15
-          _0 = const 0_u32;                // scope 0 at $DIR/if-condition-int.rs:12:18: 12:19
-          goto -> bb3;                     // scope 0 at $DIR/if-condition-int.rs:12:5: 12:32
++         StorageDead(_3);                 // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
+          _0 = const 0_u32;                // scope 0 at $DIR/if-condition-int.rs:+1:18: +1:19
+          goto -> bb3;                     // scope 0 at $DIR/if-condition-int.rs:+1:5: +1:32
       }
   
       bb2: {
-+         StorageDead(_3);                 // scope 0 at $DIR/if-condition-int.rs:12:8: 12:15
-          _0 = const 1_u32;                // scope 0 at $DIR/if-condition-int.rs:12:29: 12:30
-          goto -> bb3;                     // scope 0 at $DIR/if-condition-int.rs:12:5: 12:32
++         StorageDead(_3);                 // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
+          _0 = const 1_u32;                // scope 0 at $DIR/if-condition-int.rs:+1:29: +1:30
+          goto -> bb3;                     // scope 0 at $DIR/if-condition-int.rs:+1:5: +1:32
       }
   
       bb3: {
-          StorageDead(_2);                 // scope 0 at $DIR/if-condition-int.rs:12:31: 12:32
-          return;                          // scope 0 at $DIR/if-condition-int.rs:13:2: 13:2
+          StorageDead(_2);                 // scope 0 at $DIR/if-condition-int.rs:+1:31: +1:32
+          return;                          // scope 0 at $DIR/if-condition-int.rs:+2:2: +2:2
       }
   }
   
index d30c74897b342cff4f86f597698fc6a5a8b19dc2..d7deb9c66cfa0be2bec144087c77e9853aeb03f0 100644 (file)
@@ -2,32 +2,32 @@
 + // MIR for `foo` after Inline
   
   fn foo() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/caller-with-trivial-bound.rs:17:1: 17:1
-      let mut _1: <IntFactory as Factory<T>>::Item; // in scope 0 at $DIR/caller-with-trivial-bound.rs:20:9: 20:14
+      let mut _0: ();                      // return place in scope 0 at $DIR/caller-with-trivial-bound.rs:+1:1: +1:1
+      let mut _1: <IntFactory as Factory<T>>::Item; // in scope 0 at $DIR/caller-with-trivial-bound.rs:+4:9: +4:14
       scope 1 {
-          debug x => _1;                   // in scope 1 at $DIR/caller-with-trivial-bound.rs:20:9: 20:14
+          debug x => _1;                   // in scope 1 at $DIR/caller-with-trivial-bound.rs:+4:9: +4:14
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/caller-with-trivial-bound.rs:20:9: 20:14
-          _1 = bar::<T>() -> bb1;          // scope 0 at $DIR/caller-with-trivial-bound.rs:20:51: 20:61
+          StorageLive(_1);                 // scope 0 at $DIR/caller-with-trivial-bound.rs:+4:9: +4:14
+          _1 = bar::<T>() -> bb1;          // scope 0 at $DIR/caller-with-trivial-bound.rs:+4:51: +4:61
                                            // mir::Constant
                                            // + span: $DIR/caller-with-trivial-bound.rs:20:51: 20:59
                                            // + literal: Const { ty: fn() -> <IntFactory as Factory<T>>::Item {bar::<T>}, val: Value(<ZST>) }
       }
   
       bb1: {
-          _0 = const ();                   // scope 0 at $DIR/caller-with-trivial-bound.rs:19:1: 21:2
-          drop(_1) -> [return: bb2, unwind: bb3]; // scope 0 at $DIR/caller-with-trivial-bound.rs:21:1: 21:2
+          _0 = const ();                   // scope 0 at $DIR/caller-with-trivial-bound.rs:+3:1: +5:2
+          drop(_1) -> [return: bb2, unwind: bb3]; // scope 0 at $DIR/caller-with-trivial-bound.rs:+5:1: +5:2
       }
   
       bb2: {
-          StorageDead(_1);                 // scope 0 at $DIR/caller-with-trivial-bound.rs:21:1: 21:2
-          return;                          // scope 0 at $DIR/caller-with-trivial-bound.rs:21:2: 21:2
+          StorageDead(_1);                 // scope 0 at $DIR/caller-with-trivial-bound.rs:+5:1: +5:2
+          return;                          // scope 0 at $DIR/caller-with-trivial-bound.rs:+5:2: +5:2
       }
   
       bb3 (cleanup): {
-          resume;                          // scope 0 at $DIR/caller-with-trivial-bound.rs:16:1: 21:2
+          resume;                          // scope 0 at $DIR/caller-with-trivial-bound.rs:+0:1: +5:2
       }
   }
   
index 1376ba99d992c6bdf73ab7f978d949302aa5847d..40fdd1cdb19c962e7bb9ad532b84d80e5f90ac65 100644 (file)
@@ -2,42 +2,42 @@
 + // 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
+      debug g => _1;                       // in scope 0 at $DIR/cycle.rs:+0:6: +0:7
+      let mut _0: ();                      // return place in scope 0 at $DIR/cycle.rs:+0:20: +0:20
+      let _2: ();                          // in scope 0 at $DIR/cycle.rs:+1:5: +1:8
+      let mut _3: &impl Fn();              // in scope 0 at $DIR/cycle.rs:+1:5: +1:6
+      let mut _4: ();                      // in scope 0 at $DIR/cycle.rs:+1:5: +1: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
-          Deinit(_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
+          StorageLive(_2);                 // scope 0 at $DIR/cycle.rs:+1:5: +1:8
+          StorageLive(_3);                 // scope 0 at $DIR/cycle.rs:+1:5: +1:6
+          _3 = &_1;                        // scope 0 at $DIR/cycle.rs:+1:5: +1:6
+          StorageLive(_4);                 // scope 0 at $DIR/cycle.rs:+1:5: +1:8
+          Deinit(_4);                      // scope 0 at $DIR/cycle.rs:+1:5: +1:8
+          _2 = <impl Fn() as Fn<()>>::call(move _3, move _4) -> [return: bb1, unwind: bb3]; // scope 0 at $DIR/cycle.rs:+1:5: +1: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 FnOnce<()>>::Output {<impl Fn() as Fn<()>>::call}, val: Value(<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
+          StorageDead(_4);                 // scope 0 at $DIR/cycle.rs:+1:7: +1:8
+          StorageDead(_3);                 // scope 0 at $DIR/cycle.rs:+1:7: +1:8
+          StorageDead(_2);                 // scope 0 at $DIR/cycle.rs:+1:8: +1:9
+          _0 = const ();                   // scope 0 at $DIR/cycle.rs:+0:20: +2:2
+          drop(_1) -> [return: bb2, unwind: bb4]; // scope 0 at $DIR/cycle.rs:+2:1: +2:2
       }
   
       bb2: {
-          return;                          // scope 0 at $DIR/cycle.rs:7:2: 7:2
+          return;                          // scope 0 at $DIR/cycle.rs:+2:2: +2:2
       }
   
       bb3 (cleanup): {
-          drop(_1) -> bb4;                 // scope 0 at $DIR/cycle.rs:7:1: 7:2
+          drop(_1) -> bb4;                 // scope 0 at $DIR/cycle.rs:+2:1: +2:2
       }
   
       bb4 (cleanup): {
-          resume;                          // scope 0 at $DIR/cycle.rs:5:1: 7:2
+          resume;                          // scope 0 at $DIR/cycle.rs:+0:1: +2:2
       }
   }
   
index 5a8c147a32723760738bc3ff37246f5f965c8dfe..59f34d379ec20ab0c4f9d6be262d5491b28a55f5 100644 (file)
@@ -2,56 +2,56 @@
 + // 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
-+     let mut _2: fn() {main};             // in scope 0 at $DIR/cycle.rs:12:5: 12:12
+      let mut _0: ();                      // return place in scope 0 at $DIR/cycle.rs:+0:8: +0:8
+      let _1: ();                          // in scope 0 at $DIR/cycle.rs:+1:5: +1:12
++     let mut _2: fn() {main};             // in scope 0 at $DIR/cycle.rs:+1:5: +1:12
 +     scope 1 (inlined f::<fn() {main}>) { // at $DIR/cycle.rs:12:5: 12:12
-+         debug g => _2;                   // in scope 1 at $DIR/cycle.rs:5:6: 5:7
-+         let _3: ();                      // in scope 1 at $DIR/cycle.rs:6:5: 6:8
-+         let mut _4: &fn() {main};        // in scope 1 at $DIR/cycle.rs:6:5: 6:6
-+         let mut _5: ();                  // in scope 1 at $DIR/cycle.rs:6:5: 6:8
++         debug g => _2;                   // in scope 1 at $DIR/cycle.rs:+0:6: +0:7
++         let _3: ();                      // in scope 1 at $DIR/cycle.rs:+0:5: +0:8
++         let mut _4: &fn() {main};        // in scope 1 at $DIR/cycle.rs:+0:5: +0:6
++         let mut _5: ();                  // in scope 1 at $DIR/cycle.rs:+0:5: +0:8
 +         scope 2 (inlined <fn() {main} as Fn<()>>::call - shim(fn() {main})) { // at $DIR/cycle.rs:6:5: 6:8
 +         }
 +     }
   
       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
-+         StorageLive(_2);                 // scope 0 at $DIR/cycle.rs:12:5: 12:12
-+         _2 = main;                       // scope 0 at $DIR/cycle.rs:12:5: 12:12
+          StorageLive(_1);                 // scope 0 at $DIR/cycle.rs:+1:5: +1:12
+-         _1 = f::<fn() {main}>(main) -> bb1; // scope 0 at $DIR/cycle.rs:+1:5: +1:12
++         StorageLive(_2);                 // scope 0 at $DIR/cycle.rs:+1:5: +1:12
++         _2 = main;                       // scope 0 at $DIR/cycle.rs:+1:5: +1:12
                                            // mir::Constant
 -                                          // + span: $DIR/cycle.rs:12:5: 12:6
 -                                          // + literal: Const { ty: fn(fn() {main}) {f::<fn() {main}>}, val: Value(<ZST>) }
 -                                          // mir::Constant
                                            // + span: $DIR/cycle.rs:12:7: 12:11
                                            // + literal: Const { ty: fn() {main}, val: Value(<ZST>) }
-+         StorageLive(_3);                 // scope 1 at $DIR/cycle.rs:6:5: 6:8
-+         StorageLive(_4);                 // scope 1 at $DIR/cycle.rs:6:5: 6:6
-+         _4 = &_2;                        // scope 1 at $DIR/cycle.rs:6:5: 6:6
-+         StorageLive(_5);                 // scope 1 at $DIR/cycle.rs:6:5: 6:8
++         StorageLive(_3);                 // scope 1 at $DIR/cycle.rs:+0:5: +0:8
++         StorageLive(_4);                 // scope 1 at $DIR/cycle.rs:+0:5: +0:6
++         _4 = &_2;                        // scope 1 at $DIR/cycle.rs:+0:5: +0:6
++         StorageLive(_5);                 // scope 1 at $DIR/cycle.rs:+0:5: +0:8
 +         _3 = move (*_4)() -> [return: bb4, unwind: bb2]; // scope 2 at $SRC_DIR/core/src/ops/function.rs:LL:COL
       }
   
       bb1: {
-+         StorageDead(_2);                 // scope 0 at $DIR/cycle.rs:12:5: 12:12
-          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
++         StorageDead(_2);                 // scope 0 at $DIR/cycle.rs:+1:5: +1:12
+          StorageDead(_1);                 // scope 0 at $DIR/cycle.rs:+1:12: +1:13
+          _0 = const ();                   // scope 0 at $DIR/cycle.rs:+0:8: +2:2
+          return;                          // scope 0 at $DIR/cycle.rs:+2:2: +2:2
 +     }
 + 
 +     bb2 (cleanup): {
-+         drop(_2) -> bb3;                 // scope 1 at $DIR/cycle.rs:7:1: 7:2
++         drop(_2) -> bb3;                 // scope 1 at $DIR/cycle.rs:+0:1: +0:2
 +     }
 + 
 +     bb3 (cleanup): {
-+         resume;                          // scope 1 at $DIR/cycle.rs:5:1: 7:2
++         resume;                          // scope 1 at $DIR/cycle.rs:+0:1: +0:2
 +     }
 + 
 +     bb4: {
-+         StorageDead(_5);                 // scope 1 at $DIR/cycle.rs:6:7: 6:8
-+         StorageDead(_4);                 // scope 1 at $DIR/cycle.rs:6:7: 6:8
-+         StorageDead(_3);                 // scope 1 at $DIR/cycle.rs:6:8: 6:9
-+         drop(_2) -> bb1;                 // scope 1 at $DIR/cycle.rs:7:1: 7:2
++         StorageDead(_5);                 // scope 1 at $DIR/cycle.rs:+0:7: +0:8
++         StorageDead(_4);                 // scope 1 at $DIR/cycle.rs:+0:7: +0:8
++         StorageDead(_3);                 // scope 1 at $DIR/cycle.rs:+0:8: +0:9
++         drop(_2) -> bb1;                 // scope 1 at $DIR/cycle.rs:+0:1: +0:2
       }
   }
   
index e102c65090587a8b0e0c00e9c487f08ba83799f2..6def7c3ee3e00250ec48631e1053d0bc83072a2b 100644 (file)
@@ -2,21 +2,21 @@
 + // 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
-+     let mut _2: fn() {g};                // in scope 0 at $DIR/cycle.rs:17:5: 17:9
+      let mut _0: ();                      // return place in scope 0 at $DIR/cycle.rs:+0:11: +0:11
+      let _1: ();                          // in scope 0 at $DIR/cycle.rs:+1:5: +1:9
++     let mut _2: fn() {g};                // in scope 0 at $DIR/cycle.rs:+1:5: +1:9
 +     scope 1 (inlined f::<fn() {g}>) {    // at $DIR/cycle.rs:17:5: 17:9
-+         debug g => _2;                   // in scope 1 at $DIR/cycle.rs:5:6: 5:7
-+         let _3: ();                      // in scope 1 at $DIR/cycle.rs:6:5: 6:8
-+         let mut _4: &fn() {g};           // in scope 1 at $DIR/cycle.rs:6:5: 6:6
-+         let mut _5: ();                  // in scope 1 at $DIR/cycle.rs:6:5: 6:8
++         debug g => _2;                   // in scope 1 at $DIR/cycle.rs:+0:6: +0:7
++         let _3: ();                      // in scope 1 at $DIR/cycle.rs:+0:5: +0:8
++         let mut _4: &fn() {g};           // in scope 1 at $DIR/cycle.rs:+0:5: +0:6
++         let mut _5: ();                  // in scope 1 at $DIR/cycle.rs:+0:5: +0:8
 +         scope 2 (inlined <fn() {g} as Fn<()>>::call - shim(fn() {g})) { // at $DIR/cycle.rs:6:5: 6:8
 +             scope 3 (inlined g) {        // at $SRC_DIR/core/src/ops/function.rs:LL:COL
-+                 let mut _6: fn() {main}; // in scope 3 at $DIR/cycle.rs:12:5: 12:12
++                 let mut _6: fn() {main}; // in scope 3 at $DIR/cycle.rs:+0:5: +0:12
 +                 scope 4 (inlined f::<fn() {main}>) { // at $DIR/cycle.rs:12:5: 12:12
-+                     debug g => _6;       // in scope 4 at $DIR/cycle.rs:5:6: 5:7
-+                     let _7: ();          // in scope 4 at $DIR/cycle.rs:6:5: 6:8
-+                     let mut _8: &fn() {main}; // in scope 4 at $DIR/cycle.rs:6:5: 6:6
++                     debug g => _6;       // in scope 4 at $DIR/cycle.rs:+0:6: +0:7
++                     let _7: ();          // in scope 4 at $DIR/cycle.rs:+0:5: +0:8
++                     let mut _8: &fn() {main}; // in scope 4 at $DIR/cycle.rs:+0:5: +0:6
 +                     scope 5 (inlined <fn() {main} as Fn<()>>::call - shim(fn() {main})) { // at $DIR/cycle.rs:6:5: 6:8
 +                     }
 +                 }
 +     }
   
       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
-+         StorageLive(_2);                 // scope 0 at $DIR/cycle.rs:17:5: 17:9
-+         _2 = g;                          // scope 0 at $DIR/cycle.rs:17:5: 17:9
+          StorageLive(_1);                 // scope 0 at $DIR/cycle.rs:+1:5: +1:9
+-         _1 = f::<fn() {g}>(g) -> bb1;    // scope 0 at $DIR/cycle.rs:+1:5: +1:9
++         StorageLive(_2);                 // scope 0 at $DIR/cycle.rs:+1:5: +1:9
++         _2 = g;                          // scope 0 at $DIR/cycle.rs:+1:5: +1:9
                                            // mir::Constant
 -                                          // + span: $DIR/cycle.rs:17:5: 17:6
 -                                          // + literal: Const { ty: fn(fn() {g}) {f::<fn() {g}>}, val: Value(<ZST>) }
 -                                          // mir::Constant
                                            // + span: $DIR/cycle.rs:17:7: 17:8
                                            // + literal: Const { ty: fn() {g}, val: Value(<ZST>) }
-+         StorageLive(_3);                 // scope 1 at $DIR/cycle.rs:6:5: 6:8
-+         StorageLive(_4);                 // scope 1 at $DIR/cycle.rs:6:5: 6:6
-+         _4 = &_2;                        // scope 1 at $DIR/cycle.rs:6:5: 6:6
-+         StorageLive(_5);                 // scope 1 at $DIR/cycle.rs:6:5: 6:8
-+         StorageLive(_6);                 // scope 3 at $DIR/cycle.rs:12:5: 12:12
-+         StorageLive(_7);                 // scope 4 at $DIR/cycle.rs:6:5: 6:8
-+         StorageLive(_8);                 // scope 4 at $DIR/cycle.rs:6:5: 6:6
-+         _8 = &_6;                        // scope 4 at $DIR/cycle.rs:6:5: 6:6
++         StorageLive(_3);                 // scope 1 at $DIR/cycle.rs:+0:5: +0:8
++         StorageLive(_4);                 // scope 1 at $DIR/cycle.rs:+0:5: +0:6
++         _4 = &_2;                        // scope 1 at $DIR/cycle.rs:+0:5: +0:6
++         StorageLive(_5);                 // scope 1 at $DIR/cycle.rs:+0:5: +0:8
++         StorageLive(_6);                 // scope 3 at $DIR/cycle.rs:+0:5: +0:12
++         StorageLive(_7);                 // scope 4 at $DIR/cycle.rs:+0:5: +0:8
++         StorageLive(_8);                 // scope 4 at $DIR/cycle.rs:+0:5: +0:6
++         _8 = &_6;                        // scope 4 at $DIR/cycle.rs:+0:5: +0:6
 +         _7 = move (*_8)() -> [return: bb4, unwind: bb2]; // scope 5 at $SRC_DIR/core/src/ops/function.rs:LL:COL
       }
   
       bb1: {
-+         StorageDead(_2);                 // scope 0 at $DIR/cycle.rs:17:5: 17:9
-          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
++         StorageDead(_2);                 // scope 0 at $DIR/cycle.rs:+1:5: +1:9
+          StorageDead(_1);                 // scope 0 at $DIR/cycle.rs:+1:9: +1:10
+          _0 = const ();                   // scope 0 at $DIR/cycle.rs:+0:11: +2:2
+          return;                          // scope 0 at $DIR/cycle.rs:+2:2: +2:2
 +     }
 + 
 +     bb2 (cleanup): {
-+         drop(_2) -> bb3;                 // scope 1 at $DIR/cycle.rs:7:1: 7:2
++         drop(_2) -> bb3;                 // scope 1 at $DIR/cycle.rs:+0:1: +0:2
 +     }
 + 
 +     bb3 (cleanup): {
-+         resume;                          // scope 1 at $DIR/cycle.rs:5:1: 7:2
++         resume;                          // scope 1 at $DIR/cycle.rs:+0:1: +0:2
 +     }
 + 
 +     bb4: {
-+         StorageDead(_8);                 // scope 4 at $DIR/cycle.rs:6:7: 6:8
-+         StorageDead(_7);                 // scope 4 at $DIR/cycle.rs:6:8: 6:9
-+         StorageDead(_6);                 // scope 3 at $DIR/cycle.rs:12:5: 12:12
-+         StorageDead(_5);                 // scope 1 at $DIR/cycle.rs:6:7: 6:8
-+         StorageDead(_4);                 // scope 1 at $DIR/cycle.rs:6:7: 6:8
-+         StorageDead(_3);                 // scope 1 at $DIR/cycle.rs:6:8: 6:9
-+         drop(_2) -> bb1;                 // scope 1 at $DIR/cycle.rs:7:1: 7:2
++         StorageDead(_8);                 // scope 4 at $DIR/cycle.rs:+0:7: +0:8
++         StorageDead(_7);                 // scope 4 at $DIR/cycle.rs:+0:8: +0:9
++         StorageDead(_6);                 // scope 3 at $DIR/cycle.rs:+0:5: +0:12
++         StorageDead(_5);                 // scope 1 at $DIR/cycle.rs:+0:7: +0:8
++         StorageDead(_4);                 // scope 1 at $DIR/cycle.rs:+0:7: +0:8
++         StorageDead(_3);                 // scope 1 at $DIR/cycle.rs:+0:8: +0:9
++         drop(_2) -> bb1;                 // scope 1 at $DIR/cycle.rs:+0:1: +0:2
       }
   }
   
index 7b306dd9482cafe76eea4b542805e671498bb8cb..49c91e956e72d31bbff12f51b17f78ae7eeeb74c 100644 (file)
@@ -2,29 +2,29 @@
 + // MIR for `get_query` after Inline
   
   fn get_query(_1: &T) -> () {
-      debug t => _1;                       // in scope 0 at $DIR/dyn-trait.rs:32:31: 32:32
-      let mut _0: ();                      // return place in scope 0 at $DIR/dyn-trait.rs:32:38: 32:38
-      let _2: &<Q as Query>::C;            // in scope 0 at $DIR/dyn-trait.rs:33:9: 33:10
-      let mut _3: &T;                      // in scope 0 at $DIR/dyn-trait.rs:33:22: 33:23
-      let mut _4: &<Q as Query>::C;        // in scope 0 at $DIR/dyn-trait.rs:34:23: 34:24
+      debug t => _1;                       // in scope 0 at $DIR/dyn-trait.rs:+0:31: +0:32
+      let mut _0: ();                      // return place in scope 0 at $DIR/dyn-trait.rs:+0:38: +0:38
+      let _2: &<Q as Query>::C;            // in scope 0 at $DIR/dyn-trait.rs:+1:9: +1:10
+      let mut _3: &T;                      // in scope 0 at $DIR/dyn-trait.rs:+1:22: +1:23
+      let mut _4: &<Q as Query>::C;        // in scope 0 at $DIR/dyn-trait.rs:+2:23: +2:24
       scope 1 {
-          debug c => _2;                   // in scope 1 at $DIR/dyn-trait.rs:33:9: 33:10
+          debug c => _2;                   // in scope 1 at $DIR/dyn-trait.rs:+1:9: +1:10
 +         scope 2 (inlined try_execute_query::<<Q as Query>::C>) { // at $DIR/dyn-trait.rs:34:5: 34:25
-+             debug c => _4;               // in scope 2 at $DIR/dyn-trait.rs:26:36: 26:37
-+             let mut _5: &dyn Cache<V = <Q as Query>::V>; // in scope 2 at $DIR/dyn-trait.rs:27:14: 27:15
-+             let mut _6: &<Q as Query>::C; // in scope 2 at $DIR/dyn-trait.rs:27:14: 27:15
++             debug c => _4;               // in scope 2 at $DIR/dyn-trait.rs:+0:36: +0:37
++             let mut _5: &dyn Cache<V = <Q as Query>::V>; // in scope 2 at $DIR/dyn-trait.rs:+0:14: +0:15
++             let mut _6: &<Q as Query>::C; // in scope 2 at $DIR/dyn-trait.rs:+0:14: +0:15
 +             scope 3 (inlined mk_cycle::<<Q as Query>::V>) { // at $DIR/dyn-trait.rs:27:5: 27:16
-+                 debug c => _5;           // in scope 3 at $DIR/dyn-trait.rs:20:27: 20:28
-+                 let mut _7: &dyn Cache<V = <Q as Query>::V>; // in scope 3 at $DIR/dyn-trait.rs:21:5: 21:22
++                 debug c => _5;           // in scope 3 at $DIR/dyn-trait.rs:+0:27: +0:28
++                 let mut _7: &dyn Cache<V = <Q as Query>::V>; // in scope 3 at $DIR/dyn-trait.rs:+0:5: +0:22
 +             }
 +         }
       }
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/dyn-trait.rs:33:9: 33:10
-          StorageLive(_3);                 // scope 0 at $DIR/dyn-trait.rs:33:22: 33:23
-          _3 = &(*_1);                     // scope 0 at $DIR/dyn-trait.rs:33:22: 33:23
-          _2 = <Q as Query>::cache::<T>(move _3) -> bb1; // scope 0 at $DIR/dyn-trait.rs:33:13: 33:24
+          StorageLive(_2);                 // scope 0 at $DIR/dyn-trait.rs:+1:9: +1:10
+          StorageLive(_3);                 // scope 0 at $DIR/dyn-trait.rs:+1:22: +1:23
+          _3 = &(*_1);                     // scope 0 at $DIR/dyn-trait.rs:+1:22: +1:23
+          _2 = <Q as Query>::cache::<T>(move _3) -> bb1; // scope 0 at $DIR/dyn-trait.rs:+1:13: +1:24
                                            // mir::Constant
                                            // + span: $DIR/dyn-trait.rs:33:13: 33:21
                                            // + user_ty: UserType(0)
       }
   
       bb1: {
-          StorageDead(_3);                 // scope 0 at $DIR/dyn-trait.rs:33:23: 33:24
-          StorageLive(_4);                 // scope 1 at $DIR/dyn-trait.rs:34:23: 34:24
-          _4 = &(*_2);                     // scope 1 at $DIR/dyn-trait.rs:34:23: 34:24
--         _0 = try_execute_query::<<Q as Query>::C>(move _4) -> bb2; // scope 1 at $DIR/dyn-trait.rs:34:5: 34:25
-+         StorageLive(_5);                 // scope 2 at $DIR/dyn-trait.rs:27:14: 27:15
-+         StorageLive(_6);                 // scope 2 at $DIR/dyn-trait.rs:27:14: 27:15
-+         _6 = _4;                         // scope 2 at $DIR/dyn-trait.rs:27:14: 27:15
-+         _5 = move _6 as &dyn Cache<V = <Q as Query>::V> (Pointer(Unsize)); // scope 2 at $DIR/dyn-trait.rs:27:14: 27:15
-+         StorageDead(_6);                 // scope 2 at $DIR/dyn-trait.rs:27:14: 27:15
-+         StorageLive(_7);                 // scope 3 at $DIR/dyn-trait.rs:21:5: 21:22
-+         _7 = _5;                         // scope 3 at $DIR/dyn-trait.rs:21:5: 21:22
-+         _0 = <dyn Cache<V = <Q as Query>::V> as Cache>::store_nocache(move _7) -> bb2; // scope 3 at $DIR/dyn-trait.rs:21:5: 21:22
+          StorageDead(_3);                 // scope 0 at $DIR/dyn-trait.rs:+1:23: +1:24
+          StorageLive(_4);                 // scope 1 at $DIR/dyn-trait.rs:+2:23: +2:24
+          _4 = &(*_2);                     // scope 1 at $DIR/dyn-trait.rs:+2:23: +2:24
+-         _0 = try_execute_query::<<Q as Query>::C>(move _4) -> bb2; // scope 1 at $DIR/dyn-trait.rs:+2:5: +2:25
++         StorageLive(_5);                 // scope 2 at $DIR/dyn-trait.rs:+0:14: +0:15
++         StorageLive(_6);                 // scope 2 at $DIR/dyn-trait.rs:+0:14: +0:15
++         _6 = _4;                         // scope 2 at $DIR/dyn-trait.rs:+0:14: +0:15
++         _5 = move _6 as &dyn Cache<V = <Q as Query>::V> (Pointer(Unsize)); // scope 2 at $DIR/dyn-trait.rs:+0:14: +0:15
++         StorageDead(_6);                 // scope 2 at $DIR/dyn-trait.rs:+0:14: +0:15
++         StorageLive(_7);                 // scope 3 at $DIR/dyn-trait.rs:+0:5: +0:22
++         _7 = _5;                         // scope 3 at $DIR/dyn-trait.rs:+0:5: +0:22
++         _0 = <dyn Cache<V = <Q as Query>::V> as Cache>::store_nocache(move _7) -> bb2; // scope 3 at $DIR/dyn-trait.rs:+0:5: +0:22
                                            // mir::Constant
 -                                          // + span: $DIR/dyn-trait.rs:34:5: 34:22
 -                                          // + literal: Const { ty: for<'r> fn(&'r <Q as Query>::C) {try_execute_query::<<Q as Query>::C>}, val: Value(<ZST>) }
       }
   
       bb2: {
-+         StorageDead(_7);                 // scope 3 at $DIR/dyn-trait.rs:21:21: 21:22
-+         StorageDead(_5);                 // scope 2 at $DIR/dyn-trait.rs:27:15: 27:16
-          StorageDead(_4);                 // scope 1 at $DIR/dyn-trait.rs:34:24: 34:25
-          StorageDead(_2);                 // scope 0 at $DIR/dyn-trait.rs:35:1: 35:2
-          return;                          // scope 0 at $DIR/dyn-trait.rs:35:2: 35:2
++         StorageDead(_7);                 // scope 3 at $DIR/dyn-trait.rs:+0:21: +0:22
++         StorageDead(_5);                 // scope 2 at $DIR/dyn-trait.rs:+0:15: +0:16
+          StorageDead(_4);                 // scope 1 at $DIR/dyn-trait.rs:+2:24: +2:25
+          StorageDead(_2);                 // scope 0 at $DIR/dyn-trait.rs:+3:1: +3:2
+          return;                          // scope 0 at $DIR/dyn-trait.rs:+3:2: +3:2
 +     }
 + 
 +     bb3 (cleanup): {
-+         resume;                          // scope 0 at $DIR/dyn-trait.rs:32:1: 35:2
++         resume;                          // scope 0 at $DIR/dyn-trait.rs:+0:1: +3:2
       }
   }
   
index 2a909702a6dc0872b1158ab956f4495ad9d35d47..994930ef4cf6f07e492b69e2d59529d669054a9d 100644 (file)
@@ -2,22 +2,22 @@
 + // MIR for `mk_cycle` after Inline
   
   fn mk_cycle(_1: &dyn Cache<V = V>) -> () {
-      debug c => _1;                       // in scope 0 at $DIR/dyn-trait.rs:20:27: 20:28
-      let mut _0: ();                      // return place in scope 0 at $DIR/dyn-trait.rs:20:49: 20:49
-      let mut _2: &dyn Cache<V = V>;       // in scope 0 at $DIR/dyn-trait.rs:21:5: 21:22
+      debug c => _1;                       // in scope 0 at $DIR/dyn-trait.rs:+0:27: +0:28
+      let mut _0: ();                      // return place in scope 0 at $DIR/dyn-trait.rs:+0:49: +0:49
+      let mut _2: &dyn Cache<V = V>;       // in scope 0 at $DIR/dyn-trait.rs:+1:5: +1:22
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/dyn-trait.rs:21:5: 21:22
-          _2 = &(*_1);                     // scope 0 at $DIR/dyn-trait.rs:21:5: 21:22
-          _0 = <dyn Cache<V = V> as Cache>::store_nocache(move _2) -> bb1; // scope 0 at $DIR/dyn-trait.rs:21:5: 21:22
+          StorageLive(_2);                 // scope 0 at $DIR/dyn-trait.rs:+1:5: +1:22
+          _2 = &(*_1);                     // scope 0 at $DIR/dyn-trait.rs:+1:5: +1:22
+          _0 = <dyn Cache<V = V> as Cache>::store_nocache(move _2) -> bb1; // scope 0 at $DIR/dyn-trait.rs:+1:5: +1:22
                                            // mir::Constant
                                            // + span: $DIR/dyn-trait.rs:21:7: 21:20
                                            // + literal: Const { ty: for<'r> fn(&'r dyn Cache<V = V>) {<dyn Cache<V = V> as Cache>::store_nocache}, val: Value(<ZST>) }
       }
   
       bb1: {
-          StorageDead(_2);                 // scope 0 at $DIR/dyn-trait.rs:21:21: 21:22
-          return;                          // scope 0 at $DIR/dyn-trait.rs:22:2: 22:2
+          StorageDead(_2);                 // scope 0 at $DIR/dyn-trait.rs:+1:21: +1:22
+          return;                          // scope 0 at $DIR/dyn-trait.rs:+2:2: +2:2
       }
   }
   
index 01ebc999cb3ec633aec8c35868b62216119d5cc6..805354d2804a63eaa8d3ffc83a894014f46a2c2b 100644 (file)
@@ -2,25 +2,25 @@
 + // MIR for `try_execute_query` after Inline
   
   fn try_execute_query(_1: &C) -> () {
-      debug c => _1;                       // in scope 0 at $DIR/dyn-trait.rs:26:36: 26:37
-      let mut _0: ();                      // return place in scope 0 at $DIR/dyn-trait.rs:26:43: 26:43
-      let mut _2: &dyn Cache<V = <C as Cache>::V>; // in scope 0 at $DIR/dyn-trait.rs:27:14: 27:15
-      let mut _3: &C;                      // in scope 0 at $DIR/dyn-trait.rs:27:14: 27:15
+      debug c => _1;                       // in scope 0 at $DIR/dyn-trait.rs:+0:36: +0:37
+      let mut _0: ();                      // return place in scope 0 at $DIR/dyn-trait.rs:+0:43: +0:43
+      let mut _2: &dyn Cache<V = <C as Cache>::V>; // in scope 0 at $DIR/dyn-trait.rs:+1:14: +1:15
+      let mut _3: &C;                      // in scope 0 at $DIR/dyn-trait.rs:+1:14: +1:15
 +     scope 1 (inlined mk_cycle::<<C as Cache>::V>) { // at $DIR/dyn-trait.rs:27:5: 27:16
-+         debug c => _2;                   // in scope 1 at $DIR/dyn-trait.rs:20:27: 20:28
-+         let mut _4: &dyn Cache<V = <C as Cache>::V>; // in scope 1 at $DIR/dyn-trait.rs:21:5: 21:22
++         debug c => _2;                   // in scope 1 at $DIR/dyn-trait.rs:+0:27: +0:28
++         let mut _4: &dyn Cache<V = <C as Cache>::V>; // in scope 1 at $DIR/dyn-trait.rs:+0:5: +0:22
 +     }
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/dyn-trait.rs:27:14: 27:15
-          StorageLive(_3);                 // scope 0 at $DIR/dyn-trait.rs:27:14: 27:15
-          _3 = &(*_1);                     // scope 0 at $DIR/dyn-trait.rs:27:14: 27:15
-          _2 = move _3 as &dyn Cache<V = <C as Cache>::V> (Pointer(Unsize)); // scope 0 at $DIR/dyn-trait.rs:27:14: 27:15
-          StorageDead(_3);                 // scope 0 at $DIR/dyn-trait.rs:27:14: 27:15
--         _0 = mk_cycle::<<C as Cache>::V>(move _2) -> bb1; // scope 0 at $DIR/dyn-trait.rs:27:5: 27:16
-+         StorageLive(_4);                 // scope 1 at $DIR/dyn-trait.rs:21:5: 21:22
-+         _4 = _2;                         // scope 1 at $DIR/dyn-trait.rs:21:5: 21:22
-+         _0 = <dyn Cache<V = <C as Cache>::V> as Cache>::store_nocache(move _4) -> bb1; // scope 1 at $DIR/dyn-trait.rs:21:5: 21:22
+          StorageLive(_2);                 // scope 0 at $DIR/dyn-trait.rs:+1:14: +1:15
+          StorageLive(_3);                 // scope 0 at $DIR/dyn-trait.rs:+1:14: +1:15
+          _3 = &(*_1);                     // scope 0 at $DIR/dyn-trait.rs:+1:14: +1:15
+          _2 = move _3 as &dyn Cache<V = <C as Cache>::V> (Pointer(Unsize)); // scope 0 at $DIR/dyn-trait.rs:+1:14: +1:15
+          StorageDead(_3);                 // scope 0 at $DIR/dyn-trait.rs:+1:14: +1:15
+-         _0 = mk_cycle::<<C as Cache>::V>(move _2) -> bb1; // scope 0 at $DIR/dyn-trait.rs:+1:5: +1:16
++         StorageLive(_4);                 // scope 1 at $DIR/dyn-trait.rs:+0:5: +0:22
++         _4 = _2;                         // scope 1 at $DIR/dyn-trait.rs:+0:5: +0:22
++         _0 = <dyn Cache<V = <C as Cache>::V> as Cache>::store_nocache(move _4) -> bb1; // scope 1 at $DIR/dyn-trait.rs:+0:5: +0:22
                                            // mir::Constant
 -                                          // + span: $DIR/dyn-trait.rs:27:5: 27:13
 -                                          // + literal: Const { ty: for<'r> fn(&'r (dyn Cache<V = <C as Cache>::V> + 'r)) {mk_cycle::<<C as Cache>::V>}, val: Value(<ZST>) }
       }
   
       bb1: {
-+         StorageDead(_4);                 // scope 1 at $DIR/dyn-trait.rs:21:21: 21:22
-          StorageDead(_2);                 // scope 0 at $DIR/dyn-trait.rs:27:15: 27:16
-          return;                          // scope 0 at $DIR/dyn-trait.rs:28:2: 28:2
++         StorageDead(_4);                 // scope 1 at $DIR/dyn-trait.rs:+0:21: +0:22
+          StorageDead(_2);                 // scope 0 at $DIR/dyn-trait.rs:+1:15: +1:16
+          return;                          // scope 0 at $DIR/dyn-trait.rs:+2:2: +2:2
 +     }
 + 
 +     bb2 (cleanup): {
-+         resume;                          // scope 0 at $DIR/dyn-trait.rs:26:1: 28:2
++         resume;                          // scope 0 at $DIR/dyn-trait.rs:+0:1: +2:2
       }
   }
   
index ff338ae58cd878c275b6524e2c658e03bc7a27d5..77b5df943a35366c27686a537e159601a45ff852 100644 (file)
@@ -1,48 +1,48 @@
 // MIR for `bar` after Inline
 
 fn bar() -> bool {
-    let mut _0: bool;                    // return place in scope 0 at $DIR/inline-any-operand.rs:10:13: 10:17
-    let _1: fn(i32, i32) -> bool {foo};  // in scope 0 at $DIR/inline-any-operand.rs:11:9: 11:10
-    let mut _2: fn(i32, i32) -> bool {foo}; // in scope 0 at $DIR/inline-any-operand.rs:12:5: 12:6
-    let mut _3: i32;                     // in scope 0 at $DIR/inline-any-operand.rs:12:5: 12:13
-    let mut _4: i32;                     // in scope 0 at $DIR/inline-any-operand.rs:12:5: 12:13
+    let mut _0: bool;                    // return place in scope 0 at $DIR/inline-any-operand.rs:+0:13: +0:17
+    let _1: fn(i32, i32) -> bool {foo};  // in scope 0 at $DIR/inline-any-operand.rs:+1:9: +1:10
+    let mut _2: fn(i32, i32) -> bool {foo}; // in scope 0 at $DIR/inline-any-operand.rs:+2:5: +2:6
+    let mut _3: i32;                     // in scope 0 at $DIR/inline-any-operand.rs:+2:5: +2:13
+    let mut _4: i32;                     // in scope 0 at $DIR/inline-any-operand.rs:+2:5: +2:13
     scope 1 {
-        debug f => _1;                   // in scope 1 at $DIR/inline-any-operand.rs:11:9: 11:10
+        debug f => _1;                   // in scope 1 at $DIR/inline-any-operand.rs:+1:9: +1:10
         scope 2 (inlined foo) {          // at $DIR/inline-any-operand.rs:12:5: 12:13
-            debug x => _3;               // in scope 2 at $DIR/inline-any-operand.rs:16:8: 16:9
-            debug y => _4;               // in scope 2 at $DIR/inline-any-operand.rs:16:16: 16:17
-            let mut _5: i32;             // in scope 2 at $DIR/inline-any-operand.rs:17:5: 17:6
-            let mut _6: i32;             // in scope 2 at $DIR/inline-any-operand.rs:17:10: 17:11
+            debug x => _3;               // in scope 2 at $DIR/inline-any-operand.rs:+6:8: +6:9
+            debug y => _4;               // in scope 2 at $DIR/inline-any-operand.rs:+6:16: +6:17
+            let mut _5: i32;             // in scope 2 at $DIR/inline-any-operand.rs:+7:5: +7:6
+            let mut _6: i32;             // in scope 2 at $DIR/inline-any-operand.rs:+7:10: +7:11
         }
     }
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/inline-any-operand.rs:11:9: 11:10
-        _1 = foo;                        // scope 0 at $DIR/inline-any-operand.rs:11:13: 11:16
+        StorageLive(_1);                 // scope 0 at $DIR/inline-any-operand.rs:+1:9: +1:10
+        _1 = foo;                        // scope 0 at $DIR/inline-any-operand.rs:+1:13: +1:16
                                          // mir::Constant
                                          // + span: $DIR/inline-any-operand.rs:11:13: 11:16
                                          // + literal: Const { ty: fn(i32, i32) -> bool {foo}, val: Value(<ZST>) }
-        StorageLive(_2);                 // scope 1 at $DIR/inline-any-operand.rs:12:5: 12:6
-        _2 = _1;                         // scope 1 at $DIR/inline-any-operand.rs:12:5: 12:6
-        StorageLive(_3);                 // scope 1 at $DIR/inline-any-operand.rs:12:5: 12:13
-        _3 = const 1_i32;                // scope 1 at $DIR/inline-any-operand.rs:12:5: 12:13
-        StorageLive(_4);                 // scope 1 at $DIR/inline-any-operand.rs:12:5: 12:13
-        _4 = const -1_i32;               // scope 1 at $DIR/inline-any-operand.rs:12:5: 12:13
-        StorageLive(_5);                 // scope 2 at $DIR/inline-any-operand.rs:17:5: 17:6
-        _5 = _3;                         // scope 2 at $DIR/inline-any-operand.rs:17:5: 17:6
-        StorageLive(_6);                 // scope 2 at $DIR/inline-any-operand.rs:17:10: 17:11
-        _6 = _4;                         // scope 2 at $DIR/inline-any-operand.rs:17:10: 17:11
-        _0 = Eq(move _5, move _6);       // scope 2 at $DIR/inline-any-operand.rs:17:5: 17:11
-        StorageDead(_6);                 // scope 2 at $DIR/inline-any-operand.rs:17:10: 17:11
-        StorageDead(_5);                 // scope 2 at $DIR/inline-any-operand.rs:17:10: 17:11
-        StorageDead(_4);                 // scope 1 at $DIR/inline-any-operand.rs:12:5: 12:13
-        StorageDead(_3);                 // scope 1 at $DIR/inline-any-operand.rs:12:5: 12:13
-        StorageDead(_2);                 // scope 1 at $DIR/inline-any-operand.rs:12:12: 12:13
-        StorageDead(_1);                 // scope 0 at $DIR/inline-any-operand.rs:13:1: 13:2
-        return;                          // scope 0 at $DIR/inline-any-operand.rs:13:2: 13:2
+        StorageLive(_2);                 // scope 1 at $DIR/inline-any-operand.rs:+2:5: +2:6
+        _2 = _1;                         // scope 1 at $DIR/inline-any-operand.rs:+2:5: +2:6
+        StorageLive(_3);                 // scope 1 at $DIR/inline-any-operand.rs:+2:5: +2:13
+        _3 = const 1_i32;                // scope 1 at $DIR/inline-any-operand.rs:+2:5: +2:13
+        StorageLive(_4);                 // scope 1 at $DIR/inline-any-operand.rs:+2:5: +2:13
+        _4 = const -1_i32;               // scope 1 at $DIR/inline-any-operand.rs:+2:5: +2:13
+        StorageLive(_5);                 // scope 2 at $DIR/inline-any-operand.rs:+7:5: +7:6
+        _5 = _3;                         // scope 2 at $DIR/inline-any-operand.rs:+7:5: +7:6
+        StorageLive(_6);                 // scope 2 at $DIR/inline-any-operand.rs:+7:10: +7:11
+        _6 = _4;                         // scope 2 at $DIR/inline-any-operand.rs:+7:10: +7:11
+        _0 = Eq(move _5, move _6);       // scope 2 at $DIR/inline-any-operand.rs:+7:5: +7:11
+        StorageDead(_6);                 // scope 2 at $DIR/inline-any-operand.rs:+7:10: +7:11
+        StorageDead(_5);                 // scope 2 at $DIR/inline-any-operand.rs:+7:10: +7:11
+        StorageDead(_4);                 // scope 1 at $DIR/inline-any-operand.rs:+2:5: +2:13
+        StorageDead(_3);                 // scope 1 at $DIR/inline-any-operand.rs:+2:5: +2:13
+        StorageDead(_2);                 // scope 1 at $DIR/inline-any-operand.rs:+2:12: +2:13
+        StorageDead(_1);                 // scope 0 at $DIR/inline-any-operand.rs:+3:1: +3:2
+        return;                          // scope 0 at $DIR/inline-any-operand.rs:+3:2: +3:2
     }
 
     bb1 (cleanup): {
-        resume;                          // scope 0 at $DIR/inline-any-operand.rs:10:1: 13:2
+        resume;                          // scope 0 at $DIR/inline-any-operand.rs:+0:1: +3:2
     }
 }
index 66fc5fa80ea269abb1b44cd590327354729ffad7..d746e1a093a9272d0b7f65bf622888060ff8d7b9 100644 (file)
@@ -1,53 +1,53 @@
 // MIR for `foo` after Inline
 
 fn foo(_1: T, _2: i32) -> i32 {
-    debug _t => _1;                      // in scope 0 at $DIR/inline-closure.rs:10:17: 10:19
-    debug q => _2;                       // in scope 0 at $DIR/inline-closure.rs:10:24: 10:25
-    let mut _0: i32;                     // return place in scope 0 at $DIR/inline-closure.rs:10:35: 10:38
-    let _3: [closure@foo<T>::{closure#0}]; // in scope 0 at $DIR/inline-closure.rs:11:9: 11:10
-    let mut _4: &[closure@foo<T>::{closure#0}]; // in scope 0 at $DIR/inline-closure.rs:12:5: 12:6
-    let mut _5: (i32, i32);              // in scope 0 at $DIR/inline-closure.rs:12:5: 12:12
-    let mut _6: i32;                     // in scope 0 at $DIR/inline-closure.rs:12:7: 12:8
-    let mut _7: i32;                     // in scope 0 at $DIR/inline-closure.rs:12:10: 12:11
-    let mut _8: i32;                     // in scope 0 at $DIR/inline-closure.rs:12:5: 12:12
-    let mut _9: i32;                     // in scope 0 at $DIR/inline-closure.rs:12:5: 12:12
+    debug _t => _1;                      // in scope 0 at $DIR/inline-closure.rs:+0:17: +0:19
+    debug q => _2;                       // in scope 0 at $DIR/inline-closure.rs:+0:24: +0:25
+    let mut _0: i32;                     // return place in scope 0 at $DIR/inline-closure.rs:+0:35: +0:38
+    let _3: [closure@foo<T>::{closure#0}]; // in scope 0 at $DIR/inline-closure.rs:+1:9: +1:10
+    let mut _4: &[closure@foo<T>::{closure#0}]; // in scope 0 at $DIR/inline-closure.rs:+2:5: +2:6
+    let mut _5: (i32, i32);              // in scope 0 at $DIR/inline-closure.rs:+2:5: +2:12
+    let mut _6: i32;                     // in scope 0 at $DIR/inline-closure.rs:+2:7: +2:8
+    let mut _7: i32;                     // in scope 0 at $DIR/inline-closure.rs:+2:10: +2:11
+    let mut _8: i32;                     // in scope 0 at $DIR/inline-closure.rs:+2:5: +2:12
+    let mut _9: i32;                     // in scope 0 at $DIR/inline-closure.rs:+2:5: +2:12
     scope 1 {
-        debug x => _3;                   // in scope 1 at $DIR/inline-closure.rs:11:9: 11:10
+        debug x => _3;                   // in scope 1 at $DIR/inline-closure.rs:+1:9: +1:10
         scope 2 (inlined foo::<T>::{closure#0}) { // at $DIR/inline-closure.rs:12:5: 12:12
-            debug _t => _8;              // in scope 2 at $DIR/inline-closure.rs:11:14: 11:16
-            debug _q => _9;              // in scope 2 at $DIR/inline-closure.rs:11:18: 11:20
+            debug _t => _8;              // in scope 2 at $DIR/inline-closure.rs:+1:14: +1:16
+            debug _q => _9;              // in scope 2 at $DIR/inline-closure.rs:+1:18: +1:20
         }
     }
 
     bb0: {
-        StorageLive(_3);                 // scope 0 at $DIR/inline-closure.rs:11:9: 11:10
-        Deinit(_3);                      // scope 0 at $DIR/inline-closure.rs:11:13: 11:24
-        StorageLive(_4);                 // scope 1 at $DIR/inline-closure.rs:12:5: 12:6
-        _4 = &_3;                        // scope 1 at $DIR/inline-closure.rs:12:5: 12:6
-        StorageLive(_5);                 // scope 1 at $DIR/inline-closure.rs:12:5: 12:12
-        StorageLive(_6);                 // scope 1 at $DIR/inline-closure.rs:12:7: 12:8
-        _6 = _2;                         // scope 1 at $DIR/inline-closure.rs:12:7: 12:8
-        StorageLive(_7);                 // scope 1 at $DIR/inline-closure.rs:12:10: 12:11
-        _7 = _2;                         // scope 1 at $DIR/inline-closure.rs:12:10: 12:11
-        Deinit(_5);                      // scope 1 at $DIR/inline-closure.rs:12:5: 12:12
-        (_5.0: i32) = move _6;           // scope 1 at $DIR/inline-closure.rs:12:5: 12:12
-        (_5.1: i32) = move _7;           // scope 1 at $DIR/inline-closure.rs:12:5: 12:12
-        StorageLive(_8);                 // scope 1 at $DIR/inline-closure.rs:12:5: 12:12
-        _8 = move (_5.0: i32);           // scope 1 at $DIR/inline-closure.rs:12:5: 12:12
-        StorageLive(_9);                 // scope 1 at $DIR/inline-closure.rs:12:5: 12:12
-        _9 = move (_5.1: i32);           // scope 1 at $DIR/inline-closure.rs:12:5: 12:12
-        _0 = _8;                         // scope 2 at $DIR/inline-closure.rs:11:22: 11:24
-        StorageDead(_9);                 // scope 1 at $DIR/inline-closure.rs:12:5: 12:12
-        StorageDead(_8);                 // scope 1 at $DIR/inline-closure.rs:12:5: 12:12
-        StorageDead(_7);                 // scope 1 at $DIR/inline-closure.rs:12:11: 12:12
-        StorageDead(_6);                 // scope 1 at $DIR/inline-closure.rs:12:11: 12:12
-        StorageDead(_5);                 // scope 1 at $DIR/inline-closure.rs:12:11: 12:12
-        StorageDead(_4);                 // scope 1 at $DIR/inline-closure.rs:12:11: 12:12
-        StorageDead(_3);                 // scope 0 at $DIR/inline-closure.rs:13:1: 13:2
-        return;                          // scope 0 at $DIR/inline-closure.rs:13:2: 13:2
+        StorageLive(_3);                 // scope 0 at $DIR/inline-closure.rs:+1:9: +1:10
+        Deinit(_3);                      // scope 0 at $DIR/inline-closure.rs:+1:13: +1:24
+        StorageLive(_4);                 // scope 1 at $DIR/inline-closure.rs:+2:5: +2:6
+        _4 = &_3;                        // scope 1 at $DIR/inline-closure.rs:+2:5: +2:6
+        StorageLive(_5);                 // scope 1 at $DIR/inline-closure.rs:+2:5: +2:12
+        StorageLive(_6);                 // scope 1 at $DIR/inline-closure.rs:+2:7: +2:8
+        _6 = _2;                         // scope 1 at $DIR/inline-closure.rs:+2:7: +2:8
+        StorageLive(_7);                 // scope 1 at $DIR/inline-closure.rs:+2:10: +2:11
+        _7 = _2;                         // scope 1 at $DIR/inline-closure.rs:+2:10: +2:11
+        Deinit(_5);                      // scope 1 at $DIR/inline-closure.rs:+2:5: +2:12
+        (_5.0: i32) = move _6;           // scope 1 at $DIR/inline-closure.rs:+2:5: +2:12
+        (_5.1: i32) = move _7;           // scope 1 at $DIR/inline-closure.rs:+2:5: +2:12
+        StorageLive(_8);                 // scope 1 at $DIR/inline-closure.rs:+2:5: +2:12
+        _8 = move (_5.0: i32);           // scope 1 at $DIR/inline-closure.rs:+2:5: +2:12
+        StorageLive(_9);                 // scope 1 at $DIR/inline-closure.rs:+2:5: +2:12
+        _9 = move (_5.1: i32);           // scope 1 at $DIR/inline-closure.rs:+2:5: +2:12
+        _0 = _8;                         // scope 2 at $DIR/inline-closure.rs:+1:22: +1:24
+        StorageDead(_9);                 // scope 1 at $DIR/inline-closure.rs:+2:5: +2:12
+        StorageDead(_8);                 // scope 1 at $DIR/inline-closure.rs:+2:5: +2:12
+        StorageDead(_7);                 // scope 1 at $DIR/inline-closure.rs:+2:11: +2:12
+        StorageDead(_6);                 // scope 1 at $DIR/inline-closure.rs:+2:11: +2:12
+        StorageDead(_5);                 // scope 1 at $DIR/inline-closure.rs:+2:11: +2:12
+        StorageDead(_4);                 // scope 1 at $DIR/inline-closure.rs:+2:11: +2:12
+        StorageDead(_3);                 // scope 0 at $DIR/inline-closure.rs:+3:1: +3:2
+        return;                          // scope 0 at $DIR/inline-closure.rs:+3:2: +3:2
     }
 
     bb1 (cleanup): {
-        resume;                          // scope 0 at $DIR/inline-closure.rs:10:1: 13:2
+        resume;                          // scope 0 at $DIR/inline-closure.rs:+0:1: +3:2
     }
 }
index 7bb17dab061ad98bb7fb45c3e426269717cb5391..84b3fb92cd535cd001caf7aa76a999f3a6e06d3a 100644 (file)
@@ -1,60 +1,60 @@
 // MIR for `foo` after Inline
 
 fn foo(_1: T, _2: &i32) -> i32 {
-    debug _t => _1;                      // in scope 0 at $DIR/inline-closure-borrows-arg.rs:11:17: 11:19
-    debug q => _2;                       // in scope 0 at $DIR/inline-closure-borrows-arg.rs:11:24: 11:25
-    let mut _0: i32;                     // return place in scope 0 at $DIR/inline-closure-borrows-arg.rs:11:36: 11:39
-    let _3: [closure@foo<T>::{closure#0}]; // in scope 0 at $DIR/inline-closure-borrows-arg.rs:12:9: 12:10
-    let mut _4: &[closure@foo<T>::{closure#0}]; // in scope 0 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:6
-    let mut _5: (&i32, &i32);            // in scope 0 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12
-    let mut _6: &i32;                    // in scope 0 at $DIR/inline-closure-borrows-arg.rs:16:7: 16:8
-    let mut _7: &i32;                    // in scope 0 at $DIR/inline-closure-borrows-arg.rs:16:10: 16:11
-    let mut _8: &i32;                    // in scope 0 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12
-    let mut _9: &i32;                    // in scope 0 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12
+    debug _t => _1;                      // in scope 0 at $DIR/inline-closure-borrows-arg.rs:+0:17: +0:19
+    debug q => _2;                       // in scope 0 at $DIR/inline-closure-borrows-arg.rs:+0:24: +0:25
+    let mut _0: i32;                     // return place in scope 0 at $DIR/inline-closure-borrows-arg.rs:+0:36: +0:39
+    let _3: [closure@foo<T>::{closure#0}]; // in scope 0 at $DIR/inline-closure-borrows-arg.rs:+1:9: +1:10
+    let mut _4: &[closure@foo<T>::{closure#0}]; // in scope 0 at $DIR/inline-closure-borrows-arg.rs:+5:5: +5:6
+    let mut _5: (&i32, &i32);            // in scope 0 at $DIR/inline-closure-borrows-arg.rs:+5:5: +5:12
+    let mut _6: &i32;                    // in scope 0 at $DIR/inline-closure-borrows-arg.rs:+5:7: +5:8
+    let mut _7: &i32;                    // in scope 0 at $DIR/inline-closure-borrows-arg.rs:+5:10: +5:11
+    let mut _8: &i32;                    // in scope 0 at $DIR/inline-closure-borrows-arg.rs:+5:5: +5:12
+    let mut _9: &i32;                    // in scope 0 at $DIR/inline-closure-borrows-arg.rs:+5:5: +5:12
     scope 1 {
-        debug x => _3;                   // in scope 1 at $DIR/inline-closure-borrows-arg.rs:12:9: 12:10
+        debug x => _3;                   // in scope 1 at $DIR/inline-closure-borrows-arg.rs:+1:9: +1:10
         scope 2 (inlined foo::<T>::{closure#0}) { // at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12
-            debug r => _8;               // in scope 2 at $DIR/inline-closure-borrows-arg.rs:12:14: 12:15
-            debug _s => _9;              // in scope 2 at $DIR/inline-closure-borrows-arg.rs:12:23: 12:25
-            let _10: &i32;               // in scope 2 at $DIR/inline-closure-borrows-arg.rs:13:13: 13:21
+            debug r => _8;               // in scope 2 at $DIR/inline-closure-borrows-arg.rs:+1:14: +1:15
+            debug _s => _9;              // in scope 2 at $DIR/inline-closure-borrows-arg.rs:+1:23: +1:25
+            let _10: &i32;               // in scope 2 at $DIR/inline-closure-borrows-arg.rs:+2:13: +2:21
             scope 3 {
-                debug variable => _10;   // in scope 3 at $DIR/inline-closure-borrows-arg.rs:13:13: 13:21
+                debug variable => _10;   // in scope 3 at $DIR/inline-closure-borrows-arg.rs:+2:13: +2:21
             }
         }
     }
 
     bb0: {
-        StorageLive(_3);                 // scope 0 at $DIR/inline-closure-borrows-arg.rs:12:9: 12:10
-        Deinit(_3);                      // scope 0 at $DIR/inline-closure-borrows-arg.rs:12:13: 15:6
-        StorageLive(_4);                 // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:6
-        _4 = &_3;                        // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:6
-        StorageLive(_5);                 // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12
-        StorageLive(_6);                 // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:7: 16:8
-        _6 = &(*_2);                     // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:7: 16:8
-        StorageLive(_7);                 // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:10: 16:11
-        _7 = &(*_2);                     // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:10: 16:11
-        Deinit(_5);                      // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12
-        (_5.0: &i32) = move _6;          // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12
-        (_5.1: &i32) = move _7;          // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12
-        StorageLive(_8);                 // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12
-        _8 = move (_5.0: &i32);          // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12
-        StorageLive(_9);                 // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12
-        _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:13:13: 13:21
-        _10 = _8;                        // scope 2 at $DIR/inline-closure-borrows-arg.rs:13:24: 13:27
-        _0 = (*_10);                     // scope 3 at $DIR/inline-closure-borrows-arg.rs:14:9: 14:18
-        StorageDead(_10);                // scope 2 at $DIR/inline-closure-borrows-arg.rs:15:5: 15:6
-        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
-        StorageDead(_7);                 // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:11: 16:12
-        StorageDead(_6);                 // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:11: 16:12
-        StorageDead(_5);                 // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:11: 16:12
-        StorageDead(_4);                 // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:11: 16:12
-        StorageDead(_3);                 // scope 0 at $DIR/inline-closure-borrows-arg.rs:17:1: 17:2
-        return;                          // scope 0 at $DIR/inline-closure-borrows-arg.rs:17:2: 17:2
+        StorageLive(_3);                 // scope 0 at $DIR/inline-closure-borrows-arg.rs:+1:9: +1:10
+        Deinit(_3);                      // scope 0 at $DIR/inline-closure-borrows-arg.rs:+1:13: +4:6
+        StorageLive(_4);                 // scope 1 at $DIR/inline-closure-borrows-arg.rs:+5:5: +5:6
+        _4 = &_3;                        // scope 1 at $DIR/inline-closure-borrows-arg.rs:+5:5: +5:6
+        StorageLive(_5);                 // scope 1 at $DIR/inline-closure-borrows-arg.rs:+5:5: +5:12
+        StorageLive(_6);                 // scope 1 at $DIR/inline-closure-borrows-arg.rs:+5:7: +5:8
+        _6 = &(*_2);                     // scope 1 at $DIR/inline-closure-borrows-arg.rs:+5:7: +5:8
+        StorageLive(_7);                 // scope 1 at $DIR/inline-closure-borrows-arg.rs:+5:10: +5:11
+        _7 = &(*_2);                     // scope 1 at $DIR/inline-closure-borrows-arg.rs:+5:10: +5:11
+        Deinit(_5);                      // scope 1 at $DIR/inline-closure-borrows-arg.rs:+5:5: +5:12
+        (_5.0: &i32) = move _6;          // scope 1 at $DIR/inline-closure-borrows-arg.rs:+5:5: +5:12
+        (_5.1: &i32) = move _7;          // scope 1 at $DIR/inline-closure-borrows-arg.rs:+5:5: +5:12
+        StorageLive(_8);                 // scope 1 at $DIR/inline-closure-borrows-arg.rs:+5:5: +5:12
+        _8 = move (_5.0: &i32);          // scope 1 at $DIR/inline-closure-borrows-arg.rs:+5:5: +5:12
+        StorageLive(_9);                 // scope 1 at $DIR/inline-closure-borrows-arg.rs:+5:5: +5:12
+        _9 = move (_5.1: &i32);          // scope 1 at $DIR/inline-closure-borrows-arg.rs:+5:5: +5:12
+        StorageLive(_10);                // scope 2 at $DIR/inline-closure-borrows-arg.rs:+2:13: +2:21
+        _10 = _8;                        // scope 2 at $DIR/inline-closure-borrows-arg.rs:+2:24: +2:27
+        _0 = (*_10);                     // scope 3 at $DIR/inline-closure-borrows-arg.rs:+3:9: +3:18
+        StorageDead(_10);                // scope 2 at $DIR/inline-closure-borrows-arg.rs:+4:5: +4:6
+        StorageDead(_9);                 // scope 1 at $DIR/inline-closure-borrows-arg.rs:+5:5: +5:12
+        StorageDead(_8);                 // scope 1 at $DIR/inline-closure-borrows-arg.rs:+5:5: +5:12
+        StorageDead(_7);                 // scope 1 at $DIR/inline-closure-borrows-arg.rs:+5:11: +5:12
+        StorageDead(_6);                 // scope 1 at $DIR/inline-closure-borrows-arg.rs:+5:11: +5:12
+        StorageDead(_5);                 // scope 1 at $DIR/inline-closure-borrows-arg.rs:+5:11: +5:12
+        StorageDead(_4);                 // scope 1 at $DIR/inline-closure-borrows-arg.rs:+5:11: +5:12
+        StorageDead(_3);                 // scope 0 at $DIR/inline-closure-borrows-arg.rs:+6:1: +6:2
+        return;                          // scope 0 at $DIR/inline-closure-borrows-arg.rs:+6:2: +6:2
     }
 
     bb1 (cleanup): {
-        resume;                          // scope 0 at $DIR/inline-closure-borrows-arg.rs:11:1: 17:2
+        resume;                          // scope 0 at $DIR/inline-closure-borrows-arg.rs:+0:1: +6:2
     }
 }
index 0e6ae6578e2a3d18f4735959abdad2e815eb1b13..75693dc384b13581a9cf0cb68827453476e1bc65 100644 (file)
@@ -1,73 +1,73 @@
 // MIR for `foo` after Inline
 
 fn foo(_1: T, _2: i32) -> (i32, T) {
-    debug t => _1;                       // in scope 0 at $DIR/inline-closure-captures.rs:10:17: 10:18
-    debug q => _2;                       // in scope 0 at $DIR/inline-closure-captures.rs:10:23: 10:24
-    let mut _0: (i32, T);                // return place in scope 0 at $DIR/inline-closure-captures.rs:10:34: 10:42
-    let _3: [closure@foo<T>::{closure#0}]; // in scope 0 at $DIR/inline-closure-captures.rs:11:9: 11:10
-    let mut _4: &i32;                    // in scope 0 at $DIR/inline-closure-captures.rs:11:13: 11:24
-    let mut _5: &T;                      // in scope 0 at $DIR/inline-closure-captures.rs:11:13: 11:24
-    let mut _6: &[closure@foo<T>::{closure#0}]; // in scope 0 at $DIR/inline-closure-captures.rs:12:5: 12:6
-    let mut _7: (i32,);                  // in scope 0 at $DIR/inline-closure-captures.rs:12:5: 12:9
-    let mut _8: i32;                     // in scope 0 at $DIR/inline-closure-captures.rs:12:7: 12:8
-    let mut _9: i32;                     // in scope 0 at $DIR/inline-closure-captures.rs:12:5: 12:9
+    debug t => _1;                       // in scope 0 at $DIR/inline-closure-captures.rs:+0:17: +0:18
+    debug q => _2;                       // in scope 0 at $DIR/inline-closure-captures.rs:+0:23: +0:24
+    let mut _0: (i32, T);                // return place in scope 0 at $DIR/inline-closure-captures.rs:+0:34: +0:42
+    let _3: [closure@foo<T>::{closure#0}]; // in scope 0 at $DIR/inline-closure-captures.rs:+1:9: +1:10
+    let mut _4: &i32;                    // in scope 0 at $DIR/inline-closure-captures.rs:+1:13: +1:24
+    let mut _5: &T;                      // in scope 0 at $DIR/inline-closure-captures.rs:+1:13: +1:24
+    let mut _6: &[closure@foo<T>::{closure#0}]; // in scope 0 at $DIR/inline-closure-captures.rs:+2:5: +2:6
+    let mut _7: (i32,);                  // in scope 0 at $DIR/inline-closure-captures.rs:+2:5: +2:9
+    let mut _8: i32;                     // in scope 0 at $DIR/inline-closure-captures.rs:+2:7: +2:8
+    let mut _9: i32;                     // in scope 0 at $DIR/inline-closure-captures.rs:+2:5: +2:9
     scope 1 {
-        debug x => _3;                   // in scope 1 at $DIR/inline-closure-captures.rs:11:9: 11:10
+        debug x => _3;                   // in scope 1 at $DIR/inline-closure-captures.rs:+1:9: +1:10
         scope 2 (inlined foo::<T>::{closure#0}) { // at $DIR/inline-closure-captures.rs:12:5: 12:9
-            debug _q => _9;              // in scope 2 at $DIR/inline-closure-captures.rs:11:14: 11:16
-            debug q => (*((*_6).0: &i32)); // in scope 2 at $DIR/inline-closure-captures.rs:10:23: 10:24
-            debug t => (*((*_6).1: &T)); // in scope 2 at $DIR/inline-closure-captures.rs:10:17: 10:18
-            let mut _10: i32;            // in scope 2 at $DIR/inline-closure-captures.rs:11:19: 11:20
-            let mut _11: T;              // in scope 2 at $DIR/inline-closure-captures.rs:11:22: 11:23
-            let mut _12: &i32;           // in scope 2 at $DIR/inline-closure-captures.rs:11:13: 11:17
-            let mut _13: &T;             // in scope 2 at $DIR/inline-closure-captures.rs:11:13: 11:17
+            debug _q => _9;              // in scope 2 at $DIR/inline-closure-captures.rs:+1:14: +1:16
+            debug q => (*((*_6).0: &i32)); // in scope 2 at $DIR/inline-closure-captures.rs:+0:23: +0:24
+            debug t => (*((*_6).1: &T)); // in scope 2 at $DIR/inline-closure-captures.rs:+0:17: +0:18
+            let mut _10: i32;            // in scope 2 at $DIR/inline-closure-captures.rs:+1:19: +1:20
+            let mut _11: T;              // in scope 2 at $DIR/inline-closure-captures.rs:+1:22: +1:23
+            let mut _12: &i32;           // in scope 2 at $DIR/inline-closure-captures.rs:+1:13: +1:17
+            let mut _13: &T;             // in scope 2 at $DIR/inline-closure-captures.rs:+1:13: +1:17
         }
     }
 
     bb0: {
-        StorageLive(_3);                 // scope 0 at $DIR/inline-closure-captures.rs:11:9: 11:10
-        StorageLive(_4);                 // scope 0 at $DIR/inline-closure-captures.rs:11:13: 11:24
-        _4 = &_2;                        // scope 0 at $DIR/inline-closure-captures.rs:11:13: 11:24
-        StorageLive(_5);                 // scope 0 at $DIR/inline-closure-captures.rs:11:13: 11:24
-        _5 = &_1;                        // scope 0 at $DIR/inline-closure-captures.rs:11:13: 11:24
-        Deinit(_3);                      // scope 0 at $DIR/inline-closure-captures.rs:11:13: 11:24
-        (_3.0: &i32) = move _4;          // scope 0 at $DIR/inline-closure-captures.rs:11:13: 11:24
-        (_3.1: &T) = move _5;            // scope 0 at $DIR/inline-closure-captures.rs:11:13: 11:24
-        StorageDead(_5);                 // scope 0 at $DIR/inline-closure-captures.rs:11:16: 11:17
-        StorageDead(_4);                 // scope 0 at $DIR/inline-closure-captures.rs:11:16: 11:17
-        StorageLive(_6);                 // scope 1 at $DIR/inline-closure-captures.rs:12:5: 12:6
-        _6 = &_3;                        // scope 1 at $DIR/inline-closure-captures.rs:12:5: 12:6
-        StorageLive(_7);                 // scope 1 at $DIR/inline-closure-captures.rs:12:5: 12:9
-        StorageLive(_8);                 // scope 1 at $DIR/inline-closure-captures.rs:12:7: 12:8
-        _8 = _2;                         // scope 1 at $DIR/inline-closure-captures.rs:12:7: 12:8
-        Deinit(_7);                      // scope 1 at $DIR/inline-closure-captures.rs:12:5: 12:9
-        (_7.0: i32) = move _8;           // scope 1 at $DIR/inline-closure-captures.rs:12:5: 12:9
-        StorageLive(_9);                 // scope 1 at $DIR/inline-closure-captures.rs:12:5: 12:9
-        _9 = move (_7.0: i32);           // scope 1 at $DIR/inline-closure-captures.rs:12:5: 12:9
-        StorageLive(_10);                // scope 2 at $DIR/inline-closure-captures.rs:11:19: 11:20
-        StorageLive(_12);                // scope 2 at $DIR/inline-closure-captures.rs:11:19: 11:20
-        _12 = deref_copy ((*_6).0: &i32); // scope 2 at $DIR/inline-closure-captures.rs:11:19: 11:20
-        _10 = (*_12);                    // scope 2 at $DIR/inline-closure-captures.rs:11:19: 11:20
-        StorageDead(_12);                // scope 2 at $DIR/inline-closure-captures.rs:11:22: 11:23
-        StorageLive(_11);                // scope 2 at $DIR/inline-closure-captures.rs:11:22: 11:23
-        StorageLive(_13);                // scope 2 at $DIR/inline-closure-captures.rs:11:22: 11:23
-        _13 = deref_copy ((*_6).1: &T);  // scope 2 at $DIR/inline-closure-captures.rs:11:22: 11:23
-        _11 = (*_13);                    // scope 2 at $DIR/inline-closure-captures.rs:11:22: 11:23
-        StorageDead(_13);                // scope 2 at $DIR/inline-closure-captures.rs:11:18: 11:24
-        Deinit(_0);                      // scope 2 at $DIR/inline-closure-captures.rs:11:18: 11:24
-        (_0.0: i32) = move _10;          // scope 2 at $DIR/inline-closure-captures.rs:11:18: 11:24
-        (_0.1: T) = move _11;            // scope 2 at $DIR/inline-closure-captures.rs:11:18: 11:24
-        StorageDead(_11);                // scope 2 at $DIR/inline-closure-captures.rs:11:23: 11:24
-        StorageDead(_10);                // scope 2 at $DIR/inline-closure-captures.rs:11:23: 11:24
-        StorageDead(_9);                 // scope 1 at $DIR/inline-closure-captures.rs:12:5: 12:9
-        StorageDead(_8);                 // scope 1 at $DIR/inline-closure-captures.rs:12:8: 12:9
-        StorageDead(_7);                 // scope 1 at $DIR/inline-closure-captures.rs:12:8: 12:9
-        StorageDead(_6);                 // scope 1 at $DIR/inline-closure-captures.rs:12:8: 12:9
-        StorageDead(_3);                 // scope 0 at $DIR/inline-closure-captures.rs:13:1: 13:2
-        return;                          // scope 0 at $DIR/inline-closure-captures.rs:13:2: 13:2
+        StorageLive(_3);                 // scope 0 at $DIR/inline-closure-captures.rs:+1:9: +1:10
+        StorageLive(_4);                 // scope 0 at $DIR/inline-closure-captures.rs:+1:13: +1:24
+        _4 = &_2;                        // scope 0 at $DIR/inline-closure-captures.rs:+1:13: +1:24
+        StorageLive(_5);                 // scope 0 at $DIR/inline-closure-captures.rs:+1:13: +1:24
+        _5 = &_1;                        // scope 0 at $DIR/inline-closure-captures.rs:+1:13: +1:24
+        Deinit(_3);                      // scope 0 at $DIR/inline-closure-captures.rs:+1:13: +1:24
+        (_3.0: &i32) = move _4;          // scope 0 at $DIR/inline-closure-captures.rs:+1:13: +1:24
+        (_3.1: &T) = move _5;            // scope 0 at $DIR/inline-closure-captures.rs:+1:13: +1:24
+        StorageDead(_5);                 // scope 0 at $DIR/inline-closure-captures.rs:+1:16: +1:17
+        StorageDead(_4);                 // scope 0 at $DIR/inline-closure-captures.rs:+1:16: +1:17
+        StorageLive(_6);                 // scope 1 at $DIR/inline-closure-captures.rs:+2:5: +2:6
+        _6 = &_3;                        // scope 1 at $DIR/inline-closure-captures.rs:+2:5: +2:6
+        StorageLive(_7);                 // scope 1 at $DIR/inline-closure-captures.rs:+2:5: +2:9
+        StorageLive(_8);                 // scope 1 at $DIR/inline-closure-captures.rs:+2:7: +2:8
+        _8 = _2;                         // scope 1 at $DIR/inline-closure-captures.rs:+2:7: +2:8
+        Deinit(_7);                      // scope 1 at $DIR/inline-closure-captures.rs:+2:5: +2:9
+        (_7.0: i32) = move _8;           // scope 1 at $DIR/inline-closure-captures.rs:+2:5: +2:9
+        StorageLive(_9);                 // scope 1 at $DIR/inline-closure-captures.rs:+2:5: +2:9
+        _9 = move (_7.0: i32);           // scope 1 at $DIR/inline-closure-captures.rs:+2:5: +2:9
+        StorageLive(_10);                // scope 2 at $DIR/inline-closure-captures.rs:+1:19: +1:20
+        StorageLive(_12);                // scope 2 at $DIR/inline-closure-captures.rs:+1:19: +1:20
+        _12 = deref_copy ((*_6).0: &i32); // scope 2 at $DIR/inline-closure-captures.rs:+1:19: +1:20
+        _10 = (*_12);                    // scope 2 at $DIR/inline-closure-captures.rs:+1:19: +1:20
+        StorageDead(_12);                // scope 2 at $DIR/inline-closure-captures.rs:+1:22: +1:23
+        StorageLive(_11);                // scope 2 at $DIR/inline-closure-captures.rs:+1:22: +1:23
+        StorageLive(_13);                // scope 2 at $DIR/inline-closure-captures.rs:+1:22: +1:23
+        _13 = deref_copy ((*_6).1: &T);  // scope 2 at $DIR/inline-closure-captures.rs:+1:22: +1:23
+        _11 = (*_13);                    // scope 2 at $DIR/inline-closure-captures.rs:+1:22: +1:23
+        StorageDead(_13);                // scope 2 at $DIR/inline-closure-captures.rs:+1:18: +1:24
+        Deinit(_0);                      // scope 2 at $DIR/inline-closure-captures.rs:+1:18: +1:24
+        (_0.0: i32) = move _10;          // scope 2 at $DIR/inline-closure-captures.rs:+1:18: +1:24
+        (_0.1: T) = move _11;            // scope 2 at $DIR/inline-closure-captures.rs:+1:18: +1:24
+        StorageDead(_11);                // scope 2 at $DIR/inline-closure-captures.rs:+1:23: +1:24
+        StorageDead(_10);                // scope 2 at $DIR/inline-closure-captures.rs:+1:23: +1:24
+        StorageDead(_9);                 // scope 1 at $DIR/inline-closure-captures.rs:+2:5: +2:9
+        StorageDead(_8);                 // scope 1 at $DIR/inline-closure-captures.rs:+2:8: +2:9
+        StorageDead(_7);                 // scope 1 at $DIR/inline-closure-captures.rs:+2:8: +2:9
+        StorageDead(_6);                 // scope 1 at $DIR/inline-closure-captures.rs:+2:8: +2:9
+        StorageDead(_3);                 // scope 0 at $DIR/inline-closure-captures.rs:+3:1: +3:2
+        return;                          // scope 0 at $DIR/inline-closure-captures.rs:+3:2: +3:2
     }
 
     bb1 (cleanup): {
-        resume;                          // scope 0 at $DIR/inline-closure-captures.rs:10:1: 13:2
+        resume;                          // scope 0 at $DIR/inline-closure-captures.rs:+0:1: +3:2
     }
 }
index 34762b97c3b2f1ee1c88b6bb9d327cde9021e0f0..556d587a47276197375048d17545fa8334a4b076 100644 (file)
@@ -2,27 +2,27 @@
 + // MIR for `inlined_no_sanitize` after Inline
   
   fn inlined_no_sanitize() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/inline-compatibility.rs:23:37: 23:37
-      let _1: ();                          // in scope 0 at $DIR/inline-compatibility.rs:24:5: 24:18
+      let mut _0: ();                      // return place in scope 0 at $DIR/inline-compatibility.rs:+0:37: +0:37
+      let _1: ();                          // in scope 0 at $DIR/inline-compatibility.rs:+1:5: +1:18
 +     scope 1 (inlined no_sanitize) {      // at $DIR/inline-compatibility.rs:24:5: 24:18
 +     }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/inline-compatibility.rs:24:5: 24:18
--         _1 = no_sanitize() -> bb1;       // scope 0 at $DIR/inline-compatibility.rs:24:5: 24:18
+          StorageLive(_1);                 // scope 0 at $DIR/inline-compatibility.rs:+1:5: +1:18
+-         _1 = no_sanitize() -> bb1;       // scope 0 at $DIR/inline-compatibility.rs:+1:5: +1:18
 -                                          // mir::Constant
 -                                          // + span: $DIR/inline-compatibility.rs:24:5: 24:16
 -                                          // + literal: Const { ty: unsafe fn() {no_sanitize}, val: Value(<ZST>) }
 -     }
 - 
 -     bb1: {
-          StorageDead(_1);                 // scope 0 at $DIR/inline-compatibility.rs:24:18: 24:19
-          _0 = const ();                   // scope 0 at $DIR/inline-compatibility.rs:23:37: 25:2
-          return;                          // scope 0 at $DIR/inline-compatibility.rs:25:2: 25:2
+          StorageDead(_1);                 // scope 0 at $DIR/inline-compatibility.rs:+1:18: +1:19
+          _0 = const ();                   // scope 0 at $DIR/inline-compatibility.rs:+0:37: +2:2
+          return;                          // scope 0 at $DIR/inline-compatibility.rs:+2:2: +2:2
 +     }
 + 
 +     bb1 (cleanup): {
-+         resume;                          // scope 0 at $DIR/inline-compatibility.rs:23:1: 25:2
++         resume;                          // scope 0 at $DIR/inline-compatibility.rs:+0:1: +2:2
       }
   }
   
index fd1e1983d1e0daa971e7cf5eb06ba400a8f4ab8a..b1ee4307358c4f9596c2faedbe135a2eb64b696c 100644 (file)
@@ -2,27 +2,27 @@
 + // MIR for `inlined_target_feature` after Inline
   
   fn inlined_target_feature() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/inline-compatibility.rs:12:40: 12:40
-      let _1: ();                          // in scope 0 at $DIR/inline-compatibility.rs:13:5: 13:21
+      let mut _0: ();                      // return place in scope 0 at $DIR/inline-compatibility.rs:+0:40: +0:40
+      let _1: ();                          // in scope 0 at $DIR/inline-compatibility.rs:+1:5: +1:21
 +     scope 1 (inlined target_feature) {   // at $DIR/inline-compatibility.rs:13:5: 13:21
 +     }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/inline-compatibility.rs:13:5: 13:21
--         _1 = target_feature() -> bb1;    // scope 0 at $DIR/inline-compatibility.rs:13:5: 13:21
+          StorageLive(_1);                 // scope 0 at $DIR/inline-compatibility.rs:+1:5: +1:21
+-         _1 = target_feature() -> bb1;    // scope 0 at $DIR/inline-compatibility.rs:+1:5: +1:21
 -                                          // mir::Constant
 -                                          // + span: $DIR/inline-compatibility.rs:13:5: 13:19
 -                                          // + literal: Const { ty: unsafe fn() {target_feature}, val: Value(<ZST>) }
 -     }
 - 
 -     bb1: {
-          StorageDead(_1);                 // scope 0 at $DIR/inline-compatibility.rs:13:21: 13:22
-          _0 = const ();                   // scope 0 at $DIR/inline-compatibility.rs:12:40: 14:2
-          return;                          // scope 0 at $DIR/inline-compatibility.rs:14:2: 14:2
+          StorageDead(_1);                 // scope 0 at $DIR/inline-compatibility.rs:+1:21: +1:22
+          _0 = const ();                   // scope 0 at $DIR/inline-compatibility.rs:+0:40: +2:2
+          return;                          // scope 0 at $DIR/inline-compatibility.rs:+2:2: +2:2
 +     }
 + 
 +     bb1 (cleanup): {
-+         resume;                          // scope 0 at $DIR/inline-compatibility.rs:12:1: 14:2
++         resume;                          // scope 0 at $DIR/inline-compatibility.rs:+0:1: +2:2
       }
   }
   
index bced3f6fe56a7a6735bc43a461daf0646ef1fc3e..49aea431e46ddd638d3cb1fde65bb4bbfe03b27d 100644 (file)
@@ -2,24 +2,24 @@
 + // MIR for `not_inlined_c_variadic` after Inline
   
   fn not_inlined_c_variadic() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/inline-compatibility.rs:41:40: 41:40
-      let _1: u32;                         // in scope 0 at $DIR/inline-compatibility.rs:42:9: 42:10
+      let mut _0: ();                      // return place in scope 0 at $DIR/inline-compatibility.rs:+0:40: +0:40
+      let _1: u32;                         // in scope 0 at $DIR/inline-compatibility.rs:+1:9: +1:10
       scope 1 {
-          debug s => _1;                   // in scope 1 at $DIR/inline-compatibility.rs:42:9: 42:10
+          debug s => _1;                   // in scope 1 at $DIR/inline-compatibility.rs:+1:9: +1:10
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/inline-compatibility.rs:42:9: 42:10
-          _1 = sum(const 4_u32, const 4_u32, const 30_u32, const 200_u32, const 1000_u32) -> bb1; // scope 0 at $DIR/inline-compatibility.rs:42:13: 42:52
+          StorageLive(_1);                 // scope 0 at $DIR/inline-compatibility.rs:+1:9: +1:10
+          _1 = sum(const 4_u32, const 4_u32, const 30_u32, const 200_u32, const 1000_u32) -> bb1; // scope 0 at $DIR/inline-compatibility.rs:+1:13: +1:52
                                            // mir::Constant
                                            // + span: $DIR/inline-compatibility.rs:42:13: 42:16
                                            // + literal: Const { ty: unsafe extern "C" fn(u32, ...) -> u32 {sum}, val: Value(<ZST>) }
       }
   
       bb1: {
-          _0 = const ();                   // scope 0 at $DIR/inline-compatibility.rs:41:40: 43:2
-          StorageDead(_1);                 // scope 0 at $DIR/inline-compatibility.rs:43:1: 43:2
-          return;                          // scope 0 at $DIR/inline-compatibility.rs:43:2: 43:2
+          _0 = const ();                   // scope 0 at $DIR/inline-compatibility.rs:+0:40: +2:2
+          StorageDead(_1);                 // scope 0 at $DIR/inline-compatibility.rs:+2:1: +2:2
+          return;                          // scope 0 at $DIR/inline-compatibility.rs:+2:2: +2:2
       }
   }
   
index a4989cbfa096dc4f8944a56ac29aa02e7b5fe981..94ce574a94dc2253853e2af8458de49f43242666 100644 (file)
@@ -2,21 +2,21 @@
 + // MIR for `not_inlined_no_sanitize` after Inline
   
   fn not_inlined_no_sanitize() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/inline-compatibility.rs:28:41: 28:41
-      let _1: ();                          // in scope 0 at $DIR/inline-compatibility.rs:29:5: 29:18
+      let mut _0: ();                      // return place in scope 0 at $DIR/inline-compatibility.rs:+0:41: +0:41
+      let _1: ();                          // in scope 0 at $DIR/inline-compatibility.rs:+1:5: +1:18
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/inline-compatibility.rs:29:5: 29:18
-          _1 = no_sanitize() -> bb1;       // scope 0 at $DIR/inline-compatibility.rs:29:5: 29:18
+          StorageLive(_1);                 // scope 0 at $DIR/inline-compatibility.rs:+1:5: +1:18
+          _1 = no_sanitize() -> bb1;       // scope 0 at $DIR/inline-compatibility.rs:+1:5: +1:18
                                            // mir::Constant
                                            // + span: $DIR/inline-compatibility.rs:29:5: 29:16
                                            // + literal: Const { ty: unsafe fn() {no_sanitize}, val: Value(<ZST>) }
       }
   
       bb1: {
-          StorageDead(_1);                 // scope 0 at $DIR/inline-compatibility.rs:29:18: 29:19
-          _0 = const ();                   // scope 0 at $DIR/inline-compatibility.rs:28:41: 30:2
-          return;                          // scope 0 at $DIR/inline-compatibility.rs:30:2: 30:2
+          StorageDead(_1);                 // scope 0 at $DIR/inline-compatibility.rs:+1:18: +1:19
+          _0 = const ();                   // scope 0 at $DIR/inline-compatibility.rs:+0:41: +2:2
+          return;                          // scope 0 at $DIR/inline-compatibility.rs:+2:2: +2:2
       }
   }
   
index 49dd90c971cb4d63feaf2748da64a6201573c977..8506e257b3fe930ab2f5f26d42aab7aff84e52a0 100644 (file)
@@ -2,21 +2,21 @@
 + // MIR for `not_inlined_target_feature` after Inline
   
   fn not_inlined_target_feature() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/inline-compatibility.rs:17:44: 17:44
-      let _1: ();                          // in scope 0 at $DIR/inline-compatibility.rs:18:5: 18:21
+      let mut _0: ();                      // return place in scope 0 at $DIR/inline-compatibility.rs:+0:44: +0:44
+      let _1: ();                          // in scope 0 at $DIR/inline-compatibility.rs:+1:5: +1:21
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/inline-compatibility.rs:18:5: 18:21
-          _1 = target_feature() -> bb1;    // scope 0 at $DIR/inline-compatibility.rs:18:5: 18:21
+          StorageLive(_1);                 // scope 0 at $DIR/inline-compatibility.rs:+1:5: +1:21
+          _1 = target_feature() -> bb1;    // scope 0 at $DIR/inline-compatibility.rs:+1:5: +1:21
                                            // mir::Constant
                                            // + span: $DIR/inline-compatibility.rs:18:5: 18:19
                                            // + literal: Const { ty: unsafe fn() {target_feature}, val: Value(<ZST>) }
       }
   
       bb1: {
-          StorageDead(_1);                 // scope 0 at $DIR/inline-compatibility.rs:18:21: 18:22
-          _0 = const ();                   // scope 0 at $DIR/inline-compatibility.rs:17:44: 19:2
-          return;                          // scope 0 at $DIR/inline-compatibility.rs:19:2: 19:2
+          StorageDead(_1);                 // scope 0 at $DIR/inline-compatibility.rs:+1:21: +1:22
+          _0 = const ();                   // scope 0 at $DIR/inline-compatibility.rs:+0:44: +2:2
+          return;                          // scope 0 at $DIR/inline-compatibility.rs:+2:2: +2:2
       }
   }
   
index 8128797d27eaeaeadefad9919dc678dd8bb0da6f..a6d65928da70831694f0248fd4502c948726621a 100644 (file)
@@ -2,8 +2,8 @@
 + // MIR for `one` after Inline
   
   fn one() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/inline-cycle.rs:13:10: 13:10
-      let _1: ();                          // in scope 0 at $DIR/inline-cycle.rs:14:5: 14:24
+      let mut _0: ();                      // return place in scope 0 at $DIR/inline-cycle.rs:+0:10: +0:10
+      let _1: ();                          // in scope 0 at $DIR/inline-cycle.rs:+1:5: +1:24
 +     scope 1 (inlined <C as Call>::call) { // at $DIR/inline-cycle.rs:14:5: 14:24
 +         scope 2 (inlined <A<C> as Call>::call) { // at $DIR/inline-cycle.rs:43:9: 43:23
 +             scope 3 (inlined <B<C> as Call>::call) { // at $DIR/inline-cycle.rs:28:9: 28:31
@@ -12,9 +12,9 @@
 +     }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/inline-cycle.rs:14:5: 14:24
--         _1 = <C as Call>::call() -> bb1; // scope 0 at $DIR/inline-cycle.rs:14:5: 14:24
-+         _1 = <C as Call>::call() -> bb1; // scope 3 at $DIR/inline-cycle.rs:36:9: 36:28
+          StorageLive(_1);                 // scope 0 at $DIR/inline-cycle.rs:+1:5: +1:24
+-         _1 = <C as Call>::call() -> bb1; // scope 0 at $DIR/inline-cycle.rs:+1:5: +1:24
++         _1 = <C as Call>::call() -> bb1; // scope 3 at $DIR/inline-cycle.rs:+23:9: +23:28
                                            // mir::Constant
 -                                          // + span: $DIR/inline-cycle.rs:14:5: 14:22
 +                                          // + span: $DIR/inline-cycle.rs:36:9: 36:26
       }
   
       bb1: {
-          StorageDead(_1);                 // scope 0 at $DIR/inline-cycle.rs:14:24: 14:25
-          _0 = const ();                   // scope 0 at $DIR/inline-cycle.rs:13:10: 15:2
-          return;                          // scope 0 at $DIR/inline-cycle.rs:15:2: 15:2
+          StorageDead(_1);                 // scope 0 at $DIR/inline-cycle.rs:+1:24: +1:25
+          _0 = const ();                   // scope 0 at $DIR/inline-cycle.rs:+0:10: +2:2
+          return;                          // scope 0 at $DIR/inline-cycle.rs:+2:2: +2:2
 +     }
 + 
 +     bb2 (cleanup): {
-+         resume;                          // scope 0 at $DIR/inline-cycle.rs:13:1: 15:2
++         resume;                          // scope 0 at $DIR/inline-cycle.rs:+0:1: +2:2
       }
   }
   
index 29c793d7bd8cd1aa1b11c049bb022f6ed68c4719..0fea4121f8daeb95e787ab0eab45f152dfdba940 100644 (file)
@@ -2,36 +2,36 @@
 + // MIR for `two` after Inline
   
   fn two() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/inline-cycle.rs:48:10: 48:10
-      let _1: ();                          // in scope 0 at $DIR/inline-cycle.rs:49:5: 49:12
-+     let mut _2: fn() {f};                // in scope 0 at $DIR/inline-cycle.rs:49:5: 49:12
+      let mut _0: ();                      // return place in scope 0 at $DIR/inline-cycle.rs:+0:10: +0:10
+      let _1: ();                          // in scope 0 at $DIR/inline-cycle.rs:+1:5: +1:12
++     let mut _2: fn() {f};                // in scope 0 at $DIR/inline-cycle.rs:+1:5: +1:12
 +     scope 1 (inlined call::<fn() {f}>) { // at $DIR/inline-cycle.rs:49:5: 49:12
-+         debug f => _2;                   // in scope 1 at $DIR/inline-cycle.rs:53:22: 53:23
-+         let _3: ();                      // in scope 1 at $DIR/inline-cycle.rs:54:5: 54:8
-+         let mut _4: fn() {f};            // in scope 1 at $DIR/inline-cycle.rs:54:5: 54:6
-+         let mut _5: ();                  // in scope 1 at $DIR/inline-cycle.rs:54:5: 54:8
++         debug f => _2;                   // in scope 1 at $DIR/inline-cycle.rs:+5:22: +5:23
++         let _3: ();                      // in scope 1 at $DIR/inline-cycle.rs:+6:5: +6:8
++         let mut _4: fn() {f};            // in scope 1 at $DIR/inline-cycle.rs:+6:5: +6:6
++         let mut _5: ();                  // in scope 1 at $DIR/inline-cycle.rs:+6:5: +6:8
 +         scope 2 (inlined <fn() {f} as FnOnce<()>>::call_once - shim(fn() {f})) { // at $DIR/inline-cycle.rs:54:5: 54:8
 +             scope 3 (inlined f) {        // at $SRC_DIR/core/src/ops/function.rs:LL:COL
-+                 let _6: ();              // in scope 3 at $DIR/inline-cycle.rs:59:5: 59:12
++                 let _6: ();              // in scope 3 at $DIR/inline-cycle.rs:+11:5: +11:12
 +             }
 +         }
 +     }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/inline-cycle.rs:49:5: 49:12
--         _1 = call::<fn() {f}>(f) -> bb1; // scope 0 at $DIR/inline-cycle.rs:49:5: 49:12
-+         StorageLive(_2);                 // scope 0 at $DIR/inline-cycle.rs:49:5: 49:12
-+         _2 = f;                          // scope 0 at $DIR/inline-cycle.rs:49:5: 49:12
+          StorageLive(_1);                 // scope 0 at $DIR/inline-cycle.rs:+1:5: +1:12
+-         _1 = call::<fn() {f}>(f) -> bb1; // scope 0 at $DIR/inline-cycle.rs:+1:5: +1:12
++         StorageLive(_2);                 // scope 0 at $DIR/inline-cycle.rs:+1:5: +1:12
++         _2 = f;                          // scope 0 at $DIR/inline-cycle.rs:+1:5: +1:12
                                            // mir::Constant
 -                                          // + span: $DIR/inline-cycle.rs:49:5: 49:9
 +                                          // + span: $DIR/inline-cycle.rs:49:10: 49:11
 +                                          // + literal: Const { ty: fn() {f}, val: Value(<ZST>) }
-+         StorageLive(_3);                 // scope 1 at $DIR/inline-cycle.rs:54:5: 54:8
-+         StorageLive(_4);                 // scope 1 at $DIR/inline-cycle.rs:54:5: 54:6
-+         _4 = move _2;                    // scope 1 at $DIR/inline-cycle.rs:54:5: 54:6
-+         StorageLive(_5);                 // scope 1 at $DIR/inline-cycle.rs:54:5: 54:8
-+         StorageLive(_6);                 // scope 3 at $DIR/inline-cycle.rs:59:5: 59:12
-+         _6 = call::<fn() {f}>(f) -> bb1; // scope 3 at $DIR/inline-cycle.rs:59:5: 59:12
++         StorageLive(_3);                 // scope 1 at $DIR/inline-cycle.rs:+6:5: +6:8
++         StorageLive(_4);                 // scope 1 at $DIR/inline-cycle.rs:+6:5: +6:6
++         _4 = move _2;                    // scope 1 at $DIR/inline-cycle.rs:+6:5: +6:6
++         StorageLive(_5);                 // scope 1 at $DIR/inline-cycle.rs:+6:5: +6:8
++         StorageLive(_6);                 // scope 3 at $DIR/inline-cycle.rs:+11:5: +11:12
++         _6 = call::<fn() {f}>(f) -> bb1; // scope 3 at $DIR/inline-cycle.rs:+11:5: +11:12
 +                                          // mir::Constant
 +                                          // + span: $DIR/inline-cycle.rs:59:5: 59:9
                                            // + literal: Const { ty: fn(fn() {f}) {call::<fn() {f}>}, val: Value(<ZST>) }
       }
   
       bb1: {
-+         StorageDead(_6);                 // scope 3 at $DIR/inline-cycle.rs:59:12: 59:13
-+         StorageDead(_5);                 // scope 1 at $DIR/inline-cycle.rs:54:7: 54:8
-+         StorageDead(_4);                 // scope 1 at $DIR/inline-cycle.rs:54:7: 54:8
-+         StorageDead(_3);                 // scope 1 at $DIR/inline-cycle.rs:54:8: 54:9
-+         StorageDead(_2);                 // scope 0 at $DIR/inline-cycle.rs:49:5: 49:12
-          StorageDead(_1);                 // scope 0 at $DIR/inline-cycle.rs:49:12: 49:13
-          _0 = const ();                   // scope 0 at $DIR/inline-cycle.rs:48:10: 50:2
-          return;                          // scope 0 at $DIR/inline-cycle.rs:50:2: 50:2
++         StorageDead(_6);                 // scope 3 at $DIR/inline-cycle.rs:+11:12: +11:13
++         StorageDead(_5);                 // scope 1 at $DIR/inline-cycle.rs:+6:7: +6:8
++         StorageDead(_4);                 // scope 1 at $DIR/inline-cycle.rs:+6:7: +6:8
++         StorageDead(_3);                 // scope 1 at $DIR/inline-cycle.rs:+6:8: +6:9
++         StorageDead(_2);                 // scope 0 at $DIR/inline-cycle.rs:+1:5: +1:12
+          StorageDead(_1);                 // scope 0 at $DIR/inline-cycle.rs:+1:12: +1:13
+          _0 = const ();                   // scope 0 at $DIR/inline-cycle.rs:+0:10: +2:2
+          return;                          // scope 0 at $DIR/inline-cycle.rs:+2:2: +2:2
 +     }
 + 
 +     bb2 (cleanup): {
-+         resume;                          // scope 0 at $DIR/inline-cycle.rs:48:1: 50:2
++         resume;                          // scope 0 at $DIR/inline-cycle.rs:+0:1: +2:2
       }
   }
   
index 2ccd39e7931ed022915a1df44a72491a5cebfe8e..d5709f1b47a40465ecd0ecec789003967ab19a7c 100644 (file)
@@ -2,8 +2,8 @@
 + // 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
+      let mut _0: ();                      // return place in scope 0 at $DIR/inline-cycle-generic.rs:+0:11: +0:11
+      let _1: ();                          // in scope 0 at $DIR/inline-cycle-generic.rs:+1:5: +1: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:38:9: 38:31
 +             scope 3 (inlined <A as Call>::call) { // at $DIR/inline-cycle-generic.rs:31:9: 31:28
@@ -14,9 +14,9 @@
 +     }
   
       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 = <C as Call>::call() -> bb1; // scope 4 at $DIR/inline-cycle-generic.rs:31:9: 31:28
+          StorageLive(_1);                 // scope 0 at $DIR/inline-cycle-generic.rs:+1:5: +1:24
+-         _1 = <C as Call>::call() -> bb1; // scope 0 at $DIR/inline-cycle-generic.rs:+1:5: +1:24
++         _1 = <C as Call>::call() -> bb1; // scope 4 at $DIR/inline-cycle-generic.rs:+23:9: +23:28
                                            // mir::Constant
 -                                          // + span: $DIR/inline-cycle-generic.rs:9:5: 9:22
 +                                          // + span: $DIR/inline-cycle-generic.rs:31:9: 31:26
       }
   
       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
+          StorageDead(_1);                 // scope 0 at $DIR/inline-cycle-generic.rs:+1:24: +1:25
+          _0 = const ();                   // scope 0 at $DIR/inline-cycle-generic.rs:+0:11: +2:2
+          return;                          // scope 0 at $DIR/inline-cycle-generic.rs:+2:2: +2:2
 +     }
 + 
 +     bb2 (cleanup): {
-+         resume;                          // scope 0 at $DIR/inline-cycle-generic.rs:8:1: 10:2
++         resume;                          // scope 0 at $DIR/inline-cycle-generic.rs:+0:1: +2:2
       }
   }
   
index 7cdc1a6b546a2fc6c8d4a76833d2146c6d46f25e..7ebc2ff5c453154efdc68b70ffb21163ff87e84a 100644 (file)
@@ -2,27 +2,27 @@
 + // MIR for `f` after Inline
   
   fn f() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/inline-diverging.rs:7:12: 7:12
-      let mut _1: !;                       // in scope 0 at $DIR/inline-diverging.rs:7:12: 9:2
-      let _2: !;                           // in scope 0 at $DIR/inline-diverging.rs:8:5: 8:12
+      let mut _0: ();                      // return place in scope 0 at $DIR/inline-diverging.rs:+0:12: +0:12
+      let mut _1: !;                       // in scope 0 at $DIR/inline-diverging.rs:+0:12: +2:2
+      let _2: !;                           // in scope 0 at $DIR/inline-diverging.rs:+1:5: +1:12
 +     scope 1 (inlined sleep) {            // at $DIR/inline-diverging.rs:8:5: 8:12
 +     }
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/inline-diverging.rs:8:5: 8:12
--         _2 = sleep();                    // scope 0 at $DIR/inline-diverging.rs:8:5: 8:12
+          StorageLive(_2);                 // scope 0 at $DIR/inline-diverging.rs:+1:5: +1:12
+-         _2 = sleep();                    // scope 0 at $DIR/inline-diverging.rs:+1:5: +1:12
 -                                          // mir::Constant
 -                                          // + span: $DIR/inline-diverging.rs:8:5: 8:10
 -                                          // + literal: Const { ty: fn() -> ! {sleep}, val: Value(<ZST>) }
-+         goto -> bb1;                     // scope 0 at $DIR/inline-diverging.rs:8:5: 8:12
++         goto -> bb1;                     // scope 0 at $DIR/inline-diverging.rs:+1:5: +1:12
 +     }
 + 
 +     bb1: {
-+         goto -> bb1;                     // scope 1 at $DIR/inline-diverging.rs:39:5: 39:12
++         goto -> bb1;                     // scope 1 at $DIR/inline-diverging.rs:+32:5: +32:12
 +     }
 + 
 +     bb2 (cleanup): {
-+         resume;                          // scope 0 at $DIR/inline-diverging.rs:7:1: 9:2
++         resume;                          // scope 0 at $DIR/inline-diverging.rs:+0:1: +2:2
       }
   }
   
index 595df0aed5ff81537a3e11b6f7219be6a15df5cf..acdd0f87901d5a19fd67154b98fe600b8a7864f3 100644 (file)
@@ -2,38 +2,38 @@
 + // MIR for `g` after Inline
   
   fn g(_1: i32) -> u32 {
-      debug i => _1;                       // in scope 0 at $DIR/inline-diverging.rs:12:10: 12:11
-      let mut _0: u32;                     // return place in scope 0 at $DIR/inline-diverging.rs:12:21: 12:24
-      let mut _2: bool;                    // in scope 0 at $DIR/inline-diverging.rs:13:8: 13:13
-      let mut _3: i32;                     // in scope 0 at $DIR/inline-diverging.rs:13:8: 13:9
-      let mut _4: i32;                     // in scope 0 at $DIR/inline-diverging.rs:14:9: 14:10
-      let mut _5: !;                       // in scope 0 at $DIR/inline-diverging.rs:15:12: 17:6
-      let _6: !;                           // in scope 0 at $DIR/inline-diverging.rs:16:9: 16:16
+      debug i => _1;                       // in scope 0 at $DIR/inline-diverging.rs:+0:10: +0:11
+      let mut _0: u32;                     // return place in scope 0 at $DIR/inline-diverging.rs:+0:21: +0:24
+      let mut _2: bool;                    // in scope 0 at $DIR/inline-diverging.rs:+1:8: +1:13
+      let mut _3: i32;                     // in scope 0 at $DIR/inline-diverging.rs:+1:8: +1:9
+      let mut _4: i32;                     // in scope 0 at $DIR/inline-diverging.rs:+2:9: +2:10
+      let mut _5: !;                       // in scope 0 at $DIR/inline-diverging.rs:+3:12: +5:6
+      let _6: !;                           // in scope 0 at $DIR/inline-diverging.rs:+4:9: +4:16
 +     scope 1 (inlined panic) {            // at $DIR/inline-diverging.rs:16:9: 16:16
 +         let mut _7: !;                   // in scope 1 at $SRC_DIR/std/src/panic.rs:LL:COL
 +     }
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/inline-diverging.rs:13:8: 13:13
-          StorageLive(_3);                 // scope 0 at $DIR/inline-diverging.rs:13:8: 13:9
-          _3 = _1;                         // scope 0 at $DIR/inline-diverging.rs:13:8: 13:9
-          _2 = Gt(move _3, const 0_i32);   // scope 0 at $DIR/inline-diverging.rs:13:8: 13:13
-          StorageDead(_3);                 // scope 0 at $DIR/inline-diverging.rs:13:12: 13:13
-          switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/inline-diverging.rs:13:8: 13:13
+          StorageLive(_2);                 // scope 0 at $DIR/inline-diverging.rs:+1:8: +1:13
+          StorageLive(_3);                 // scope 0 at $DIR/inline-diverging.rs:+1:8: +1:9
+          _3 = _1;                         // scope 0 at $DIR/inline-diverging.rs:+1:8: +1:9
+          _2 = Gt(move _3, const 0_i32);   // scope 0 at $DIR/inline-diverging.rs:+1:8: +1:13
+          StorageDead(_3);                 // scope 0 at $DIR/inline-diverging.rs:+1:12: +1:13
+          switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/inline-diverging.rs:+1:8: +1:13
       }
   
       bb1: {
-          StorageLive(_4);                 // scope 0 at $DIR/inline-diverging.rs:14:9: 14:10
-          _4 = _1;                         // scope 0 at $DIR/inline-diverging.rs:14:9: 14:10
-          _0 = move _4 as u32 (Misc);      // scope 0 at $DIR/inline-diverging.rs:14:9: 14:17
-          StorageDead(_4);                 // scope 0 at $DIR/inline-diverging.rs:14:16: 14:17
-          StorageDead(_2);                 // scope 0 at $DIR/inline-diverging.rs:17:5: 17:6
-          return;                          // scope 0 at $DIR/inline-diverging.rs:18:2: 18:2
+          StorageLive(_4);                 // scope 0 at $DIR/inline-diverging.rs:+2:9: +2:10
+          _4 = _1;                         // scope 0 at $DIR/inline-diverging.rs:+2:9: +2:10
+          _0 = move _4 as u32 (Misc);      // scope 0 at $DIR/inline-diverging.rs:+2:9: +2:17
+          StorageDead(_4);                 // scope 0 at $DIR/inline-diverging.rs:+2:16: +2:17
+          StorageDead(_2);                 // scope 0 at $DIR/inline-diverging.rs:+5:5: +5:6
+          return;                          // scope 0 at $DIR/inline-diverging.rs:+6:2: +6:2
       }
   
       bb2: {
-          StorageLive(_6);                 // scope 0 at $DIR/inline-diverging.rs:16:9: 16:16
--         _6 = panic();                    // scope 0 at $DIR/inline-diverging.rs:16:9: 16:16
+          StorageLive(_6);                 // scope 0 at $DIR/inline-diverging.rs:+4:9: +4:16
+-         _6 = panic();                    // scope 0 at $DIR/inline-diverging.rs:+4:9: +4:16
 +         StorageLive(_7);                 // scope 1 at $SRC_DIR/std/src/panic.rs:LL:COL
 +         _7 = begin_panic::<&str>(const "explicit panic"); // scope 1 at $SRC_DIR/std/src/panic.rs:LL:COL
                                            // mir::Constant
@@ -47,7 +47,7 @@
 +     }
 + 
 +     bb3 (cleanup): {
-+         resume;                          // scope 0 at $DIR/inline-diverging.rs:12:1: 18:2
++         resume;                          // scope 0 at $DIR/inline-diverging.rs:+0:1: +6:2
       }
   }
   
index 32066cf2e3e73251fb0112529ab7e93795cdf7ea..8fda8673c9535f298fa6b401fa3c56277cbf0ef3 100644 (file)
@@ -2,23 +2,23 @@
 + // MIR for `h` after Inline
   
   fn h() -> () {
-      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 _0: ();                      // return place in scope 0 at $DIR/inline-diverging.rs:+0:12: +0:12
+      let _1: (!, !);                      // in scope 0 at $DIR/inline-diverging.rs:+1:5: +1:22
++     let mut _2: fn() -> ! {sleep};       // in scope 0 at $DIR/inline-diverging.rs:+1:5: +1: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:26:36: 26:37
-+         let _3: !;                       // in scope 1 at $DIR/inline-diverging.rs:27:9: 27:10
-+         let mut _4: &fn() -> ! {sleep};  // in scope 1 at $DIR/inline-diverging.rs:27:13: 27:14
-+         let mut _5: ();                  // in scope 1 at $DIR/inline-diverging.rs:27:13: 27:16
-+         let mut _7: &fn() -> ! {sleep};  // in scope 1 at $DIR/inline-diverging.rs:28:13: 28:14
-+         let mut _8: ();                  // in scope 1 at $DIR/inline-diverging.rs:28:13: 28:16
-+         let mut _9: !;                   // in scope 1 at $DIR/inline-diverging.rs:29:6: 29:7
-+         let mut _10: !;                  // in scope 1 at $DIR/inline-diverging.rs:29:9: 29:10
++         debug f => _2;                   // in scope 1 at $DIR/inline-diverging.rs:+5:36: +5:37
++         let _3: !;                       // in scope 1 at $DIR/inline-diverging.rs:+6:9: +6:10
++         let mut _4: &fn() -> ! {sleep};  // in scope 1 at $DIR/inline-diverging.rs:+6:13: +6:14
++         let mut _5: ();                  // in scope 1 at $DIR/inline-diverging.rs:+6:13: +6:16
++         let mut _7: &fn() -> ! {sleep};  // in scope 1 at $DIR/inline-diverging.rs:+7:13: +7:14
++         let mut _8: ();                  // in scope 1 at $DIR/inline-diverging.rs:+7:13: +7:16
++         let mut _9: !;                   // in scope 1 at $DIR/inline-diverging.rs:+8:6: +8:7
++         let mut _10: !;                  // in scope 1 at $DIR/inline-diverging.rs:+8:9: +8:10
 +         scope 2 {
-+             debug a => _3;               // in scope 2 at $DIR/inline-diverging.rs:27:9: 27:10
-+             let _6: !;                   // in scope 2 at $DIR/inline-diverging.rs:28:9: 28:10
++             debug a => _3;               // in scope 2 at $DIR/inline-diverging.rs:+6:9: +6:10
++             let _6: !;                   // in scope 2 at $DIR/inline-diverging.rs:+7:9: +7:10
 +             scope 3 {
-+                 debug b => _6;           // in scope 3 at $DIR/inline-diverging.rs:28:9: 28:10
++                 debug b => _6;           // in scope 3 at $DIR/inline-diverging.rs:+7:9: +7:10
 +             }
 +             scope 6 (inlined <fn() -> ! {sleep} as Fn<()>>::call - shim(fn() -> ! {sleep})) { // at $DIR/inline-diverging.rs:28:13: 28:16
 +                 scope 7 (inlined sleep) { // at $SRC_DIR/core/src/ops/function.rs:LL:COL
 +     }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/inline-diverging.rs:22:5: 22:22
--         _1 = call_twice::<!, fn() -> ! {sleep}>(sleep); // scope 0 at $DIR/inline-diverging.rs:22:5: 22:22
-+         StorageLive(_2);                 // scope 0 at $DIR/inline-diverging.rs:22:5: 22:22
-+         _2 = sleep;                      // scope 0 at $DIR/inline-diverging.rs:22:5: 22:22
+          StorageLive(_1);                 // scope 0 at $DIR/inline-diverging.rs:+1:5: +1:22
+-         _1 = call_twice::<!, fn() -> ! {sleep}>(sleep); // scope 0 at $DIR/inline-diverging.rs:+1:5: +1:22
++         StorageLive(_2);                 // scope 0 at $DIR/inline-diverging.rs:+1:5: +1:22
++         _2 = sleep;                      // scope 0 at $DIR/inline-diverging.rs:+1:5: +1:22
                                            // mir::Constant
 -                                          // + span: $DIR/inline-diverging.rs:22:5: 22:15
 -                                          // + literal: Const { ty: fn(fn() -> ! {sleep}) -> (!, !) {call_twice::<!, fn() -> ! {sleep}>}, val: Value(<ZST>) }
 -                                          // mir::Constant
                                            // + span: $DIR/inline-diverging.rs:22:16: 22:21
                                            // + literal: Const { ty: fn() -> ! {sleep}, val: Value(<ZST>) }
-+         StorageLive(_3);                 // scope 1 at $DIR/inline-diverging.rs:27:9: 27:10
-+         StorageLive(_4);                 // scope 1 at $DIR/inline-diverging.rs:27:13: 27:14
-+         _4 = &_2;                        // scope 1 at $DIR/inline-diverging.rs:27:13: 27:14
-+         StorageLive(_5);                 // scope 1 at $DIR/inline-diverging.rs:27:13: 27:16
-+         goto -> bb1;                     // scope 5 at $DIR/inline-diverging.rs:39:5: 39:12
++         StorageLive(_3);                 // scope 1 at $DIR/inline-diverging.rs:+6:9: +6:10
++         StorageLive(_4);                 // scope 1 at $DIR/inline-diverging.rs:+6:13: +6:14
++         _4 = &_2;                        // scope 1 at $DIR/inline-diverging.rs:+6:13: +6:14
++         StorageLive(_5);                 // scope 1 at $DIR/inline-diverging.rs:+6:13: +6:16
++         goto -> bb1;                     // scope 5 at $DIR/inline-diverging.rs:+18:5: +18:12
 +     }
 + 
 +     bb1: {
-+         goto -> bb1;                     // scope 5 at $DIR/inline-diverging.rs:39:5: 39:12
++         goto -> bb1;                     // scope 5 at $DIR/inline-diverging.rs:+18:5: +18:12
 +     }
 + 
 +     bb2 (cleanup): {
-+         resume;                          // scope 0 at $DIR/inline-diverging.rs:21:1: 23:2
++         resume;                          // scope 0 at $DIR/inline-diverging.rs:+0:1: +2:2
       }
   }
   
index b4f0abd1af54bc0b2b89597d7addef863b3ac9b2..c7c2759cc6579686db99383a20e0efe414be1a2e 100644 (file)
@@ -2,14 +2,14 @@
 + // MIR for `main` after Inline
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/inline-generator.rs:8:11: 8:11
-      let _1: std::ops::GeneratorState<i32, bool>; // in scope 0 at $DIR/inline-generator.rs:9:9: 9:11
-      let mut _2: std::pin::Pin<&mut [generator@$DIR/inline-generator.rs:15:5: 15:8]>; // in scope 0 at $DIR/inline-generator.rs:9:14: 9:32
-      let mut _3: &mut [generator@$DIR/inline-generator.rs:15:5: 15:8]; // in scope 0 at $DIR/inline-generator.rs:9:23: 9:31
-      let mut _4: [generator@$DIR/inline-generator.rs:15:5: 15:8]; // in scope 0 at $DIR/inline-generator.rs:9:28: 9:31
-+     let mut _7: bool;                    // in scope 0 at $DIR/inline-generator.rs:9:14: 9:46
+      let mut _0: ();                      // return place in scope 0 at $DIR/inline-generator.rs:+0:11: +0:11
+      let _1: std::ops::GeneratorState<i32, bool>; // in scope 0 at $DIR/inline-generator.rs:+1:9: +1:11
+      let mut _2: std::pin::Pin<&mut [generator@$DIR/inline-generator.rs:15:5: 15:8]>; // in scope 0 at $DIR/inline-generator.rs:+1:14: +1:32
+      let mut _3: &mut [generator@$DIR/inline-generator.rs:15:5: 15:8]; // in scope 0 at $DIR/inline-generator.rs:+1:23: +1:31
+      let mut _4: [generator@$DIR/inline-generator.rs:15:5: 15:8]; // in scope 0 at $DIR/inline-generator.rs:+1:28: +1:31
++     let mut _7: bool;                    // in scope 0 at $DIR/inline-generator.rs:+1:14: +1:46
       scope 1 {
-          debug _r => _1;                  // in scope 1 at $DIR/inline-generator.rs:9:9: 9:11
+          debug _r => _1;                  // in scope 1 at $DIR/inline-generator.rs:+1:9: +1:11
       }
 +     scope 2 (inlined g) {                // at $DIR/inline-generator.rs:9:28: 9:31
 +     }
 +         }
 +     }
 +     scope 6 (inlined g::{closure#0}) {   // at $DIR/inline-generator.rs:9:14: 9:46
-+         debug a => _11;                  // in scope 6 at $DIR/inline-generator.rs:15:6: 15:7
-+         let mut _8: i32;                 // in scope 6 at $DIR/inline-generator.rs:15:17: 15:39
-+         let mut _9: bool;                // in scope 6 at $DIR/inline-generator.rs:15:20: 15:21
-+         let mut _10: bool;               // in scope 6 at $DIR/inline-generator.rs:15:9: 15:9
-+         let _11: bool;                   // in scope 6 at $DIR/inline-generator.rs:15:6: 15:7
-+         let mut _12: u32;                // in scope 6 at $DIR/inline-generator.rs:15:5: 15:8
-+         let mut _13: &mut [generator@$DIR/inline-generator.rs:15:5: 15:8]; // in scope 6 at $DIR/inline-generator.rs:15:5: 15:8
-+         let mut _14: &mut [generator@$DIR/inline-generator.rs:15:5: 15:8]; // in scope 6 at $DIR/inline-generator.rs:15:5: 15:8
-+         let mut _15: &mut [generator@$DIR/inline-generator.rs:15:5: 15:8]; // in scope 6 at $DIR/inline-generator.rs:15:5: 15:8
++         debug a => _11;                  // in scope 6 at $DIR/inline-generator.rs:+7:6: +7:7
++         let mut _8: i32;                 // in scope 6 at $DIR/inline-generator.rs:+7:17: +7:39
++         let mut _9: bool;                // in scope 6 at $DIR/inline-generator.rs:+7:20: +7:21
++         let mut _10: bool;               // in scope 6 at $DIR/inline-generator.rs:+7:9: +7:9
++         let _11: bool;                   // in scope 6 at $DIR/inline-generator.rs:+7:6: +7:7
++         let mut _12: u32;                // in scope 6 at $DIR/inline-generator.rs:+7:5: +7:8
++         let mut _13: &mut [generator@$DIR/inline-generator.rs:15:5: 15:8]; // in scope 6 at $DIR/inline-generator.rs:+7:5: +7:8
++         let mut _14: &mut [generator@$DIR/inline-generator.rs:15:5: 15:8]; // in scope 6 at $DIR/inline-generator.rs:+7:5: +7:8
++         let mut _15: &mut [generator@$DIR/inline-generator.rs:15:5: 15:8]; // in scope 6 at $DIR/inline-generator.rs:+7:5: +7:8
 +     }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/inline-generator.rs:9:9: 9:11
-          StorageLive(_2);                 // scope 0 at $DIR/inline-generator.rs:9:14: 9:32
-          StorageLive(_3);                 // scope 0 at $DIR/inline-generator.rs:9:23: 9:31
-          StorageLive(_4);                 // scope 0 at $DIR/inline-generator.rs:9:28: 9:31
--         _4 = g() -> bb1;                 // scope 0 at $DIR/inline-generator.rs:9:28: 9:31
+          StorageLive(_1);                 // scope 0 at $DIR/inline-generator.rs:+1:9: +1:11
+          StorageLive(_2);                 // scope 0 at $DIR/inline-generator.rs:+1:14: +1:32
+          StorageLive(_3);                 // scope 0 at $DIR/inline-generator.rs:+1:23: +1:31
+          StorageLive(_4);                 // scope 0 at $DIR/inline-generator.rs:+1:28: +1:31
+-         _4 = g() -> bb1;                 // scope 0 at $DIR/inline-generator.rs:+1:28: +1:31
 -                                          // mir::Constant
 -                                          // + span: $DIR/inline-generator.rs:9:28: 9:29
 -                                          // + literal: Const { ty: fn() -> impl Generator<bool> {g}, val: Value(<ZST>) }
 -     }
 - 
 -     bb1: {
-+         Deinit(_4);                      // scope 2 at $DIR/inline-generator.rs:15:5: 15:41
-+         discriminant(_4) = 0;            // scope 2 at $DIR/inline-generator.rs:15:5: 15:41
-          _3 = &mut _4;                    // scope 0 at $DIR/inline-generator.rs:9:23: 9:31
--         _2 = Pin::<&mut [generator@$DIR/inline-generator.rs:15:5: 15:8]>::new(move _3) -> [return: bb2, unwind: bb4]; // scope 0 at $DIR/inline-generator.rs:9:14: 9:32
++         Deinit(_4);                      // scope 2 at $DIR/inline-generator.rs:+7:5: +7:41
++         discriminant(_4) = 0;            // scope 2 at $DIR/inline-generator.rs:+7:5: +7:41
+          _3 = &mut _4;                    // scope 0 at $DIR/inline-generator.rs:+1:23: +1:31
+-         _2 = Pin::<&mut [generator@$DIR/inline-generator.rs:15:5: 15:8]>::new(move _3) -> [return: bb2, unwind: bb4]; // scope 0 at $DIR/inline-generator.rs:+1:14: +1:32
 -                                          // mir::Constant
 -                                          // + span: $DIR/inline-generator.rs:9:14: 9:22
 -                                          // + user_ty: UserType(0)
 +         (_2.0: &mut [generator@$DIR/inline-generator.rs:15:5: 15:8]) = move _6; // scope 5 at $SRC_DIR/core/src/pin.rs:LL:COL
 +         StorageDead(_6);                 // scope 5 at $SRC_DIR/core/src/pin.rs:LL:COL
 +         StorageDead(_5);                 // scope 4 at $SRC_DIR/core/src/pin.rs:LL:COL
-          StorageDead(_3);                 // scope 0 at $DIR/inline-generator.rs:9:31: 9:32
--         _1 = <[generator@$DIR/inline-generator.rs:15:5: 15:8] as Generator<bool>>::resume(move _2, const false) -> [return: bb3, unwind: bb4]; // scope 0 at $DIR/inline-generator.rs:9:14: 9:46
+          StorageDead(_3);                 // scope 0 at $DIR/inline-generator.rs:+1:31: +1:32
+-         _1 = <[generator@$DIR/inline-generator.rs:15:5: 15:8] as Generator<bool>>::resume(move _2, const false) -> [return: bb3, unwind: bb4]; // scope 0 at $DIR/inline-generator.rs:+1:14: +1:46
 -                                          // mir::Constant
 -                                          // + span: $DIR/inline-generator.rs:9:33: 9:39
 -                                          // + literal: Const { ty: for<'r> fn(Pin<&'r mut [generator@$DIR/inline-generator.rs:15:5: 15:8]>, bool) -> GeneratorState<<[generator@$DIR/inline-generator.rs:15:5: 15:8] as Generator<bool>>::Yield, <[generator@$DIR/inline-generator.rs:15:5: 15:8] as Generator<bool>>::Return> {<[generator@$DIR/inline-generator.rs:15:5: 15:8] as Generator<bool>>::resume}, val: Value(<ZST>) }
-+         StorageLive(_7);                 // scope 0 at $DIR/inline-generator.rs:9:14: 9:46
-+         _7 = const false;                // scope 0 at $DIR/inline-generator.rs:9:14: 9:46
-+         StorageLive(_10);                // scope 0 at $DIR/inline-generator.rs:9:14: 9:46
-+         StorageLive(_11);                // scope 0 at $DIR/inline-generator.rs:9:14: 9:46
-+         StorageLive(_12);                // scope 0 at $DIR/inline-generator.rs:9:14: 9:46
-+         StorageLive(_13);                // scope 6 at $DIR/inline-generator.rs:15:5: 15:8
-+         _13 = deref_copy (_2.0: &mut [generator@$DIR/inline-generator.rs:15:5: 15:8]); // scope 6 at $DIR/inline-generator.rs:15:5: 15:8
-+         _12 = discriminant((*_13));      // scope 6 at $DIR/inline-generator.rs:15:5: 15:8
-+         StorageDead(_13);                // scope 6 at $DIR/inline-generator.rs:15:5: 15:8
-+         switchInt(move _12) -> [0_u32: bb3, 1_u32: bb8, 3_u32: bb7, otherwise: bb9]; // scope 6 at $DIR/inline-generator.rs:15:5: 15:8
++         StorageLive(_7);                 // scope 0 at $DIR/inline-generator.rs:+1:14: +1:46
++         _7 = const false;                // scope 0 at $DIR/inline-generator.rs:+1:14: +1:46
++         StorageLive(_10);                // scope 0 at $DIR/inline-generator.rs:+1:14: +1:46
++         StorageLive(_11);                // scope 0 at $DIR/inline-generator.rs:+1:14: +1:46
++         StorageLive(_12);                // scope 0 at $DIR/inline-generator.rs:+1:14: +1:46
++         StorageLive(_13);                // scope 6 at $DIR/inline-generator.rs:+7:5: +7:8
++         _13 = deref_copy (_2.0: &mut [generator@$DIR/inline-generator.rs:15:5: 15:8]); // scope 6 at $DIR/inline-generator.rs:+7:5: +7:8
++         _12 = discriminant((*_13));      // scope 6 at $DIR/inline-generator.rs:+7:5: +7:8
++         StorageDead(_13);                // scope 6 at $DIR/inline-generator.rs:+7:5: +7:8
++         switchInt(move _12) -> [0_u32: bb3, 1_u32: bb8, 3_u32: bb7, otherwise: bb9]; // scope 6 at $DIR/inline-generator.rs:+7:5: +7:8
       }
   
 -     bb3: {
 +     bb1: {
-+         StorageDead(_12);                // scope 0 at $DIR/inline-generator.rs:9:14: 9:46
-+         StorageDead(_11);                // scope 0 at $DIR/inline-generator.rs:9:14: 9:46
-+         StorageDead(_10);                // scope 0 at $DIR/inline-generator.rs:9:14: 9:46
-+         StorageDead(_7);                 // scope 0 at $DIR/inline-generator.rs:9:14: 9:46
-          StorageDead(_2);                 // scope 0 at $DIR/inline-generator.rs:9:45: 9:46
-          StorageDead(_4);                 // scope 0 at $DIR/inline-generator.rs:9:46: 9:47
-          _0 = const ();                   // scope 0 at $DIR/inline-generator.rs:8:11: 10:2
-          StorageDead(_1);                 // scope 0 at $DIR/inline-generator.rs:10:1: 10:2
-          return;                          // scope 0 at $DIR/inline-generator.rs:10:2: 10:2
++         StorageDead(_12);                // scope 0 at $DIR/inline-generator.rs:+1:14: +1:46
++         StorageDead(_11);                // scope 0 at $DIR/inline-generator.rs:+1:14: +1:46
++         StorageDead(_10);                // scope 0 at $DIR/inline-generator.rs:+1:14: +1:46
++         StorageDead(_7);                 // scope 0 at $DIR/inline-generator.rs:+1:14: +1:46
+          StorageDead(_2);                 // scope 0 at $DIR/inline-generator.rs:+1:45: +1:46
+          StorageDead(_4);                 // scope 0 at $DIR/inline-generator.rs:+1:46: +1:47
+          _0 = const ();                   // scope 0 at $DIR/inline-generator.rs:+0:11: +2:2
+          StorageDead(_1);                 // scope 0 at $DIR/inline-generator.rs:+2:1: +2:2
+          return;                          // scope 0 at $DIR/inline-generator.rs:+2:2: +2:2
       }
   
 -     bb4 (cleanup): {
 +     bb2 (cleanup): {
-          resume;                          // scope 0 at $DIR/inline-generator.rs:8:1: 10:2
+          resume;                          // scope 0 at $DIR/inline-generator.rs:+0:1: +2:2
 +     }
 + 
 +     bb3: {
-+         _11 = move _7;                   // scope 6 at $DIR/inline-generator.rs:15:5: 15:8
-+         StorageLive(_8);                 // scope 6 at $DIR/inline-generator.rs:15:17: 15:39
-+         StorageLive(_9);                 // scope 6 at $DIR/inline-generator.rs:15:20: 15:21
-+         _9 = _11;                        // scope 6 at $DIR/inline-generator.rs:15:20: 15:21
-+         switchInt(move _9) -> [false: bb5, otherwise: bb4]; // scope 6 at $DIR/inline-generator.rs:15:20: 15:21
++         _11 = move _7;                   // scope 6 at $DIR/inline-generator.rs:+7:5: +7:8
++         StorageLive(_8);                 // scope 6 at $DIR/inline-generator.rs:+7:17: +7:39
++         StorageLive(_9);                 // scope 6 at $DIR/inline-generator.rs:+7:20: +7:21
++         _9 = _11;                        // scope 6 at $DIR/inline-generator.rs:+7:20: +7:21
++         switchInt(move _9) -> [false: bb5, otherwise: bb4]; // scope 6 at $DIR/inline-generator.rs:+7:20: +7:21
 +     }
 + 
 +     bb4: {
-+         _8 = const 7_i32;                // scope 6 at $DIR/inline-generator.rs:15:24: 15:25
-+         goto -> bb6;                     // scope 6 at $DIR/inline-generator.rs:15:17: 15:39
++         _8 = const 7_i32;                // scope 6 at $DIR/inline-generator.rs:+7:24: +7:25
++         goto -> bb6;                     // scope 6 at $DIR/inline-generator.rs:+7:17: +7:39
 +     }
 + 
 +     bb5: {
-+         _8 = const 13_i32;               // scope 6 at $DIR/inline-generator.rs:15:35: 15:37
-+         goto -> bb6;                     // scope 6 at $DIR/inline-generator.rs:15:17: 15:39
++         _8 = const 13_i32;               // scope 6 at $DIR/inline-generator.rs:+7:35: +7:37
++         goto -> bb6;                     // scope 6 at $DIR/inline-generator.rs:+7:17: +7:39
 +     }
 + 
 +     bb6: {
-+         StorageDead(_9);                 // scope 6 at $DIR/inline-generator.rs:15:38: 15:39
-+         Deinit(_1);                      // scope 6 at $DIR/inline-generator.rs:15:11: 15:39
-+         ((_1 as Yielded).0: i32) = move _8; // scope 6 at $DIR/inline-generator.rs:15:11: 15:39
-+         discriminant(_1) = 0;            // scope 6 at $DIR/inline-generator.rs:15:11: 15:39
-+         StorageLive(_14);                // scope 6 at $DIR/inline-generator.rs:15:11: 15:39
-+         _14 = deref_copy (_2.0: &mut [generator@$DIR/inline-generator.rs:15:5: 15:8]); // scope 6 at $DIR/inline-generator.rs:15:11: 15:39
-+         discriminant((*_14)) = 3;        // scope 6 at $DIR/inline-generator.rs:15:11: 15:39
-+         StorageDead(_14);                // scope 6 at $DIR/inline-generator.rs:15:11: 15:39
-+         goto -> bb1;                     // scope 0 at $DIR/inline-generator.rs:15:11: 15:39
++         StorageDead(_9);                 // scope 6 at $DIR/inline-generator.rs:+7:38: +7:39
++         Deinit(_1);                      // scope 6 at $DIR/inline-generator.rs:+7:11: +7:39
++         ((_1 as Yielded).0: i32) = move _8; // scope 6 at $DIR/inline-generator.rs:+7:11: +7:39
++         discriminant(_1) = 0;            // scope 6 at $DIR/inline-generator.rs:+7:11: +7:39
++         StorageLive(_14);                // scope 6 at $DIR/inline-generator.rs:+7:11: +7:39
++         _14 = deref_copy (_2.0: &mut [generator@$DIR/inline-generator.rs:15:5: 15:8]); // scope 6 at $DIR/inline-generator.rs:+7:11: +7:39
++         discriminant((*_14)) = 3;        // scope 6 at $DIR/inline-generator.rs:+7:11: +7:39
++         StorageDead(_14);                // scope 6 at $DIR/inline-generator.rs:+7:11: +7:39
++         goto -> bb1;                     // scope 0 at $DIR/inline-generator.rs:+7:11: +7:39
 +     }
 + 
 +     bb7: {
-+         StorageLive(_8);                 // scope 6 at $DIR/inline-generator.rs:15:5: 15:8
-+         _10 = move _7;                   // scope 6 at $DIR/inline-generator.rs:15:5: 15:8
-+         StorageDead(_8);                 // scope 6 at $DIR/inline-generator.rs:15:38: 15:39
-+         Deinit(_1);                      // scope 6 at $DIR/inline-generator.rs:15:8: 15:8
-+         ((_1 as Complete).0: bool) = move _10; // scope 6 at $DIR/inline-generator.rs:15:8: 15:8
-+         discriminant(_1) = 1;            // scope 6 at $DIR/inline-generator.rs:15:8: 15:8
-+         StorageLive(_15);                // scope 6 at $DIR/inline-generator.rs:15:8: 15:8
-+         _15 = deref_copy (_2.0: &mut [generator@$DIR/inline-generator.rs:15:5: 15:8]); // scope 6 at $DIR/inline-generator.rs:15:8: 15:8
-+         discriminant((*_15)) = 1;        // scope 6 at $DIR/inline-generator.rs:15:8: 15:8
-+         StorageDead(_15);                // scope 6 at $DIR/inline-generator.rs:15:8: 15:8
-+         goto -> bb1;                     // scope 0 at $DIR/inline-generator.rs:15:8: 15:8
++         StorageLive(_8);                 // scope 6 at $DIR/inline-generator.rs:+7:5: +7:8
++         _10 = move _7;                   // scope 6 at $DIR/inline-generator.rs:+7:5: +7:8
++         StorageDead(_8);                 // scope 6 at $DIR/inline-generator.rs:+7:38: +7:39
++         Deinit(_1);                      // scope 6 at $DIR/inline-generator.rs:+7:8: +7:8
++         ((_1 as Complete).0: bool) = move _10; // scope 6 at $DIR/inline-generator.rs:+7:8: +7:8
++         discriminant(_1) = 1;            // scope 6 at $DIR/inline-generator.rs:+7:8: +7:8
++         StorageLive(_15);                // scope 6 at $DIR/inline-generator.rs:+7:8: +7:8
++         _15 = deref_copy (_2.0: &mut [generator@$DIR/inline-generator.rs:15:5: 15:8]); // scope 6 at $DIR/inline-generator.rs:+7:8: +7:8
++         discriminant((*_15)) = 1;        // scope 6 at $DIR/inline-generator.rs:+7:8: +7:8
++         StorageDead(_15);                // scope 6 at $DIR/inline-generator.rs:+7:8: +7:8
++         goto -> bb1;                     // scope 0 at $DIR/inline-generator.rs:+7:8: +7:8
 +     }
 + 
 +     bb8: {
-+         assert(const false, "generator resumed after completion") -> [success: bb8, unwind: bb2]; // scope 6 at $DIR/inline-generator.rs:15:5: 15:8
++         assert(const false, "generator resumed after completion") -> [success: bb8, unwind: bb2]; // scope 6 at $DIR/inline-generator.rs:+7:5: +7:8
 +     }
 + 
 +     bb9: {
-+         unreachable;                     // scope 6 at $DIR/inline-generator.rs:15:5: 15:8
++         unreachable;                     // scope 6 at $DIR/inline-generator.rs:+7:5: +7:8
       }
   }
   
index 05bd99b62cd1f7aa4eb276cdcc720aedb62bc1d4..e3375e9e15cb3dbec059f98aa19b2b4056bc9e5f 100644 (file)
@@ -2,47 +2,47 @@
 + // 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
+      let mut _0: ();                      // return place in scope 0 at $DIR/inline-instruction-set.rs:+0:18: +0:18
+      let _1: ();                          // in scope 0 at $DIR/inline-instruction-set.rs:+1:5: +1:26
+      let _2: ();                          // in scope 0 at $DIR/inline-instruction-set.rs:+2:5: +2:26
+      let _3: ();                          // in scope 0 at $DIR/inline-instruction-set.rs:+3:5: +3: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
+          StorageLive(_1);                 // scope 0 at $DIR/inline-instruction-set.rs:+1:5: +1:26
+          _1 = instruction_set_a32() -> bb1; // scope 0 at $DIR/inline-instruction-set.rs:+1:5: +1:26
                                            // mir::Constant
                                            // + span: $DIR/inline-instruction-set.rs:51:5: 51:24
                                            // + literal: Const { ty: fn() {instruction_set_a32}, val: Value(<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
+          StorageDead(_1);                 // scope 0 at $DIR/inline-instruction-set.rs:+1:26: +1:27
+          StorageLive(_2);                 // scope 0 at $DIR/inline-instruction-set.rs:+2:5: +2:26
+          _2 = instruction_set_t32() -> bb2; // scope 0 at $DIR/inline-instruction-set.rs:+2:5: +2:26
                                            // mir::Constant
                                            // + span: $DIR/inline-instruction-set.rs:52:5: 52:24
                                            // + literal: Const { ty: fn() {instruction_set_t32}, val: Value(<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
+          StorageDead(_2);                 // scope 0 at $DIR/inline-instruction-set.rs:+2:26: +2:27
+          StorageLive(_3);                 // scope 0 at $DIR/inline-instruction-set.rs:+3:5: +3:30
+-         _3 = instruction_set_default() -> bb3; // scope 0 at $DIR/inline-instruction-set.rs:+3:5: +3:30
 -                                          // mir::Constant
 -                                          // + span: $DIR/inline-instruction-set.rs:53:5: 53:28
 -                                          // + literal: Const { ty: fn() {instruction_set_default}, val: Value(<ZST>) }
 -     }
 - 
 -     bb3: {
-          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
+          StorageDead(_3);                 // scope 0 at $DIR/inline-instruction-set.rs:+3:30: +3:31
+          _0 = const ();                   // scope 0 at $DIR/inline-instruction-set.rs:+0:18: +4:2
+          return;                          // scope 0 at $DIR/inline-instruction-set.rs:+4:2: +4:2
 +     }
 + 
 +     bb3 (cleanup): {
-+         resume;                          // scope 0 at $DIR/inline-instruction-set.rs:50:1: 54:2
++         resume;                          // scope 0 at $DIR/inline-instruction-set.rs:+0:1: +4:2
       }
   }
   
index cb0d01428c946ba6258ec21c51e1b1ea051c6fae..ce294db02fdd5e46acf2c6b26d7a8450f126e294 100644 (file)
@@ -2,35 +2,35 @@
 + // 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
+      let mut _0: ();                      // return place in scope 0 at $DIR/inline-instruction-set.rs:+0:14: +0:14
+      let _1: ();                          // in scope 0 at $DIR/inline-instruction-set.rs:+1:5: +1:26
+      let _2: ();                          // in scope 0 at $DIR/inline-instruction-set.rs:+2:5: +2:26
+      let _3: ();                          // in scope 0 at $DIR/inline-instruction-set.rs:+5:5: +5: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
+          StorageLive(_1);                 // scope 0 at $DIR/inline-instruction-set.rs:+1:5: +1:26
+          _1 = instruction_set_a32() -> bb1; // scope 0 at $DIR/inline-instruction-set.rs:+1:5: +1:26
                                            // mir::Constant
                                            // + span: $DIR/inline-instruction-set.rs:42:5: 42:24
                                            // + literal: Const { ty: fn() {instruction_set_a32}, val: Value(<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
+          StorageDead(_1);                 // scope 0 at $DIR/inline-instruction-set.rs:+1:26: +1:27
+          StorageLive(_2);                 // scope 0 at $DIR/inline-instruction-set.rs:+2:5: +2:26
+-         _2 = instruction_set_t32() -> bb2; // scope 0 at $DIR/inline-instruction-set.rs:+2:5: +2:26
 -                                          // mir::Constant
 -                                          // + span: $DIR/inline-instruction-set.rs:43:5: 43:24
 -                                          // + literal: Const { ty: fn() {instruction_set_t32}, val: Value(<ZST>) }
 -     }
 - 
 -     bb2: {
-          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
+          StorageDead(_2);                 // scope 0 at $DIR/inline-instruction-set.rs:+2:26: +2:27
+          StorageLive(_3);                 // scope 0 at $DIR/inline-instruction-set.rs:+5:5: +5:30
+-         _3 = instruction_set_default() -> bb3; // scope 0 at $DIR/inline-instruction-set.rs:+5:5: +5:30
++         _3 = instruction_set_default() -> bb2; // scope 0 at $DIR/inline-instruction-set.rs:+5:5: +5:30
                                            // mir::Constant
                                            // + span: $DIR/inline-instruction-set.rs:46:5: 46:28
                                            // + literal: Const { ty: fn() {instruction_set_default}, val: Value(<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
+          StorageDead(_3);                 // scope 0 at $DIR/inline-instruction-set.rs:+5:30: +5:31
+          _0 = const ();                   // scope 0 at $DIR/inline-instruction-set.rs:+0:14: +6:2
+          return;                          // scope 0 at $DIR/inline-instruction-set.rs:+6:2: +6:2
 +     }
 + 
 +     bb3 (cleanup): {
-+         resume;                          // scope 0 at $DIR/inline-instruction-set.rs:41:1: 47:2
++         resume;                          // scope 0 at $DIR/inline-instruction-set.rs:+0:1: +6:2
       }
   }
   
index 17050f184cb484c4b0dd72b2ed7cde01b9b9f410..deaba70e082edfa8ec5de83861623b0338349b3d 100644 (file)
@@ -2,18 +2,18 @@
 + // MIR for `main` after Inline
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/inline-into-box-place.rs:7:11: 7:11
-      let _1: std::boxed::Box<std::vec::Vec<u32>>; // in scope 0 at $DIR/inline-into-box-place.rs:8:9: 8:11
-      let mut _2: usize;                   // in scope 0 at $DIR/inline-into-box-place.rs:8:29: 8:43
-      let mut _3: usize;                   // in scope 0 at $DIR/inline-into-box-place.rs:8:29: 8:43
-      let mut _4: *mut u8;                 // in scope 0 at $DIR/inline-into-box-place.rs:8:29: 8:43
-      let mut _5: std::boxed::Box<std::vec::Vec<u32>>; // in scope 0 at $DIR/inline-into-box-place.rs:8:29: 8:43
-      let mut _6: ();                      // in scope 0 at $DIR/inline-into-box-place.rs:8:42: 8:43
-      let mut _7: *const std::vec::Vec<u32>; // in scope 0 at $DIR/inline-into-box-place.rs:8:29: 8:43
-      let mut _8: *const std::vec::Vec<u32>; // in scope 0 at $DIR/inline-into-box-place.rs:8:29: 8:43
-+     let mut _9: &mut std::vec::Vec<u32>; // in scope 0 at $DIR/inline-into-box-place.rs:8:33: 8:43
+      let mut _0: ();                      // return place in scope 0 at $DIR/inline-into-box-place.rs:+0:11: +0:11
+      let _1: std::boxed::Box<std::vec::Vec<u32>>; // in scope 0 at $DIR/inline-into-box-place.rs:+1:9: +1:11
+      let mut _2: usize;                   // in scope 0 at $DIR/inline-into-box-place.rs:+1:29: +1:43
+      let mut _3: usize;                   // in scope 0 at $DIR/inline-into-box-place.rs:+1:29: +1:43
+      let mut _4: *mut u8;                 // in scope 0 at $DIR/inline-into-box-place.rs:+1:29: +1:43
+      let mut _5: std::boxed::Box<std::vec::Vec<u32>>; // in scope 0 at $DIR/inline-into-box-place.rs:+1:29: +1:43
+      let mut _6: ();                      // in scope 0 at $DIR/inline-into-box-place.rs:+1:42: +1:43
+      let mut _7: *const std::vec::Vec<u32>; // in scope 0 at $DIR/inline-into-box-place.rs:+1:29: +1:43
+      let mut _8: *const std::vec::Vec<u32>; // in scope 0 at $DIR/inline-into-box-place.rs:+1:29: +1:43
++     let mut _9: &mut std::vec::Vec<u32>; // in scope 0 at $DIR/inline-into-box-place.rs:+1:33: +1:43
       scope 1 {
-          debug _x => _1;                  // in scope 1 at $DIR/inline-into-box-place.rs:8:9: 8:11
+          debug _x => _1;                  // in scope 1 at $DIR/inline-into-box-place.rs:+1:9: +1:11
       }
       scope 2 {
       }
 +     }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/inline-into-box-place.rs:8:9: 8:11
-          _2 = SizeOf(std::vec::Vec<u32>); // scope 2 at $DIR/inline-into-box-place.rs:8:29: 8:43
-          _3 = AlignOf(std::vec::Vec<u32>); // scope 2 at $DIR/inline-into-box-place.rs:8:29: 8:43
-          _4 = alloc::alloc::exchange_malloc(move _2, move _3) -> bb1; // scope 2 at $DIR/inline-into-box-place.rs:8:29: 8:43
+          StorageLive(_1);                 // scope 0 at $DIR/inline-into-box-place.rs:+1:9: +1:11
+          _2 = SizeOf(std::vec::Vec<u32>); // scope 2 at $DIR/inline-into-box-place.rs:+1:29: +1:43
+          _3 = AlignOf(std::vec::Vec<u32>); // scope 2 at $DIR/inline-into-box-place.rs:+1:29: +1:43
+          _4 = alloc::alloc::exchange_malloc(move _2, move _3) -> bb1; // scope 2 at $DIR/inline-into-box-place.rs:+1:29: +1:43
                                            // mir::Constant
                                            // + span: $DIR/inline-into-box-place.rs:8:29: 8:43
                                            // + literal: Const { ty: unsafe fn(usize, usize) -> *mut u8 {alloc::alloc::exchange_malloc}, val: Value(<ZST>) }
       }
   
       bb1: {
-          StorageLive(_5);                 // scope 0 at $DIR/inline-into-box-place.rs:8:29: 8:43
-          _5 = ShallowInitBox(move _4, std::vec::Vec<u32>); // scope 0 at $DIR/inline-into-box-place.rs:8:29: 8:43
-          StorageLive(_7);                 // scope 0 at $DIR/inline-into-box-place.rs:8:33: 8:43
-          _7 = (((_5.0: std::ptr::Unique<std::vec::Vec<u32>>).0: std::ptr::NonNull<std::vec::Vec<u32>>).0: *const std::vec::Vec<u32>); // scope 0 at $DIR/inline-into-box-place.rs:8:33: 8:43
--         (*_7) = Vec::<u32>::new() -> [return: bb2, unwind: bb4]; // scope 0 at $DIR/inline-into-box-place.rs:8:33: 8:43
-+         StorageLive(_9);                 // scope 0 at $DIR/inline-into-box-place.rs:8:33: 8:43
-+         _9 = &mut (*_7);                 // scope 0 at $DIR/inline-into-box-place.rs:8:33: 8:43
+          StorageLive(_5);                 // scope 0 at $DIR/inline-into-box-place.rs:+1:29: +1:43
+          _5 = ShallowInitBox(move _4, std::vec::Vec<u32>); // scope 0 at $DIR/inline-into-box-place.rs:+1:29: +1:43
+          StorageLive(_7);                 // scope 0 at $DIR/inline-into-box-place.rs:+1:33: +1:43
+          _7 = (((_5.0: std::ptr::Unique<std::vec::Vec<u32>>).0: std::ptr::NonNull<std::vec::Vec<u32>>).0: *const std::vec::Vec<u32>); // scope 0 at $DIR/inline-into-box-place.rs:+1:33: +1:43
+-         (*_7) = Vec::<u32>::new() -> [return: bb2, unwind: bb4]; // scope 0 at $DIR/inline-into-box-place.rs:+1:33: +1:43
++         StorageLive(_9);                 // scope 0 at $DIR/inline-into-box-place.rs:+1:33: +1:43
++         _9 = &mut (*_7);                 // scope 0 at $DIR/inline-into-box-place.rs:+1:33: +1:43
 +         StorageLive(_10);                // scope 3 at $SRC_DIR/alloc/src/vec/mod.rs:LL:COL
 +         _10 = const alloc::raw_vec::RawVec::<u32>::NEW; // scope 3 at $SRC_DIR/alloc/src/vec/mod.rs:LL:COL
                                            // mir::Constant
 +         ((*_9).0: alloc::raw_vec::RawVec<u32>) = move _10; // scope 3 at $SRC_DIR/alloc/src/vec/mod.rs:LL:COL
 +         ((*_9).1: usize) = const 0_usize; // scope 3 at $SRC_DIR/alloc/src/vec/mod.rs:LL:COL
 +         StorageDead(_10);                // scope 3 at $SRC_DIR/alloc/src/vec/mod.rs:LL:COL
-+         StorageDead(_9);                 // scope 0 at $DIR/inline-into-box-place.rs:8:33: 8:43
-          StorageDead(_7);                 // scope 0 at $DIR/inline-into-box-place.rs:8:33: 8:43
-          _1 = move _5;                    // scope 0 at $DIR/inline-into-box-place.rs:8:29: 8:43
-          StorageDead(_5);                 // scope 0 at $DIR/inline-into-box-place.rs:8:42: 8:43
-          _0 = const ();                   // scope 0 at $DIR/inline-into-box-place.rs:7:11: 9:2
--         drop(_1) -> [return: bb3, unwind: bb5]; // scope 0 at $DIR/inline-into-box-place.rs:9:1: 9:2
-+         drop(_1) -> [return: bb2, unwind: bb3]; // scope 0 at $DIR/inline-into-box-place.rs:9:1: 9:2
++         StorageDead(_9);                 // scope 0 at $DIR/inline-into-box-place.rs:+1:33: +1:43
+          StorageDead(_7);                 // scope 0 at $DIR/inline-into-box-place.rs:+1:33: +1:43
+          _1 = move _5;                    // scope 0 at $DIR/inline-into-box-place.rs:+1:29: +1:43
+          StorageDead(_5);                 // scope 0 at $DIR/inline-into-box-place.rs:+1:42: +1:43
+          _0 = const ();                   // scope 0 at $DIR/inline-into-box-place.rs:+0:11: +2:2
+-         drop(_1) -> [return: bb3, unwind: bb5]; // scope 0 at $DIR/inline-into-box-place.rs:+2:1: +2:2
++         drop(_1) -> [return: bb2, unwind: bb3]; // scope 0 at $DIR/inline-into-box-place.rs:+2:1: +2:2
       }
   
 -     bb3: {
 +     bb2: {
-          StorageDead(_1);                 // scope 0 at $DIR/inline-into-box-place.rs:9:1: 9:2
-          return;                          // scope 0 at $DIR/inline-into-box-place.rs:9:2: 9:2
+          StorageDead(_1);                 // scope 0 at $DIR/inline-into-box-place.rs:+2:1: +2:2
+          return;                          // scope 0 at $DIR/inline-into-box-place.rs:+2:2: +2:2
       }
   
 -     bb4 (cleanup): {
--         StorageDead(_7);                 // scope 0 at $DIR/inline-into-box-place.rs:8:33: 8:43
--         _6 = alloc::alloc::box_free::<Vec<u32>, std::alloc::Global>(move (_5.0: std::ptr::Unique<std::vec::Vec<u32>>), move (_5.1: std::alloc::Global)) -> bb5; // scope 0 at $DIR/inline-into-box-place.rs:8:42: 8:43
+-         StorageDead(_7);                 // scope 0 at $DIR/inline-into-box-place.rs:+1:33: +1:43
+-         _6 = alloc::alloc::box_free::<Vec<u32>, std::alloc::Global>(move (_5.0: std::ptr::Unique<std::vec::Vec<u32>>), move (_5.1: std::alloc::Global)) -> bb5; // scope 0 at $DIR/inline-into-box-place.rs:+1:42: +1:43
 -                                          // mir::Constant
 -                                          // + span: $DIR/inline-into-box-place.rs:8:42: 8:43
 -                                          // + literal: Const { ty: unsafe fn(Unique<Vec<u32>>, std::alloc::Global) {alloc::alloc::box_free::<Vec<u32>, std::alloc::Global>}, val: Value(<ZST>) }
@@ -80,7 +80,7 @@
 - 
 -     bb5 (cleanup): {
 +     bb3 (cleanup): {
-          resume;                          // scope 0 at $DIR/inline-into-box-place.rs:7:1: 9:2
+          resume;                          // scope 0 at $DIR/inline-into-box-place.rs:+0:1: +2:2
       }
   }
   
index 17050f184cb484c4b0dd72b2ed7cde01b9b9f410..deaba70e082edfa8ec5de83861623b0338349b3d 100644 (file)
@@ -2,18 +2,18 @@
 + // MIR for `main` after Inline
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/inline-into-box-place.rs:7:11: 7:11
-      let _1: std::boxed::Box<std::vec::Vec<u32>>; // in scope 0 at $DIR/inline-into-box-place.rs:8:9: 8:11
-      let mut _2: usize;                   // in scope 0 at $DIR/inline-into-box-place.rs:8:29: 8:43
-      let mut _3: usize;                   // in scope 0 at $DIR/inline-into-box-place.rs:8:29: 8:43
-      let mut _4: *mut u8;                 // in scope 0 at $DIR/inline-into-box-place.rs:8:29: 8:43
-      let mut _5: std::boxed::Box<std::vec::Vec<u32>>; // in scope 0 at $DIR/inline-into-box-place.rs:8:29: 8:43
-      let mut _6: ();                      // in scope 0 at $DIR/inline-into-box-place.rs:8:42: 8:43
-      let mut _7: *const std::vec::Vec<u32>; // in scope 0 at $DIR/inline-into-box-place.rs:8:29: 8:43
-      let mut _8: *const std::vec::Vec<u32>; // in scope 0 at $DIR/inline-into-box-place.rs:8:29: 8:43
-+     let mut _9: &mut std::vec::Vec<u32>; // in scope 0 at $DIR/inline-into-box-place.rs:8:33: 8:43
+      let mut _0: ();                      // return place in scope 0 at $DIR/inline-into-box-place.rs:+0:11: +0:11
+      let _1: std::boxed::Box<std::vec::Vec<u32>>; // in scope 0 at $DIR/inline-into-box-place.rs:+1:9: +1:11
+      let mut _2: usize;                   // in scope 0 at $DIR/inline-into-box-place.rs:+1:29: +1:43
+      let mut _3: usize;                   // in scope 0 at $DIR/inline-into-box-place.rs:+1:29: +1:43
+      let mut _4: *mut u8;                 // in scope 0 at $DIR/inline-into-box-place.rs:+1:29: +1:43
+      let mut _5: std::boxed::Box<std::vec::Vec<u32>>; // in scope 0 at $DIR/inline-into-box-place.rs:+1:29: +1:43
+      let mut _6: ();                      // in scope 0 at $DIR/inline-into-box-place.rs:+1:42: +1:43
+      let mut _7: *const std::vec::Vec<u32>; // in scope 0 at $DIR/inline-into-box-place.rs:+1:29: +1:43
+      let mut _8: *const std::vec::Vec<u32>; // in scope 0 at $DIR/inline-into-box-place.rs:+1:29: +1:43
++     let mut _9: &mut std::vec::Vec<u32>; // in scope 0 at $DIR/inline-into-box-place.rs:+1:33: +1:43
       scope 1 {
-          debug _x => _1;                  // in scope 1 at $DIR/inline-into-box-place.rs:8:9: 8:11
+          debug _x => _1;                  // in scope 1 at $DIR/inline-into-box-place.rs:+1:9: +1:11
       }
       scope 2 {
       }
 +     }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/inline-into-box-place.rs:8:9: 8:11
-          _2 = SizeOf(std::vec::Vec<u32>); // scope 2 at $DIR/inline-into-box-place.rs:8:29: 8:43
-          _3 = AlignOf(std::vec::Vec<u32>); // scope 2 at $DIR/inline-into-box-place.rs:8:29: 8:43
-          _4 = alloc::alloc::exchange_malloc(move _2, move _3) -> bb1; // scope 2 at $DIR/inline-into-box-place.rs:8:29: 8:43
+          StorageLive(_1);                 // scope 0 at $DIR/inline-into-box-place.rs:+1:9: +1:11
+          _2 = SizeOf(std::vec::Vec<u32>); // scope 2 at $DIR/inline-into-box-place.rs:+1:29: +1:43
+          _3 = AlignOf(std::vec::Vec<u32>); // scope 2 at $DIR/inline-into-box-place.rs:+1:29: +1:43
+          _4 = alloc::alloc::exchange_malloc(move _2, move _3) -> bb1; // scope 2 at $DIR/inline-into-box-place.rs:+1:29: +1:43
                                            // mir::Constant
                                            // + span: $DIR/inline-into-box-place.rs:8:29: 8:43
                                            // + literal: Const { ty: unsafe fn(usize, usize) -> *mut u8 {alloc::alloc::exchange_malloc}, val: Value(<ZST>) }
       }
   
       bb1: {
-          StorageLive(_5);                 // scope 0 at $DIR/inline-into-box-place.rs:8:29: 8:43
-          _5 = ShallowInitBox(move _4, std::vec::Vec<u32>); // scope 0 at $DIR/inline-into-box-place.rs:8:29: 8:43
-          StorageLive(_7);                 // scope 0 at $DIR/inline-into-box-place.rs:8:33: 8:43
-          _7 = (((_5.0: std::ptr::Unique<std::vec::Vec<u32>>).0: std::ptr::NonNull<std::vec::Vec<u32>>).0: *const std::vec::Vec<u32>); // scope 0 at $DIR/inline-into-box-place.rs:8:33: 8:43
--         (*_7) = Vec::<u32>::new() -> [return: bb2, unwind: bb4]; // scope 0 at $DIR/inline-into-box-place.rs:8:33: 8:43
-+         StorageLive(_9);                 // scope 0 at $DIR/inline-into-box-place.rs:8:33: 8:43
-+         _9 = &mut (*_7);                 // scope 0 at $DIR/inline-into-box-place.rs:8:33: 8:43
+          StorageLive(_5);                 // scope 0 at $DIR/inline-into-box-place.rs:+1:29: +1:43
+          _5 = ShallowInitBox(move _4, std::vec::Vec<u32>); // scope 0 at $DIR/inline-into-box-place.rs:+1:29: +1:43
+          StorageLive(_7);                 // scope 0 at $DIR/inline-into-box-place.rs:+1:33: +1:43
+          _7 = (((_5.0: std::ptr::Unique<std::vec::Vec<u32>>).0: std::ptr::NonNull<std::vec::Vec<u32>>).0: *const std::vec::Vec<u32>); // scope 0 at $DIR/inline-into-box-place.rs:+1:33: +1:43
+-         (*_7) = Vec::<u32>::new() -> [return: bb2, unwind: bb4]; // scope 0 at $DIR/inline-into-box-place.rs:+1:33: +1:43
++         StorageLive(_9);                 // scope 0 at $DIR/inline-into-box-place.rs:+1:33: +1:43
++         _9 = &mut (*_7);                 // scope 0 at $DIR/inline-into-box-place.rs:+1:33: +1:43
 +         StorageLive(_10);                // scope 3 at $SRC_DIR/alloc/src/vec/mod.rs:LL:COL
 +         _10 = const alloc::raw_vec::RawVec::<u32>::NEW; // scope 3 at $SRC_DIR/alloc/src/vec/mod.rs:LL:COL
                                            // mir::Constant
 +         ((*_9).0: alloc::raw_vec::RawVec<u32>) = move _10; // scope 3 at $SRC_DIR/alloc/src/vec/mod.rs:LL:COL
 +         ((*_9).1: usize) = const 0_usize; // scope 3 at $SRC_DIR/alloc/src/vec/mod.rs:LL:COL
 +         StorageDead(_10);                // scope 3 at $SRC_DIR/alloc/src/vec/mod.rs:LL:COL
-+         StorageDead(_9);                 // scope 0 at $DIR/inline-into-box-place.rs:8:33: 8:43
-          StorageDead(_7);                 // scope 0 at $DIR/inline-into-box-place.rs:8:33: 8:43
-          _1 = move _5;                    // scope 0 at $DIR/inline-into-box-place.rs:8:29: 8:43
-          StorageDead(_5);                 // scope 0 at $DIR/inline-into-box-place.rs:8:42: 8:43
-          _0 = const ();                   // scope 0 at $DIR/inline-into-box-place.rs:7:11: 9:2
--         drop(_1) -> [return: bb3, unwind: bb5]; // scope 0 at $DIR/inline-into-box-place.rs:9:1: 9:2
-+         drop(_1) -> [return: bb2, unwind: bb3]; // scope 0 at $DIR/inline-into-box-place.rs:9:1: 9:2
++         StorageDead(_9);                 // scope 0 at $DIR/inline-into-box-place.rs:+1:33: +1:43
+          StorageDead(_7);                 // scope 0 at $DIR/inline-into-box-place.rs:+1:33: +1:43
+          _1 = move _5;                    // scope 0 at $DIR/inline-into-box-place.rs:+1:29: +1:43
+          StorageDead(_5);                 // scope 0 at $DIR/inline-into-box-place.rs:+1:42: +1:43
+          _0 = const ();                   // scope 0 at $DIR/inline-into-box-place.rs:+0:11: +2:2
+-         drop(_1) -> [return: bb3, unwind: bb5]; // scope 0 at $DIR/inline-into-box-place.rs:+2:1: +2:2
++         drop(_1) -> [return: bb2, unwind: bb3]; // scope 0 at $DIR/inline-into-box-place.rs:+2:1: +2:2
       }
   
 -     bb3: {
 +     bb2: {
-          StorageDead(_1);                 // scope 0 at $DIR/inline-into-box-place.rs:9:1: 9:2
-          return;                          // scope 0 at $DIR/inline-into-box-place.rs:9:2: 9:2
+          StorageDead(_1);                 // scope 0 at $DIR/inline-into-box-place.rs:+2:1: +2:2
+          return;                          // scope 0 at $DIR/inline-into-box-place.rs:+2:2: +2:2
       }
   
 -     bb4 (cleanup): {
--         StorageDead(_7);                 // scope 0 at $DIR/inline-into-box-place.rs:8:33: 8:43
--         _6 = alloc::alloc::box_free::<Vec<u32>, std::alloc::Global>(move (_5.0: std::ptr::Unique<std::vec::Vec<u32>>), move (_5.1: std::alloc::Global)) -> bb5; // scope 0 at $DIR/inline-into-box-place.rs:8:42: 8:43
+-         StorageDead(_7);                 // scope 0 at $DIR/inline-into-box-place.rs:+1:33: +1:43
+-         _6 = alloc::alloc::box_free::<Vec<u32>, std::alloc::Global>(move (_5.0: std::ptr::Unique<std::vec::Vec<u32>>), move (_5.1: std::alloc::Global)) -> bb5; // scope 0 at $DIR/inline-into-box-place.rs:+1:42: +1:43
 -                                          // mir::Constant
 -                                          // + span: $DIR/inline-into-box-place.rs:8:42: 8:43
 -                                          // + literal: Const { ty: unsafe fn(Unique<Vec<u32>>, std::alloc::Global) {alloc::alloc::box_free::<Vec<u32>, std::alloc::Global>}, val: Value(<ZST>) }
@@ -80,7 +80,7 @@
 - 
 -     bb5 (cleanup): {
 +     bb3 (cleanup): {
-          resume;                          // scope 0 at $DIR/inline-into-box-place.rs:7:1: 9:2
+          resume;                          // scope 0 at $DIR/inline-into-box-place.rs:+0:1: +2:2
       }
   }
   
index 45023083be6685d34f61a723de37b55dfcb6e2a5..49c72b7196c412b9159b358ff5f251f5b81132cd 100644 (file)
@@ -1,59 +1,59 @@
 // MIR for `main` after Inline
 
 fn main() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/inline-options.rs:8:11: 8:11
-    let _1: ();                          // in scope 0 at $DIR/inline-options.rs:9:5: 9:18
-    let _2: ();                          // in scope 0 at $DIR/inline-options.rs:10:5: 10:21
+    let mut _0: ();                      // return place in scope 0 at $DIR/inline-options.rs:+0:11: +0:11
+    let _1: ();                          // in scope 0 at $DIR/inline-options.rs:+1:5: +1:18
+    let _2: ();                          // in scope 0 at $DIR/inline-options.rs:+2:5: +2:21
     scope 1 (inlined inlined::<u32>) {   // at $DIR/inline-options.rs:10:5: 10:21
-        let _3: ();                      // in scope 1 at $DIR/inline-options.rs:16:23: 16:26
-        let _4: ();                      // in scope 1 at $DIR/inline-options.rs:16:28: 16:31
-        let _5: ();                      // in scope 1 at $DIR/inline-options.rs:16:33: 16:36
+        let _3: ();                      // in scope 1 at $DIR/inline-options.rs:+8:23: +8:26
+        let _4: ();                      // in scope 1 at $DIR/inline-options.rs:+8:28: +8:31
+        let _5: ();                      // in scope 1 at $DIR/inline-options.rs:+8:33: +8:36
     }
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/inline-options.rs:9:5: 9:18
-        _1 = not_inlined() -> bb1;       // scope 0 at $DIR/inline-options.rs:9:5: 9:18
+        StorageLive(_1);                 // scope 0 at $DIR/inline-options.rs:+1:5: +1:18
+        _1 = not_inlined() -> bb1;       // scope 0 at $DIR/inline-options.rs:+1:5: +1:18
                                          // mir::Constant
                                          // + span: $DIR/inline-options.rs:9:5: 9:16
                                          // + literal: Const { ty: fn() {not_inlined}, val: Value(<ZST>) }
     }
 
     bb1: {
-        StorageDead(_1);                 // scope 0 at $DIR/inline-options.rs:9:18: 9:19
-        StorageLive(_2);                 // scope 0 at $DIR/inline-options.rs:10:5: 10:21
-        StorageLive(_3);                 // scope 1 at $DIR/inline-options.rs:16:23: 16:26
-        _3 = g() -> bb2;                 // scope 1 at $DIR/inline-options.rs:16:23: 16:26
+        StorageDead(_1);                 // scope 0 at $DIR/inline-options.rs:+1:18: +1:19
+        StorageLive(_2);                 // scope 0 at $DIR/inline-options.rs:+2:5: +2:21
+        StorageLive(_3);                 // scope 1 at $DIR/inline-options.rs:+8:23: +8:26
+        _3 = g() -> bb2;                 // scope 1 at $DIR/inline-options.rs:+8:23: +8:26
                                          // mir::Constant
                                          // + span: $DIR/inline-options.rs:16:23: 16:24
                                          // + literal: Const { ty: fn() {g}, val: Value(<ZST>) }
     }
 
     bb2: {
-        StorageDead(_3);                 // scope 1 at $DIR/inline-options.rs:16:26: 16:27
-        StorageLive(_4);                 // scope 1 at $DIR/inline-options.rs:16:28: 16:31
-        _4 = g() -> bb3;                 // scope 1 at $DIR/inline-options.rs:16:28: 16:31
+        StorageDead(_3);                 // scope 1 at $DIR/inline-options.rs:+8:26: +8:27
+        StorageLive(_4);                 // scope 1 at $DIR/inline-options.rs:+8:28: +8:31
+        _4 = g() -> bb3;                 // scope 1 at $DIR/inline-options.rs:+8:28: +8:31
                                          // mir::Constant
                                          // + span: $DIR/inline-options.rs:16:28: 16:29
                                          // + literal: Const { ty: fn() {g}, val: Value(<ZST>) }
     }
 
     bb3: {
-        StorageDead(_4);                 // scope 1 at $DIR/inline-options.rs:16:31: 16:32
-        StorageLive(_5);                 // scope 1 at $DIR/inline-options.rs:16:33: 16:36
-        _5 = g() -> bb4;                 // scope 1 at $DIR/inline-options.rs:16:33: 16:36
+        StorageDead(_4);                 // scope 1 at $DIR/inline-options.rs:+8:31: +8:32
+        StorageLive(_5);                 // scope 1 at $DIR/inline-options.rs:+8:33: +8:36
+        _5 = g() -> bb4;                 // scope 1 at $DIR/inline-options.rs:+8:33: +8:36
                                          // mir::Constant
                                          // + span: $DIR/inline-options.rs:16:33: 16:34
                                          // + literal: Const { ty: fn() {g}, val: Value(<ZST>) }
     }
 
     bb4: {
-        StorageDead(_5);                 // scope 1 at $DIR/inline-options.rs:16:36: 16:37
-        StorageDead(_2);                 // scope 0 at $DIR/inline-options.rs:10:21: 10:22
-        _0 = const ();                   // scope 0 at $DIR/inline-options.rs:8:11: 11:2
-        return;                          // scope 0 at $DIR/inline-options.rs:11:2: 11:2
+        StorageDead(_5);                 // scope 1 at $DIR/inline-options.rs:+8:36: +8:37
+        StorageDead(_2);                 // scope 0 at $DIR/inline-options.rs:+2:21: +2:22
+        _0 = const ();                   // scope 0 at $DIR/inline-options.rs:+0:11: +3:2
+        return;                          // scope 0 at $DIR/inline-options.rs:+3:2: +3:2
     }
 
     bb5 (cleanup): {
-        resume;                          // scope 0 at $DIR/inline-options.rs:8:1: 11:2
+        resume;                          // scope 0 at $DIR/inline-options.rs:+0:1: +3:2
     }
 }
index fcc1767578eb2d7f33226c99544da6139363b69f..0ea8823156c1258aed050dab06294d2ede8c143a 100644 (file)
@@ -1,76 +1,76 @@
 // MIR for `bar` after Inline
 
 fn bar() -> bool {
-    let mut _0: bool;                    // return place in scope 0 at $DIR/inline-retag.rs:10:13: 10:17
-    let _1: for<'r, 's> fn(&'r i32, &'s i32) -> bool {foo}; // in scope 0 at $DIR/inline-retag.rs:11:9: 11:10
-    let mut _2: for<'r, 's> fn(&'r i32, &'s i32) -> bool {foo}; // in scope 0 at $DIR/inline-retag.rs:12:5: 12:6
-    let mut _3: &i32;                    // in scope 0 at $DIR/inline-retag.rs:12:7: 12:9
-    let _4: &i32;                        // in scope 0 at $DIR/inline-retag.rs:12:7: 12:9
-    let _5: i32;                         // in scope 0 at $DIR/inline-retag.rs:12:8: 12:9
-    let mut _6: &i32;                    // in scope 0 at $DIR/inline-retag.rs:12:11: 12:14
-    let _7: &i32;                        // in scope 0 at $DIR/inline-retag.rs:12:11: 12:14
-    let _8: i32;                         // in scope 0 at $DIR/inline-retag.rs:12:12: 12:14
+    let mut _0: bool;                    // return place in scope 0 at $DIR/inline-retag.rs:+0:13: +0:17
+    let _1: for<'r, 's> fn(&'r i32, &'s i32) -> bool {foo}; // in scope 0 at $DIR/inline-retag.rs:+1:9: +1:10
+    let mut _2: for<'r, 's> fn(&'r i32, &'s i32) -> bool {foo}; // in scope 0 at $DIR/inline-retag.rs:+2:5: +2:6
+    let mut _3: &i32;                    // in scope 0 at $DIR/inline-retag.rs:+2:7: +2:9
+    let _4: &i32;                        // in scope 0 at $DIR/inline-retag.rs:+2:7: +2:9
+    let _5: i32;                         // in scope 0 at $DIR/inline-retag.rs:+2:8: +2:9
+    let mut _6: &i32;                    // in scope 0 at $DIR/inline-retag.rs:+2:11: +2:14
+    let _7: &i32;                        // in scope 0 at $DIR/inline-retag.rs:+2:11: +2:14
+    let _8: i32;                         // in scope 0 at $DIR/inline-retag.rs:+2:12: +2:14
     scope 1 {
-        debug f => _1;                   // in scope 1 at $DIR/inline-retag.rs:11:9: 11:10
-        let mut _9: &i32;                // in scope 1 at $DIR/inline-retag.rs:12:11: 12:14
-        let mut _10: &i32;               // in scope 1 at $DIR/inline-retag.rs:12:7: 12:9
+        debug f => _1;                   // in scope 1 at $DIR/inline-retag.rs:+1:9: +1:10
+        let mut _9: &i32;                // in scope 1 at $DIR/inline-retag.rs:+2:11: +2:14
+        let mut _10: &i32;               // in scope 1 at $DIR/inline-retag.rs:+2:7: +2:9
         scope 2 (inlined foo) {          // at $DIR/inline-retag.rs:12:5: 12:15
-            debug x => _3;               // in scope 2 at $DIR/inline-retag.rs:16:8: 16:9
-            debug y => _6;               // in scope 2 at $DIR/inline-retag.rs:16:17: 16:18
-            let mut _11: i32;            // in scope 2 at $DIR/inline-retag.rs:17:5: 17:7
-            let mut _12: i32;            // in scope 2 at $DIR/inline-retag.rs:17:11: 17:13
+            debug x => _3;               // in scope 2 at $DIR/inline-retag.rs:+6:8: +6:9
+            debug y => _6;               // in scope 2 at $DIR/inline-retag.rs:+6:17: +6:18
+            let mut _11: i32;            // in scope 2 at $DIR/inline-retag.rs:+7:5: +7:7
+            let mut _12: i32;            // in scope 2 at $DIR/inline-retag.rs:+7:11: +7:13
         }
     }
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/inline-retag.rs:11:9: 11:10
-        _1 = foo;                        // scope 0 at $DIR/inline-retag.rs:11:13: 11:16
+        StorageLive(_1);                 // scope 0 at $DIR/inline-retag.rs:+1:9: +1:10
+        _1 = foo;                        // scope 0 at $DIR/inline-retag.rs:+1:13: +1:16
                                          // mir::Constant
                                          // + span: $DIR/inline-retag.rs:11:13: 11:16
                                          // + literal: Const { ty: for<'r, 's> fn(&'r i32, &'s i32) -> bool {foo}, val: Value(<ZST>) }
-        StorageLive(_2);                 // scope 1 at $DIR/inline-retag.rs:12:5: 12:6
-        _2 = _1;                         // scope 1 at $DIR/inline-retag.rs:12:5: 12:6
-        StorageLive(_3);                 // scope 1 at $DIR/inline-retag.rs:12:7: 12:9
-        StorageLive(_4);                 // scope 1 at $DIR/inline-retag.rs:12:7: 12:9
-        _10 = const bar::promoted[1];    // scope 1 at $DIR/inline-retag.rs:12:7: 12:9
+        StorageLive(_2);                 // scope 1 at $DIR/inline-retag.rs:+2:5: +2:6
+        _2 = _1;                         // scope 1 at $DIR/inline-retag.rs:+2:5: +2:6
+        StorageLive(_3);                 // scope 1 at $DIR/inline-retag.rs:+2:7: +2:9
+        StorageLive(_4);                 // scope 1 at $DIR/inline-retag.rs:+2:7: +2:9
+        _10 = const bar::promoted[1];    // scope 1 at $DIR/inline-retag.rs:+2:7: +2:9
                                          // mir::Constant
                                          // + span: $DIR/inline-retag.rs:12:7: 12:9
                                          // + literal: Const { ty: &i32, val: Unevaluated(bar, [], Some(promoted[1])) }
-        Retag(_10);                      // scope 1 at $DIR/inline-retag.rs:12:7: 12:9
-        _4 = &(*_10);                    // scope 1 at $DIR/inline-retag.rs:12:7: 12:9
-        Retag(_4);                       // scope 1 at $DIR/inline-retag.rs:12:7: 12:9
-        _3 = &(*_4);                     // scope 1 at $DIR/inline-retag.rs:12:7: 12:9
-        Retag(_3);                       // scope 1 at $DIR/inline-retag.rs:12:7: 12:9
-        StorageLive(_6);                 // scope 1 at $DIR/inline-retag.rs:12:11: 12:14
-        StorageLive(_7);                 // scope 1 at $DIR/inline-retag.rs:12:11: 12:14
-        _9 = const bar::promoted[0];     // scope 1 at $DIR/inline-retag.rs:12:11: 12:14
+        Retag(_10);                      // scope 1 at $DIR/inline-retag.rs:+2:7: +2:9
+        _4 = &(*_10);                    // scope 1 at $DIR/inline-retag.rs:+2:7: +2:9
+        Retag(_4);                       // scope 1 at $DIR/inline-retag.rs:+2:7: +2:9
+        _3 = &(*_4);                     // scope 1 at $DIR/inline-retag.rs:+2:7: +2:9
+        Retag(_3);                       // scope 1 at $DIR/inline-retag.rs:+2:7: +2:9
+        StorageLive(_6);                 // scope 1 at $DIR/inline-retag.rs:+2:11: +2:14
+        StorageLive(_7);                 // scope 1 at $DIR/inline-retag.rs:+2:11: +2:14
+        _9 = const bar::promoted[0];     // scope 1 at $DIR/inline-retag.rs:+2:11: +2:14
                                          // mir::Constant
                                          // + span: $DIR/inline-retag.rs:12:11: 12:14
                                          // + literal: Const { ty: &i32, val: Unevaluated(bar, [], Some(promoted[0])) }
-        Retag(_9);                       // scope 1 at $DIR/inline-retag.rs:12:11: 12:14
-        _7 = &(*_9);                     // scope 1 at $DIR/inline-retag.rs:12:11: 12:14
-        Retag(_7);                       // scope 1 at $DIR/inline-retag.rs:12:11: 12:14
-        _6 = &(*_7);                     // scope 1 at $DIR/inline-retag.rs:12:11: 12:14
-        Retag(_6);                       // scope 1 at $DIR/inline-retag.rs:12:11: 12:14
-        Retag(_3);                       // scope 2 at $DIR/inline-retag.rs:16:1: 18:2
-        Retag(_6);                       // scope 2 at $DIR/inline-retag.rs:16:1: 18:2
-        StorageLive(_11);                // scope 2 at $DIR/inline-retag.rs:17:5: 17:7
-        _11 = (*_3);                     // scope 2 at $DIR/inline-retag.rs:17:5: 17:7
-        StorageLive(_12);                // scope 2 at $DIR/inline-retag.rs:17:11: 17:13
-        _12 = (*_6);                     // scope 2 at $DIR/inline-retag.rs:17:11: 17:13
-        _0 = Eq(move _11, move _12);     // scope 2 at $DIR/inline-retag.rs:17:5: 17:13
-        StorageDead(_12);                // scope 2 at $DIR/inline-retag.rs:17:12: 17:13
-        StorageDead(_11);                // scope 2 at $DIR/inline-retag.rs:17:12: 17:13
-        StorageDead(_6);                 // scope 1 at $DIR/inline-retag.rs:12:14: 12:15
-        StorageDead(_3);                 // scope 1 at $DIR/inline-retag.rs:12:14: 12:15
-        StorageDead(_2);                 // scope 1 at $DIR/inline-retag.rs:12:14: 12:15
-        StorageDead(_1);                 // scope 0 at $DIR/inline-retag.rs:13:1: 13:2
-        StorageDead(_7);                 // scope 0 at $DIR/inline-retag.rs:13:1: 13:2
-        StorageDead(_4);                 // scope 0 at $DIR/inline-retag.rs:13:1: 13:2
-        return;                          // scope 0 at $DIR/inline-retag.rs:13:2: 13:2
+        Retag(_9);                       // scope 1 at $DIR/inline-retag.rs:+2:11: +2:14
+        _7 = &(*_9);                     // scope 1 at $DIR/inline-retag.rs:+2:11: +2:14
+        Retag(_7);                       // scope 1 at $DIR/inline-retag.rs:+2:11: +2:14
+        _6 = &(*_7);                     // scope 1 at $DIR/inline-retag.rs:+2:11: +2:14
+        Retag(_6);                       // scope 1 at $DIR/inline-retag.rs:+2:11: +2:14
+        Retag(_3);                       // scope 2 at $DIR/inline-retag.rs:+6:1: +8:2
+        Retag(_6);                       // scope 2 at $DIR/inline-retag.rs:+6:1: +8:2
+        StorageLive(_11);                // scope 2 at $DIR/inline-retag.rs:+7:5: +7:7
+        _11 = (*_3);                     // scope 2 at $DIR/inline-retag.rs:+7:5: +7:7
+        StorageLive(_12);                // scope 2 at $DIR/inline-retag.rs:+7:11: +7:13
+        _12 = (*_6);                     // scope 2 at $DIR/inline-retag.rs:+7:11: +7:13
+        _0 = Eq(move _11, move _12);     // scope 2 at $DIR/inline-retag.rs:+7:5: +7:13
+        StorageDead(_12);                // scope 2 at $DIR/inline-retag.rs:+7:12: +7:13
+        StorageDead(_11);                // scope 2 at $DIR/inline-retag.rs:+7:12: +7:13
+        StorageDead(_6);                 // scope 1 at $DIR/inline-retag.rs:+2:14: +2:15
+        StorageDead(_3);                 // scope 1 at $DIR/inline-retag.rs:+2:14: +2:15
+        StorageDead(_2);                 // scope 1 at $DIR/inline-retag.rs:+2:14: +2:15
+        StorageDead(_1);                 // scope 0 at $DIR/inline-retag.rs:+3:1: +3:2
+        StorageDead(_7);                 // scope 0 at $DIR/inline-retag.rs:+3:1: +3:2
+        StorageDead(_4);                 // scope 0 at $DIR/inline-retag.rs:+3:1: +3:2
+        return;                          // scope 0 at $DIR/inline-retag.rs:+3:2: +3:2
     }
 
     bb1 (cleanup): {
-        resume;                          // scope 0 at $DIR/inline-retag.rs:10:1: 13:2
+        resume;                          // scope 0 at $DIR/inline-retag.rs:+0:1: +3:2
     }
 }
index d67b07b0181b4b065d7b64f99cfae780418a2dbb..e69af791622640b247f4b2b6a2afb4ec9703b77a 100644 (file)
@@ -2,16 +2,16 @@
 + // MIR for `clone` after Inline
   
   fn clone(_1: fn(A, B)) -> fn(A, B) {
-      debug f => _1;                       // in scope 0 at $DIR/inline-shims.rs:5:20: 5:21
-      let mut _0: fn(A, B);                // return place in scope 0 at $DIR/inline-shims.rs:5:36: 5:44
-      let mut _2: &fn(A, B);               // in scope 0 at $DIR/inline-shims.rs:6:5: 6:14
+      debug f => _1;                       // in scope 0 at $DIR/inline-shims.rs:+0:20: +0:21
+      let mut _0: fn(A, B);                // return place in scope 0 at $DIR/inline-shims.rs:+0:36: +0:44
+      let mut _2: &fn(A, B);               // in scope 0 at $DIR/inline-shims.rs:+1:5: +1:14
 +     scope 1 (inlined <fn(A, B) as Clone>::clone - shim(fn(A, B))) { // at $DIR/inline-shims.rs:6:5: 6:14
 +     }
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/inline-shims.rs:6:5: 6:14
-          _2 = &_1;                        // scope 0 at $DIR/inline-shims.rs:6:5: 6:14
--         _0 = <fn(A, B) as Clone>::clone(move _2) -> bb1; // scope 0 at $DIR/inline-shims.rs:6:5: 6:14
+          StorageLive(_2);                 // scope 0 at $DIR/inline-shims.rs:+1:5: +1:14
+          _2 = &_1;                        // scope 0 at $DIR/inline-shims.rs:+1:5: +1:14
+-         _0 = <fn(A, B) as Clone>::clone(move _2) -> bb1; // scope 0 at $DIR/inline-shims.rs:+1:5: +1:14
 -                                          // mir::Constant
 -                                          // + span: $DIR/inline-shims.rs:6:7: 6:12
 -                                          // + literal: Const { ty: for<'r> fn(&'r fn(A, B)) -> fn(A, B) {<fn(A, B) as Clone>::clone}, val: Value(<ZST>) }
 - 
 -     bb1: {
 +         _0 = (*_2);                      // scope 1 at $SRC_DIR/core/src/clone.rs:LL:COL
-          StorageDead(_2);                 // scope 0 at $DIR/inline-shims.rs:6:13: 6:14
-          return;                          // scope 0 at $DIR/inline-shims.rs:7:2: 7:2
+          StorageDead(_2);                 // scope 0 at $DIR/inline-shims.rs:+1:13: +1:14
+          return;                          // scope 0 at $DIR/inline-shims.rs:+2:2: +2:2
 +     }
 + 
 +     bb1 (cleanup): {
-+         resume;                          // scope 0 at $DIR/inline-shims.rs:5:1: 7:2
++         resume;                          // scope 0 at $DIR/inline-shims.rs:+0:1: +2:2
       }
   }
   
index 5c7cbc9b41900e09ca55cc9ee7b66fd6c3ee18e4..8c1c383ee25dc551c3cd33920cbada010b3714c5 100644 (file)
@@ -2,12 +2,12 @@
 + // MIR for `drop` after Inline
   
   fn drop(_1: *mut Vec<A>, _2: *mut Option<B>) -> () {
-      debug a => _1;                       // in scope 0 at $DIR/inline-shims.rs:10:19: 10:20
-      debug b => _2;                       // in scope 0 at $DIR/inline-shims.rs:10:35: 10:36
-      let mut _0: ();                      // return place in scope 0 at $DIR/inline-shims.rs:10:54: 10:54
-      let _3: ();                          // in scope 0 at $DIR/inline-shims.rs:11:14: 11:40
-      let mut _4: *mut std::vec::Vec<A>;   // in scope 0 at $DIR/inline-shims.rs:11:38: 11:39
-      let mut _5: *mut std::option::Option<B>; // in scope 0 at $DIR/inline-shims.rs:12:38: 12:39
+      debug a => _1;                       // in scope 0 at $DIR/inline-shims.rs:+0:19: +0:20
+      debug b => _2;                       // in scope 0 at $DIR/inline-shims.rs:+0:35: +0:36
+      let mut _0: ();                      // return place in scope 0 at $DIR/inline-shims.rs:+0:54: +0:54
+      let _3: ();                          // in scope 0 at $DIR/inline-shims.rs:+1:14: +1:40
+      let mut _4: *mut std::vec::Vec<A>;   // in scope 0 at $DIR/inline-shims.rs:+1:38: +1:39
+      let mut _5: *mut std::option::Option<B>; // in scope 0 at $DIR/inline-shims.rs:+2:38: +2:39
       scope 1 {
       }
       scope 2 {
       }
   
       bb0: {
-          StorageLive(_3);                 // scope 0 at $DIR/inline-shims.rs:11:5: 11:42
-          StorageLive(_4);                 // scope 1 at $DIR/inline-shims.rs:11:38: 11:39
-          _4 = _1;                         // scope 1 at $DIR/inline-shims.rs:11:38: 11:39
-          _3 = std::ptr::drop_in_place::<Vec<A>>(move _4) -> bb1; // scope 1 at $DIR/inline-shims.rs:11:14: 11:40
+          StorageLive(_3);                 // scope 0 at $DIR/inline-shims.rs:+1:5: +1:42
+          StorageLive(_4);                 // scope 1 at $DIR/inline-shims.rs:+1:38: +1:39
+          _4 = _1;                         // scope 1 at $DIR/inline-shims.rs:+1:38: +1:39
+          _3 = std::ptr::drop_in_place::<Vec<A>>(move _4) -> bb1; // scope 1 at $DIR/inline-shims.rs:+1:14: +1:40
                                            // mir::Constant
                                            // + span: $DIR/inline-shims.rs:11:14: 11:37
                                            // + literal: Const { ty: unsafe fn(*mut Vec<A>) {std::ptr::drop_in_place::<Vec<A>>}, val: Value(<ZST>) }
       }
   
       bb1: {
-          StorageDead(_4);                 // scope 1 at $DIR/inline-shims.rs:11:39: 11:40
-          StorageDead(_3);                 // scope 0 at $DIR/inline-shims.rs:11:41: 11:42
-          StorageLive(_5);                 // scope 2 at $DIR/inline-shims.rs:12:38: 12:39
-          _5 = _2;                         // scope 2 at $DIR/inline-shims.rs:12:38: 12:39
--         _0 = std::ptr::drop_in_place::<Option<B>>(move _5) -> bb2; // scope 2 at $DIR/inline-shims.rs:12:14: 12:40
+          StorageDead(_4);                 // scope 1 at $DIR/inline-shims.rs:+1:39: +1:40
+          StorageDead(_3);                 // scope 0 at $DIR/inline-shims.rs:+1:41: +1:42
+          StorageLive(_5);                 // scope 2 at $DIR/inline-shims.rs:+2:38: +2:39
+          _5 = _2;                         // scope 2 at $DIR/inline-shims.rs:+2:38: +2:39
+-         _0 = std::ptr::drop_in_place::<Option<B>>(move _5) -> bb2; // scope 2 at $DIR/inline-shims.rs:+2:14: +2:40
 -                                          // mir::Constant
 -                                          // + span: $DIR/inline-shims.rs:12:14: 12:37
 -                                          // + literal: Const { ty: unsafe fn(*mut Option<B>) {std::ptr::drop_in_place::<Option<B>>}, val: Value(<ZST>) }
-+         StorageLive(_6);                 // scope 2 at $DIR/inline-shims.rs:12:14: 12:40
-+         StorageLive(_7);                 // scope 2 at $DIR/inline-shims.rs:12:14: 12:40
++         StorageLive(_6);                 // scope 2 at $DIR/inline-shims.rs:+2:14: +2:40
++         StorageLive(_7);                 // scope 2 at $DIR/inline-shims.rs:+2:14: +2:40
 +         _6 = discriminant((*_5));        // scope 3 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
 +         switchInt(move _6) -> [0_isize: bb2, otherwise: bb3]; // scope 3 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
       }
   
       bb2: {
-+         StorageDead(_7);                 // scope 2 at $DIR/inline-shims.rs:12:14: 12:40
-+         StorageDead(_6);                 // scope 2 at $DIR/inline-shims.rs:12:14: 12:40
-          StorageDead(_5);                 // scope 2 at $DIR/inline-shims.rs:12:39: 12:40
-          return;                          // scope 0 at $DIR/inline-shims.rs:13:2: 13:2
++         StorageDead(_7);                 // scope 2 at $DIR/inline-shims.rs:+2:14: +2:40
++         StorageDead(_6);                 // scope 2 at $DIR/inline-shims.rs:+2:14: +2:40
+          StorageDead(_5);                 // scope 2 at $DIR/inline-shims.rs:+2:39: +2:40
+          return;                          // scope 0 at $DIR/inline-shims.rs:+3:2: +3:2
 +     }
 + 
 +     bb3: {
@@ -54,7 +54,7 @@
 +     }
 + 
 +     bb4 (cleanup): {
-+         resume;                          // scope 0 at $DIR/inline-shims.rs:10:1: 13:2
++         resume;                          // scope 0 at $DIR/inline-shims.rs:+0:1: +3:2
       }
   }
   
index 747eeb9845073cec1954911e72df9703ee4d6241..6c71311c7d434e79be1955845bc1917953b562b5 100644 (file)
@@ -2,31 +2,31 @@
 + // MIR for `main` after Inline
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/inline-specialization.rs:4:11: 4:11
-      let _1: u32;                         // in scope 0 at $DIR/inline-specialization.rs:5:9: 5:10
+      let mut _0: ();                      // return place in scope 0 at $DIR/inline-specialization.rs:+0:11: +0:11
+      let _1: u32;                         // in scope 0 at $DIR/inline-specialization.rs:+1:9: +1:10
       scope 1 {
-          debug x => _1;                   // in scope 1 at $DIR/inline-specialization.rs:5:9: 5:10
+          debug x => _1;                   // in scope 1 at $DIR/inline-specialization.rs:+1:9: +1:10
       }
 +     scope 2 (inlined <Vec<()> as Foo>::bar) { // at $DIR/inline-specialization.rs:5:13: 5:38
 +     }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/inline-specialization.rs:5:9: 5:10
--         _1 = <Vec<()> as Foo>::bar() -> bb1; // scope 0 at $DIR/inline-specialization.rs:5:13: 5:38
+          StorageLive(_1);                 // scope 0 at $DIR/inline-specialization.rs:+1:9: +1:10
+-         _1 = <Vec<()> as Foo>::bar() -> bb1; // scope 0 at $DIR/inline-specialization.rs:+1:13: +1:38
 -                                          // mir::Constant
 -                                          // + span: $DIR/inline-specialization.rs:5:13: 5:36
 -                                          // + literal: Const { ty: fn() -> u32 {<Vec<()> as Foo>::bar}, val: Value(<ZST>) }
 -     }
 - 
 -     bb1: {
-+         _1 = const 123_u32;              // scope 2 at $DIR/inline-specialization.rs:14:31: 14:34
-          _0 = const ();                   // scope 0 at $DIR/inline-specialization.rs:4:11: 6:2
-          StorageDead(_1);                 // scope 0 at $DIR/inline-specialization.rs:6:1: 6:2
-          return;                          // scope 0 at $DIR/inline-specialization.rs:6:2: 6:2
++         _1 = const 123_u32;              // scope 2 at $DIR/inline-specialization.rs:+10:31: +10:34
+          _0 = const ();                   // scope 0 at $DIR/inline-specialization.rs:+0:11: +2:2
+          StorageDead(_1);                 // scope 0 at $DIR/inline-specialization.rs:+2:1: +2:2
+          return;                          // scope 0 at $DIR/inline-specialization.rs:+2:2: +2:2
 +     }
 + 
 +     bb1 (cleanup): {
-+         resume;                          // scope 0 at $DIR/inline-specialization.rs:4:1: 6:2
++         resume;                          // scope 0 at $DIR/inline-specialization.rs:+0:1: +2:2
       }
   }
   
index 1646de9289a81201380bd255c5938327cb43caa6..ed95edd16ce791bcaa7584e2e9c42c1d25045953 100644 (file)
@@ -1,21 +1,21 @@
 // MIR for `test` after Inline
 
 fn test(_1: &dyn X) -> u32 {
-    debug x => _1;                       // in scope 0 at $DIR/inline-trait-method.rs:8:9: 8:10
-    let mut _0: u32;                     // return place in scope 0 at $DIR/inline-trait-method.rs:8:23: 8:26
-    let mut _2: &dyn X;                  // in scope 0 at $DIR/inline-trait-method.rs:9:5: 9:10
+    debug x => _1;                       // in scope 0 at $DIR/inline-trait-method.rs:+0:9: +0:10
+    let mut _0: u32;                     // return place in scope 0 at $DIR/inline-trait-method.rs:+0:23: +0:26
+    let mut _2: &dyn X;                  // in scope 0 at $DIR/inline-trait-method.rs:+1:5: +1:10
 
     bb0: {
-        StorageLive(_2);                 // scope 0 at $DIR/inline-trait-method.rs:9:5: 9:10
-        _2 = &(*_1);                     // scope 0 at $DIR/inline-trait-method.rs:9:5: 9:10
-        _0 = <dyn X as X>::y(move _2) -> bb1; // scope 0 at $DIR/inline-trait-method.rs:9:5: 9:10
+        StorageLive(_2);                 // scope 0 at $DIR/inline-trait-method.rs:+1:5: +1:10
+        _2 = &(*_1);                     // scope 0 at $DIR/inline-trait-method.rs:+1:5: +1:10
+        _0 = <dyn X as X>::y(move _2) -> bb1; // scope 0 at $DIR/inline-trait-method.rs:+1:5: +1:10
                                          // mir::Constant
                                          // + span: $DIR/inline-trait-method.rs:9:7: 9:8
                                          // + literal: Const { ty: for<'r> fn(&'r dyn X) -> u32 {<dyn X as X>::y}, val: Value(<ZST>) }
     }
 
     bb1: {
-        StorageDead(_2);                 // scope 0 at $DIR/inline-trait-method.rs:9:9: 9:10
-        return;                          // scope 0 at $DIR/inline-trait-method.rs:10:2: 10:2
+        StorageDead(_2);                 // scope 0 at $DIR/inline-trait-method.rs:+1:9: +1:10
+        return;                          // scope 0 at $DIR/inline-trait-method.rs:+2:2: +2:2
     }
 }
index eb6c09c1cd79848a1e9997e36531ff97f3c1e019..36875d07ca42952d770a8d98e9e998a3ee7b0914 100644 (file)
@@ -1,36 +1,36 @@
 // MIR for `test2` after Inline
 
 fn test2(_1: &dyn X) -> bool {
-    debug x => _1;                       // in scope 0 at $DIR/inline-trait-method_2.rs:4:10: 4:11
-    let mut _0: bool;                    // return place in scope 0 at $DIR/inline-trait-method_2.rs:4:24: 4:28
-    let mut _2: &dyn X;                  // in scope 0 at $DIR/inline-trait-method_2.rs:5:10: 5:11
-    let mut _3: &dyn X;                  // in scope 0 at $DIR/inline-trait-method_2.rs:5:10: 5:11
+    debug x => _1;                       // in scope 0 at $DIR/inline-trait-method_2.rs:+0:10: +0:11
+    let mut _0: bool;                    // return place in scope 0 at $DIR/inline-trait-method_2.rs:+0:24: +0:28
+    let mut _2: &dyn X;                  // in scope 0 at $DIR/inline-trait-method_2.rs:+1:10: +1:11
+    let mut _3: &dyn X;                  // in scope 0 at $DIR/inline-trait-method_2.rs:+1:10: +1:11
     scope 1 (inlined test) {             // at $DIR/inline-trait-method_2.rs:5:5: 5:12
-        debug x => _2;                   // in scope 1 at $DIR/inline-trait-method_2.rs:9:9: 9:10
-        let mut _4: &dyn X;              // in scope 1 at $DIR/inline-trait-method_2.rs:10:5: 10:10
+        debug x => _2;                   // in scope 1 at $DIR/inline-trait-method_2.rs:+5:9: +5:10
+        let mut _4: &dyn X;              // in scope 1 at $DIR/inline-trait-method_2.rs:+6:5: +6:10
     }
 
     bb0: {
-        StorageLive(_2);                 // scope 0 at $DIR/inline-trait-method_2.rs:5:10: 5:11
-        StorageLive(_3);                 // scope 0 at $DIR/inline-trait-method_2.rs:5:10: 5:11
-        _3 = &(*_1);                     // scope 0 at $DIR/inline-trait-method_2.rs:5:10: 5:11
-        _2 = move _3 as &dyn X (Pointer(Unsize)); // scope 0 at $DIR/inline-trait-method_2.rs:5:10: 5:11
-        StorageDead(_3);                 // scope 0 at $DIR/inline-trait-method_2.rs:5:10: 5:11
-        StorageLive(_4);                 // scope 1 at $DIR/inline-trait-method_2.rs:10:5: 10:10
-        _4 = _2;                         // scope 1 at $DIR/inline-trait-method_2.rs:10:5: 10:10
-        _0 = <dyn X as X>::y(move _4) -> bb1; // scope 1 at $DIR/inline-trait-method_2.rs:10:5: 10:10
+        StorageLive(_2);                 // scope 0 at $DIR/inline-trait-method_2.rs:+1:10: +1:11
+        StorageLive(_3);                 // scope 0 at $DIR/inline-trait-method_2.rs:+1:10: +1:11
+        _3 = &(*_1);                     // scope 0 at $DIR/inline-trait-method_2.rs:+1:10: +1:11
+        _2 = move _3 as &dyn X (Pointer(Unsize)); // scope 0 at $DIR/inline-trait-method_2.rs:+1:10: +1:11
+        StorageDead(_3);                 // scope 0 at $DIR/inline-trait-method_2.rs:+1:10: +1:11
+        StorageLive(_4);                 // scope 1 at $DIR/inline-trait-method_2.rs:+6:5: +6:10
+        _4 = _2;                         // scope 1 at $DIR/inline-trait-method_2.rs:+6:5: +6:10
+        _0 = <dyn X as X>::y(move _4) -> bb1; // scope 1 at $DIR/inline-trait-method_2.rs:+6:5: +6:10
                                          // mir::Constant
                                          // + span: $DIR/inline-trait-method_2.rs:10:7: 10:8
                                          // + literal: Const { ty: for<'r> fn(&'r dyn X) -> bool {<dyn X as X>::y}, val: Value(<ZST>) }
     }
 
     bb1: {
-        StorageDead(_4);                 // scope 1 at $DIR/inline-trait-method_2.rs:10:9: 10:10
-        StorageDead(_2);                 // scope 0 at $DIR/inline-trait-method_2.rs:5:11: 5:12
-        return;                          // scope 0 at $DIR/inline-trait-method_2.rs:6:2: 6:2
+        StorageDead(_4);                 // scope 1 at $DIR/inline-trait-method_2.rs:+6:9: +6:10
+        StorageDead(_2);                 // scope 0 at $DIR/inline-trait-method_2.rs:+1:11: +1:12
+        return;                          // scope 0 at $DIR/inline-trait-method_2.rs:+2:2: +2:2
     }
 
     bb2 (cleanup): {
-        resume;                          // scope 0 at $DIR/inline-trait-method_2.rs:4:1: 6:2
+        resume;                          // scope 0 at $DIR/inline-trait-method_2.rs:+0:1: +2:2
     }
 }
index 56a23cde0c7e1c2909daf10ad84c1bf6223df252..e715ff83598f3da6331935dee2b954cf436a65d7 100644 (file)
@@ -1,34 +1,34 @@
 // MIR for `a` after Inline
 
 fn a(_1: &mut [T]) -> &mut [T] {
-    debug x => _1;                       // in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:2:13: 2:14
-    let mut _0: &mut [T];                // return place in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:2:29: 2:37
-    let mut _2: &mut [T];                // in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:3:5: 3:15
-    let mut _3: &mut [T];                // in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:3:5: 3:15
-    let mut _4: &mut [T];                // in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:3:5: 3:15
+    debug x => _1;                       // in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+0:13: +0:14
+    let mut _0: &mut [T];                // return place in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+0:29: +0:37
+    let mut _2: &mut [T];                // in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
+    let mut _3: &mut [T];                // in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
+    let mut _4: &mut [T];                // in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
     scope 1 (inlined <[T] as AsMut<[T]>>::as_mut) { // at $DIR/issue-58867-inline-as-ref-as-mut.rs:3:5: 3:15
         debug self => _4;                // in scope 1 at $SRC_DIR/core/src/convert/mod.rs:LL:COL
         let mut _5: &mut [T];            // in scope 1 at $SRC_DIR/core/src/convert/mod.rs:LL:COL
     }
 
     bb0: {
-        StorageLive(_2);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:3:5: 3:15
-        StorageLive(_3);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:3:5: 3:15
-        StorageLive(_4);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:3:5: 3:15
-        _4 = &mut (*_1);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:3:5: 3:15
+        StorageLive(_2);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
+        StorageLive(_3);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
+        StorageLive(_4);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
+        _4 = &mut (*_1);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
         StorageLive(_5);                 // scope 1 at $SRC_DIR/core/src/convert/mod.rs:LL:COL
         _5 = &mut (*_4);                 // scope 1 at $SRC_DIR/core/src/convert/mod.rs:LL:COL
         _3 = &mut (*_5);                 // scope 1 at $SRC_DIR/core/src/convert/mod.rs:LL:COL
         StorageDead(_5);                 // scope 1 at $SRC_DIR/core/src/convert/mod.rs:LL:COL
-        _2 = &mut (*_3);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:3:5: 3:15
-        StorageDead(_4);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:3:14: 3:15
-        _0 = &mut (*_2);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:3:5: 3:15
-        StorageDead(_3);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:4:1: 4:2
-        StorageDead(_2);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:4:1: 4:2
-        return;                          // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:4:2: 4:2
+        _2 = &mut (*_3);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
+        StorageDead(_4);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:14: +1:15
+        _0 = &mut (*_2);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
+        StorageDead(_3);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+2:1: +2:2
+        StorageDead(_2);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+2:1: +2:2
+        return;                          // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+2:2: +2:2
     }
 
     bb1 (cleanup): {
-        resume;                          // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:2:1: 4:2
+        resume;                          // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+0:1: +2:2
     }
 }
index b45dfb17bfe8257ec1e07dcaf52899795c63e665..8bacced23bd6b8b1a775d526beea41b9b4b756c0 100644 (file)
@@ -1,11 +1,11 @@
 // MIR for `b` after Inline
 
 fn b(_1: &mut Box<T>) -> &mut T {
-    debug x => _1;                       // in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:7:13: 7:14
-    let mut _0: &mut T;                  // return place in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:7:32: 7:38
-    let mut _2: &mut T;                  // in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:8:5: 8:15
-    let mut _3: &mut T;                  // in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:8:5: 8:15
-    let mut _4: &mut std::boxed::Box<T>; // in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:8:5: 8:15
+    debug x => _1;                       // in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+0:13: +0:14
+    let mut _0: &mut T;                  // return place in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+0:32: +0:38
+    let mut _2: &mut T;                  // in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
+    let mut _3: &mut T;                  // in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
+    let mut _4: &mut std::boxed::Box<T>; // in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
     scope 1 (inlined <Box<T> as AsMut<T>>::as_mut) { // at $DIR/issue-58867-inline-as-ref-as-mut.rs:8:5: 8:15
         debug self => _4;                // in scope 1 at $SRC_DIR/alloc/src/boxed.rs:LL:COL
         let mut _5: &mut T;              // in scope 1 at $SRC_DIR/alloc/src/boxed.rs:LL:COL
@@ -15,10 +15,10 @@ fn b(_1: &mut Box<T>) -> &mut T {
     }
 
     bb0: {
-        StorageLive(_2);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:8:5: 8:15
-        StorageLive(_3);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:8:5: 8:15
-        StorageLive(_4);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:8:5: 8:15
-        _4 = &mut (*_1);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:8:5: 8:15
+        StorageLive(_2);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
+        StorageLive(_3);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
+        StorageLive(_4);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
+        _4 = &mut (*_1);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
         StorageLive(_5);                 // scope 1 at $SRC_DIR/alloc/src/boxed.rs:LL:COL
         StorageLive(_6);                 // scope 1 at $SRC_DIR/alloc/src/boxed.rs:LL:COL
         StorageLive(_7);                 // scope 1 at $SRC_DIR/alloc/src/boxed.rs:LL:COL
@@ -32,15 +32,15 @@ fn b(_1: &mut Box<T>) -> &mut T {
         _3 = &mut (*_5);                 // scope 1 at $SRC_DIR/alloc/src/boxed.rs:LL:COL
         StorageDead(_6);                 // scope 1 at $SRC_DIR/alloc/src/boxed.rs:LL:COL
         StorageDead(_5);                 // scope 1 at $SRC_DIR/alloc/src/boxed.rs:LL:COL
-        _2 = &mut (*_3);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:8:5: 8:15
-        StorageDead(_4);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:8:14: 8:15
-        _0 = &mut (*_2);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:8:5: 8:15
-        StorageDead(_3);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:9:1: 9:2
-        StorageDead(_2);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:9:1: 9:2
-        return;                          // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:9:2: 9:2
+        _2 = &mut (*_3);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
+        StorageDead(_4);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:14: +1:15
+        _0 = &mut (*_2);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
+        StorageDead(_3);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+2:1: +2:2
+        StorageDead(_2);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+2:1: +2:2
+        return;                          // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+2:2: +2:2
     }
 
     bb1 (cleanup): {
-        resume;                          // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:7:1: 9:2
+        resume;                          // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+0:1: +2:2
     }
 }
index 326b2ad71c0e54da28fbddf31b44a8d5ff50fb8e..233a1788288fa7c784d60391c62284d5ef3fbde5 100644 (file)
@@ -1,26 +1,26 @@
 // MIR for `c` after Inline
 
 fn c(_1: &[T]) -> &[T] {
-    debug x => _1;                       // in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:12:13: 12:14
-    let mut _0: &[T];                    // return place in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:12:25: 12:29
-    let _2: &[T];                        // in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:13:5: 13:15
-    let mut _3: &[T];                    // in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:13:5: 13:15
+    debug x => _1;                       // in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+0:13: +0:14
+    let mut _0: &[T];                    // return place in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+0:25: +0:29
+    let _2: &[T];                        // in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
+    let mut _3: &[T];                    // in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
     scope 1 (inlined <[T] as AsRef<[T]>>::as_ref) { // at $DIR/issue-58867-inline-as-ref-as-mut.rs:13:5: 13:15
         debug self => _3;                // in scope 1 at $SRC_DIR/core/src/convert/mod.rs:LL:COL
     }
 
     bb0: {
-        StorageLive(_2);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:13:5: 13:15
-        StorageLive(_3);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:13:5: 13:15
-        _3 = &(*_1);                     // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:13:5: 13:15
+        StorageLive(_2);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
+        StorageLive(_3);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
+        _3 = &(*_1);                     // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
         _2 = _3;                         // scope 1 at $SRC_DIR/core/src/convert/mod.rs:LL:COL
-        _0 = &(*_2);                     // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:13:5: 13:15
-        StorageDead(_3);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:13:14: 13:15
-        StorageDead(_2);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:14:1: 14:2
-        return;                          // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:14:2: 14:2
+        _0 = &(*_2);                     // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
+        StorageDead(_3);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:14: +1:15
+        StorageDead(_2);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+2:1: +2:2
+        return;                          // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+2:2: +2:2
     }
 
     bb1 (cleanup): {
-        resume;                          // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:12:1: 14:2
+        resume;                          // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+0:1: +2:2
     }
 }
index 4e8547419ae1fffd8bb805327a177367a73a188c..5b4aeee9e2b5c5ec0e3dada6548f4a3b7a445001 100644 (file)
@@ -1,10 +1,10 @@
 // MIR for `d` after Inline
 
 fn d(_1: &Box<T>) -> &T {
-    debug x => _1;                       // in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:17:13: 17:14
-    let mut _0: &T;                      // return place in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:17:28: 17:30
-    let _2: &T;                          // in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:18:5: 18:15
-    let mut _3: &std::boxed::Box<T>;     // in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:18:5: 18:15
+    debug x => _1;                       // in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+0:13: +0:14
+    let mut _0: &T;                      // return place in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+0:28: +0:30
+    let _2: &T;                          // in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
+    let mut _3: &std::boxed::Box<T>;     // in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
     scope 1 (inlined <Box<T> as AsRef<T>>::as_ref) { // at $DIR/issue-58867-inline-as-ref-as-mut.rs:18:5: 18:15
         debug self => _3;                // in scope 1 at $SRC_DIR/alloc/src/boxed.rs:LL:COL
         let mut _4: std::boxed::Box<T>;  // in scope 1 at $SRC_DIR/alloc/src/boxed.rs:LL:COL
@@ -12,9 +12,9 @@ fn d(_1: &Box<T>) -> &T {
     }
 
     bb0: {
-        StorageLive(_2);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:18:5: 18:15
-        StorageLive(_3);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:18:5: 18:15
-        _3 = &(*_1);                     // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:18:5: 18:15
+        StorageLive(_2);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
+        StorageLive(_3);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
+        _3 = &(*_1);                     // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
         StorageLive(_4);                 // scope 1 at $SRC_DIR/alloc/src/boxed.rs:LL:COL
         _4 = deref_copy (*_3);           // scope 1 at $SRC_DIR/alloc/src/boxed.rs:LL:COL
         StorageLive(_5);                 // scope 1 at $SRC_DIR/alloc/src/boxed.rs:LL:COL
@@ -22,13 +22,13 @@ fn d(_1: &Box<T>) -> &T {
         _2 = &(*_5);                     // scope 1 at $SRC_DIR/alloc/src/boxed.rs:LL:COL
         StorageDead(_5);                 // scope 1 at $SRC_DIR/alloc/src/boxed.rs:LL:COL
         StorageDead(_4);                 // scope 1 at $SRC_DIR/alloc/src/boxed.rs:LL:COL
-        _0 = &(*_2);                     // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:18:5: 18:15
-        StorageDead(_3);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:18:14: 18:15
-        StorageDead(_2);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:19:1: 19:2
-        return;                          // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:19:2: 19:2
+        _0 = &(*_2);                     // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
+        StorageDead(_3);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:14: +1:15
+        StorageDead(_2);                 // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+2:1: +2:2
+        return;                          // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+2:2: +2:2
     }
 
     bb1 (cleanup): {
-        resume;                          // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:17:1: 19:2
+        resume;                          // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+0:1: +2:2
     }
 }
index 242073574f2b224027c1e7c83ec2805c7c815bb1..769ff89fdb7add0e93dfb37d3b620b494d58a181 100644 (file)
@@ -1,46 +1,46 @@
 // MIR for `main` after Inline
 
 fn main() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/issue-76997-inline-scopes-parenting.rs:4:11: 4:11
-    let _1: [closure@$DIR/issue-76997-inline-scopes-parenting.rs:5:13: 5:16]; // in scope 0 at $DIR/issue-76997-inline-scopes-parenting.rs:5:9: 5:10
-    let mut _2: &[closure@$DIR/issue-76997-inline-scopes-parenting.rs:5:13: 5:16]; // in scope 0 at $DIR/issue-76997-inline-scopes-parenting.rs:6:5: 6:6
-    let mut _3: ((),);                   // in scope 0 at $DIR/issue-76997-inline-scopes-parenting.rs:6:5: 6:10
-    let mut _4: ();                      // in scope 0 at $DIR/issue-76997-inline-scopes-parenting.rs:6:7: 6:9
-    let mut _5: ();                      // in scope 0 at $DIR/issue-76997-inline-scopes-parenting.rs:6:5: 6:10
+    let mut _0: ();                      // return place in scope 0 at $DIR/issue-76997-inline-scopes-parenting.rs:+0:11: +0:11
+    let _1: [closure@$DIR/issue-76997-inline-scopes-parenting.rs:5:13: 5:16]; // in scope 0 at $DIR/issue-76997-inline-scopes-parenting.rs:+1:9: +1:10
+    let mut _2: &[closure@$DIR/issue-76997-inline-scopes-parenting.rs:5:13: 5:16]; // in scope 0 at $DIR/issue-76997-inline-scopes-parenting.rs:+2:5: +2:6
+    let mut _3: ((),);                   // in scope 0 at $DIR/issue-76997-inline-scopes-parenting.rs:+2:5: +2:10
+    let mut _4: ();                      // in scope 0 at $DIR/issue-76997-inline-scopes-parenting.rs:+2:7: +2:9
+    let mut _5: ();                      // in scope 0 at $DIR/issue-76997-inline-scopes-parenting.rs:+2:5: +2:10
     scope 1 {
-        debug f => _1;                   // in scope 1 at $DIR/issue-76997-inline-scopes-parenting.rs:5:9: 5:10
+        debug f => _1;                   // in scope 1 at $DIR/issue-76997-inline-scopes-parenting.rs:+1:9: +1:10
         scope 2 (inlined main::{closure#0}) { // at $DIR/issue-76997-inline-scopes-parenting.rs:6:5: 6:10
-            debug x => _5;               // in scope 2 at $DIR/issue-76997-inline-scopes-parenting.rs:5:14: 5:15
-            let _6: ();                  // in scope 2 at $DIR/issue-76997-inline-scopes-parenting.rs:5:23: 5:24
+            debug x => _5;               // in scope 2 at $DIR/issue-76997-inline-scopes-parenting.rs:+1:14: +1:15
+            let _6: ();                  // in scope 2 at $DIR/issue-76997-inline-scopes-parenting.rs:+1:23: +1:24
             scope 3 {
-                debug y => _6;           // in scope 3 at $DIR/issue-76997-inline-scopes-parenting.rs:5:23: 5:24
+                debug y => _6;           // in scope 3 at $DIR/issue-76997-inline-scopes-parenting.rs:+1:23: +1:24
             }
         }
     }
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/issue-76997-inline-scopes-parenting.rs:5:9: 5:10
-        Deinit(_1);                      // scope 0 at $DIR/issue-76997-inline-scopes-parenting.rs:5:13: 5:33
-        StorageLive(_2);                 // scope 1 at $DIR/issue-76997-inline-scopes-parenting.rs:6:5: 6:6
-        _2 = &_1;                        // scope 1 at $DIR/issue-76997-inline-scopes-parenting.rs:6:5: 6:6
-        StorageLive(_3);                 // scope 1 at $DIR/issue-76997-inline-scopes-parenting.rs:6:5: 6:10
-        StorageLive(_4);                 // scope 1 at $DIR/issue-76997-inline-scopes-parenting.rs:6:7: 6:9
-        Deinit(_4);                      // scope 1 at $DIR/issue-76997-inline-scopes-parenting.rs:6:7: 6:9
-        Deinit(_3);                      // scope 1 at $DIR/issue-76997-inline-scopes-parenting.rs:6:5: 6:10
-        (_3.0: ()) = move _4;            // scope 1 at $DIR/issue-76997-inline-scopes-parenting.rs:6:5: 6:10
-        StorageLive(_5);                 // scope 1 at $DIR/issue-76997-inline-scopes-parenting.rs:6:5: 6:10
-        _5 = move (_3.0: ());            // scope 1 at $DIR/issue-76997-inline-scopes-parenting.rs:6:5: 6:10
-        StorageLive(_6);                 // scope 2 at $DIR/issue-76997-inline-scopes-parenting.rs:5:23: 5:24
-        StorageDead(_6);                 // scope 2 at $DIR/issue-76997-inline-scopes-parenting.rs:5:32: 5:33
-        StorageDead(_5);                 // scope 1 at $DIR/issue-76997-inline-scopes-parenting.rs:6:5: 6:10
-        StorageDead(_4);                 // scope 1 at $DIR/issue-76997-inline-scopes-parenting.rs:6:9: 6:10
-        StorageDead(_3);                 // scope 1 at $DIR/issue-76997-inline-scopes-parenting.rs:6:9: 6:10
-        StorageDead(_2);                 // scope 1 at $DIR/issue-76997-inline-scopes-parenting.rs:6:9: 6:10
-        StorageDead(_1);                 // scope 0 at $DIR/issue-76997-inline-scopes-parenting.rs:7:1: 7:2
-        return;                          // scope 0 at $DIR/issue-76997-inline-scopes-parenting.rs:7:2: 7:2
+        StorageLive(_1);                 // scope 0 at $DIR/issue-76997-inline-scopes-parenting.rs:+1:9: +1:10
+        Deinit(_1);                      // scope 0 at $DIR/issue-76997-inline-scopes-parenting.rs:+1:13: +1:33
+        StorageLive(_2);                 // scope 1 at $DIR/issue-76997-inline-scopes-parenting.rs:+2:5: +2:6
+        _2 = &_1;                        // scope 1 at $DIR/issue-76997-inline-scopes-parenting.rs:+2:5: +2:6
+        StorageLive(_3);                 // scope 1 at $DIR/issue-76997-inline-scopes-parenting.rs:+2:5: +2:10
+        StorageLive(_4);                 // scope 1 at $DIR/issue-76997-inline-scopes-parenting.rs:+2:7: +2:9
+        Deinit(_4);                      // scope 1 at $DIR/issue-76997-inline-scopes-parenting.rs:+2:7: +2:9
+        Deinit(_3);                      // scope 1 at $DIR/issue-76997-inline-scopes-parenting.rs:+2:5: +2:10
+        (_3.0: ()) = move _4;            // scope 1 at $DIR/issue-76997-inline-scopes-parenting.rs:+2:5: +2:10
+        StorageLive(_5);                 // scope 1 at $DIR/issue-76997-inline-scopes-parenting.rs:+2:5: +2:10
+        _5 = move (_3.0: ());            // scope 1 at $DIR/issue-76997-inline-scopes-parenting.rs:+2:5: +2:10
+        StorageLive(_6);                 // scope 2 at $DIR/issue-76997-inline-scopes-parenting.rs:+1:23: +1:24
+        StorageDead(_6);                 // scope 2 at $DIR/issue-76997-inline-scopes-parenting.rs:+1:32: +1:33
+        StorageDead(_5);                 // scope 1 at $DIR/issue-76997-inline-scopes-parenting.rs:+2:5: +2:10
+        StorageDead(_4);                 // scope 1 at $DIR/issue-76997-inline-scopes-parenting.rs:+2:9: +2:10
+        StorageDead(_3);                 // scope 1 at $DIR/issue-76997-inline-scopes-parenting.rs:+2:9: +2:10
+        StorageDead(_2);                 // scope 1 at $DIR/issue-76997-inline-scopes-parenting.rs:+2:9: +2:10
+        StorageDead(_1);                 // scope 0 at $DIR/issue-76997-inline-scopes-parenting.rs:+3:1: +3:2
+        return;                          // scope 0 at $DIR/issue-76997-inline-scopes-parenting.rs:+3:2: +3:2
     }
 
     bb1 (cleanup): {
-        resume;                          // scope 0 at $DIR/issue-76997-inline-scopes-parenting.rs:4:1: 7:2
+        resume;                          // scope 0 at $DIR/issue-76997-inline-scopes-parenting.rs:+0:1: +3:2
     }
 }
index f91d3526226269415c9e68597e59897ce2ea0ff6..c16dfdf395eccb9c20af56eb6112c517b1caea17 100644 (file)
@@ -2,31 +2,31 @@
 + // MIR for `bar` after Inline
   
   fn bar(_1: P) -> () {
-      debug _baz => _1;                    // in scope 0 at $DIR/issue-78442.rs:9:5: 9:9
-      let mut _0: ();                      // return place in scope 0 at $DIR/issue-78442.rs:10:3: 10:3
-      let _2: ();                          // in scope 0 at $DIR/issue-78442.rs:11:5: 11:17
-      let mut _3: &fn() {foo};             // in scope 0 at $DIR/issue-78442.rs:11:5: 11:15
-      let _4: fn() {foo};                  // in scope 0 at $DIR/issue-78442.rs:11:5: 11:15
-      let mut _5: ();                      // in scope 0 at $DIR/issue-78442.rs:11:5: 11:17
+      debug _baz => _1;                    // in scope 0 at $DIR/issue-78442.rs:+2:5: +2:9
+      let mut _0: ();                      // return place in scope 0 at $DIR/issue-78442.rs:+3:3: +3:3
+      let _2: ();                          // in scope 0 at $DIR/issue-78442.rs:+4:5: +4:17
+      let mut _3: &fn() {foo};             // in scope 0 at $DIR/issue-78442.rs:+4:5: +4:15
+      let _4: fn() {foo};                  // in scope 0 at $DIR/issue-78442.rs:+4:5: +4:15
+      let mut _5: ();                      // in scope 0 at $DIR/issue-78442.rs:+4:5: +4:17
 +     scope 1 (inlined <fn() {foo} as Fn<()>>::call - shim(fn() {foo})) { // at $DIR/issue-78442.rs:11:5: 11:17
 +     }
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/issue-78442.rs:11:5: 11:17
-          StorageLive(_3);                 // scope 0 at $DIR/issue-78442.rs:11:5: 11:15
-          StorageLive(_4);                 // scope 0 at $DIR/issue-78442.rs:11:5: 11:15
--         _4 = hide_foo() -> [return: bb1, unwind: bb4]; // scope 0 at $DIR/issue-78442.rs:11:5: 11:15
-+         _4 = hide_foo() -> [return: bb1, unwind: bb3]; // scope 0 at $DIR/issue-78442.rs:11:5: 11:15
+          StorageLive(_2);                 // scope 0 at $DIR/issue-78442.rs:+4:5: +4:17
+          StorageLive(_3);                 // scope 0 at $DIR/issue-78442.rs:+4:5: +4:15
+          StorageLive(_4);                 // scope 0 at $DIR/issue-78442.rs:+4:5: +4:15
+-         _4 = hide_foo() -> [return: bb1, unwind: bb4]; // scope 0 at $DIR/issue-78442.rs:+4:5: +4:15
++         _4 = hide_foo() -> [return: bb1, unwind: bb3]; // scope 0 at $DIR/issue-78442.rs:+4:5: +4:15
                                            // mir::Constant
                                            // + span: $DIR/issue-78442.rs:11:5: 11:13
                                            // + literal: Const { ty: fn() -> impl Fn() {hide_foo}, val: Value(<ZST>) }
       }
   
       bb1: {
-          _3 = &_4;                        // scope 0 at $DIR/issue-78442.rs:11:5: 11:15
-          StorageLive(_5);                 // scope 0 at $DIR/issue-78442.rs:11:5: 11:17
-          Deinit(_5);                      // scope 0 at $DIR/issue-78442.rs:11:5: 11:17
--         _2 = <fn() {foo} as Fn<()>>::call(move _3, move _5) -> [return: bb2, unwind: bb4]; // scope 0 at $DIR/issue-78442.rs:11:5: 11:17
+          _3 = &_4;                        // scope 0 at $DIR/issue-78442.rs:+4:5: +4:15
+          StorageLive(_5);                 // scope 0 at $DIR/issue-78442.rs:+4:5: +4:17
+          Deinit(_5);                      // scope 0 at $DIR/issue-78442.rs:+4:5: +4:17
+-         _2 = <fn() {foo} as Fn<()>>::call(move _3, move _5) -> [return: bb2, unwind: bb4]; // scope 0 at $DIR/issue-78442.rs:+4:5: +4:17
 -                                          // mir::Constant
 -                                          // + span: $DIR/issue-78442.rs:11:5: 11:15
 -                                          // + literal: Const { ty: for<'r> extern "rust-call" fn(&'r fn() {foo}, ()) -> <fn() {foo} as FnOnce<()>>::Output {<fn() {foo} as Fn<()>>::call}, val: Value(<ZST>) }
       }
   
       bb2: {
--         StorageDead(_5);                 // scope 0 at $DIR/issue-78442.rs:11:16: 11:17
--         StorageDead(_3);                 // scope 0 at $DIR/issue-78442.rs:11:16: 11:17
--         StorageDead(_4);                 // scope 0 at $DIR/issue-78442.rs:11:17: 11:18
--         StorageDead(_2);                 // scope 0 at $DIR/issue-78442.rs:11:17: 11:18
--         _0 = const ();                   // scope 0 at $DIR/issue-78442.rs:10:3: 12:2
--         drop(_1) -> [return: bb3, unwind: bb5]; // scope 0 at $DIR/issue-78442.rs:12:1: 12:2
-+         return;                          // scope 0 at $DIR/issue-78442.rs:12:2: 12:2
+-         StorageDead(_5);                 // scope 0 at $DIR/issue-78442.rs:+4:16: +4:17
+-         StorageDead(_3);                 // scope 0 at $DIR/issue-78442.rs:+4:16: +4:17
+-         StorageDead(_4);                 // scope 0 at $DIR/issue-78442.rs:+4:17: +4:18
+-         StorageDead(_2);                 // scope 0 at $DIR/issue-78442.rs:+4:17: +4:18
+-         _0 = const ();                   // scope 0 at $DIR/issue-78442.rs:+3:3: +5:2
+-         drop(_1) -> [return: bb3, unwind: bb5]; // scope 0 at $DIR/issue-78442.rs:+5:1: +5:2
++         return;                          // scope 0 at $DIR/issue-78442.rs:+5:2: +5:2
       }
   
 -     bb3: {
--         return;                          // scope 0 at $DIR/issue-78442.rs:12:2: 12:2
+-         return;                          // scope 0 at $DIR/issue-78442.rs:+5:2: +5:2
 +     bb3 (cleanup): {
-+         drop(_1) -> bb4;                 // scope 0 at $DIR/issue-78442.rs:12:1: 12:2
++         drop(_1) -> bb4;                 // scope 0 at $DIR/issue-78442.rs:+5:1: +5:2
       }
   
       bb4 (cleanup): {
--         drop(_1) -> bb5;                 // scope 0 at $DIR/issue-78442.rs:12:1: 12:2
-+         resume;                          // scope 0 at $DIR/issue-78442.rs:7:1: 12:2
+-         drop(_1) -> bb5;                 // scope 0 at $DIR/issue-78442.rs:+5:1: +5:2
++         resume;                          // scope 0 at $DIR/issue-78442.rs:+0:1: +5:2
       }
   
 -     bb5 (cleanup): {
--         resume;                          // scope 0 at $DIR/issue-78442.rs:7:1: 12:2
+-         resume;                          // scope 0 at $DIR/issue-78442.rs:+0:1: +5:2
 +     bb5: {
-+         StorageDead(_5);                 // scope 0 at $DIR/issue-78442.rs:11:16: 11:17
-+         StorageDead(_3);                 // scope 0 at $DIR/issue-78442.rs:11:16: 11:17
-+         StorageDead(_4);                 // scope 0 at $DIR/issue-78442.rs:11:17: 11:18
-+         StorageDead(_2);                 // scope 0 at $DIR/issue-78442.rs:11:17: 11:18
-+         _0 = const ();                   // scope 0 at $DIR/issue-78442.rs:10:3: 12:2
-+         drop(_1) -> [return: bb2, unwind: bb4]; // scope 0 at $DIR/issue-78442.rs:12:1: 12:2
++         StorageDead(_5);                 // scope 0 at $DIR/issue-78442.rs:+4:16: +4:17
++         StorageDead(_3);                 // scope 0 at $DIR/issue-78442.rs:+4:16: +4:17
++         StorageDead(_4);                 // scope 0 at $DIR/issue-78442.rs:+4:17: +4:18
++         StorageDead(_2);                 // scope 0 at $DIR/issue-78442.rs:+4:17: +4:18
++         _0 = const ();                   // scope 0 at $DIR/issue-78442.rs:+3:3: +5:2
++         drop(_1) -> [return: bb2, unwind: bb4]; // scope 0 at $DIR/issue-78442.rs:+5:1: +5:2
       }
   }
   
index 4446280e72004af36292f0cd6b146160c4ce8d59..0faa522cbaa9cb907ba747e1082e0992c6662a63 100644 (file)
@@ -2,31 +2,31 @@
 + // MIR for `bar` after RevealAll
   
   fn bar(_1: P) -> () {
-      debug _baz => _1;                    // in scope 0 at $DIR/issue-78442.rs:9:5: 9:9
-      let mut _0: ();                      // return place in scope 0 at $DIR/issue-78442.rs:10:3: 10:3
-      let _2: ();                          // in scope 0 at $DIR/issue-78442.rs:11:5: 11:17
--     let mut _3: &impl Fn();              // in scope 0 at $DIR/issue-78442.rs:11:5: 11:15
--     let _4: impl Fn();                   // in scope 0 at $DIR/issue-78442.rs:11:5: 11:15
-+     let mut _3: &fn() {foo};             // in scope 0 at $DIR/issue-78442.rs:11:5: 11:15
-+     let _4: fn() {foo};                  // in scope 0 at $DIR/issue-78442.rs:11:5: 11:15
-      let mut _5: ();                      // in scope 0 at $DIR/issue-78442.rs:11:5: 11:17
+      debug _baz => _1;                    // in scope 0 at $DIR/issue-78442.rs:+2:5: +2:9
+      let mut _0: ();                      // return place in scope 0 at $DIR/issue-78442.rs:+3:3: +3:3
+      let _2: ();                          // in scope 0 at $DIR/issue-78442.rs:+4:5: +4:17
+-     let mut _3: &impl Fn();              // in scope 0 at $DIR/issue-78442.rs:+4:5: +4:15
+-     let _4: impl Fn();                   // in scope 0 at $DIR/issue-78442.rs:+4:5: +4:15
++     let mut _3: &fn() {foo};             // in scope 0 at $DIR/issue-78442.rs:+4:5: +4:15
++     let _4: fn() {foo};                  // in scope 0 at $DIR/issue-78442.rs:+4:5: +4:15
+      let mut _5: ();                      // in scope 0 at $DIR/issue-78442.rs:+4:5: +4:17
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/issue-78442.rs:11:5: 11:17
-          StorageLive(_3);                 // scope 0 at $DIR/issue-78442.rs:11:5: 11:15
-          StorageLive(_4);                 // scope 0 at $DIR/issue-78442.rs:11:5: 11:15
-          _4 = hide_foo() -> [return: bb1, unwind: bb4]; // scope 0 at $DIR/issue-78442.rs:11:5: 11:15
+          StorageLive(_2);                 // scope 0 at $DIR/issue-78442.rs:+4:5: +4:17
+          StorageLive(_3);                 // scope 0 at $DIR/issue-78442.rs:+4:5: +4:15
+          StorageLive(_4);                 // scope 0 at $DIR/issue-78442.rs:+4:5: +4:15
+          _4 = hide_foo() -> [return: bb1, unwind: bb4]; // scope 0 at $DIR/issue-78442.rs:+4:5: +4:15
                                            // mir::Constant
                                            // + span: $DIR/issue-78442.rs:11:5: 11:13
                                            // + literal: Const { ty: fn() -> impl Fn() {hide_foo}, val: Value(<ZST>) }
       }
   
       bb1: {
-          _3 = &_4;                        // scope 0 at $DIR/issue-78442.rs:11:5: 11:15
-          StorageLive(_5);                 // scope 0 at $DIR/issue-78442.rs:11:5: 11:17
-          Deinit(_5);                      // scope 0 at $DIR/issue-78442.rs:11:5: 11:17
--         _2 = <impl Fn() as Fn<()>>::call(move _3, move _5) -> [return: bb2, unwind: bb4]; // scope 0 at $DIR/issue-78442.rs:11:5: 11:17
-+         _2 = <fn() {foo} as Fn<()>>::call(move _3, move _5) -> [return: bb2, unwind: bb4]; // scope 0 at $DIR/issue-78442.rs:11:5: 11:17
+          _3 = &_4;                        // scope 0 at $DIR/issue-78442.rs:+4:5: +4:15
+          StorageLive(_5);                 // scope 0 at $DIR/issue-78442.rs:+4:5: +4:17
+          Deinit(_5);                      // scope 0 at $DIR/issue-78442.rs:+4:5: +4:17
+-         _2 = <impl Fn() as Fn<()>>::call(move _3, move _5) -> [return: bb2, unwind: bb4]; // scope 0 at $DIR/issue-78442.rs:+4:5: +4:17
++         _2 = <fn() {foo} as Fn<()>>::call(move _3, move _5) -> [return: bb2, unwind: bb4]; // scope 0 at $DIR/issue-78442.rs:+4:5: +4:17
                                            // mir::Constant
                                            // + span: $DIR/issue-78442.rs:11:5: 11:15
 -                                          // + literal: Const { ty: for<'r> extern "rust-call" fn(&'r impl Fn(), ()) -> <impl Fn() as FnOnce<()>>::Output {<impl Fn() as Fn<()>>::call}, val: Value(<ZST>) }
       }
   
       bb2: {
-          StorageDead(_5);                 // scope 0 at $DIR/issue-78442.rs:11:16: 11:17
-          StorageDead(_3);                 // scope 0 at $DIR/issue-78442.rs:11:16: 11:17
-          StorageDead(_4);                 // scope 0 at $DIR/issue-78442.rs:11:17: 11:18
-          StorageDead(_2);                 // scope 0 at $DIR/issue-78442.rs:11:17: 11:18
-          _0 = const ();                   // scope 0 at $DIR/issue-78442.rs:10:3: 12:2
-          drop(_1) -> [return: bb3, unwind: bb5]; // scope 0 at $DIR/issue-78442.rs:12:1: 12:2
+          StorageDead(_5);                 // scope 0 at $DIR/issue-78442.rs:+4:16: +4:17
+          StorageDead(_3);                 // scope 0 at $DIR/issue-78442.rs:+4:16: +4:17
+          StorageDead(_4);                 // scope 0 at $DIR/issue-78442.rs:+4:17: +4:18
+          StorageDead(_2);                 // scope 0 at $DIR/issue-78442.rs:+4:17: +4:18
+          _0 = const ();                   // scope 0 at $DIR/issue-78442.rs:+3:3: +5:2
+          drop(_1) -> [return: bb3, unwind: bb5]; // scope 0 at $DIR/issue-78442.rs:+5:1: +5:2
       }
   
       bb3: {
-          return;                          // scope 0 at $DIR/issue-78442.rs:12:2: 12:2
+          return;                          // scope 0 at $DIR/issue-78442.rs:+5:2: +5:2
       }
   
       bb4 (cleanup): {
-          drop(_1) -> bb5;                 // scope 0 at $DIR/issue-78442.rs:12:1: 12:2
+          drop(_1) -> bb5;                 // scope 0 at $DIR/issue-78442.rs:+5:1: +5:2
       }
   
       bb5 (cleanup): {
-          resume;                          // scope 0 at $DIR/issue-78442.rs:7:1: 12:2
+          resume;                          // scope 0 at $DIR/issue-78442.rs:+0:1: +5:2
       }
   }
   
index fef696df770b67ad22fb87a90dfaea803a8d7831..b78ef36eadd9808fefc8aa909ac9080a99444639 100644 (file)
@@ -2,12 +2,12 @@
 + // MIR for `bar` after InstrumentCoverage
   
   fn bar() -> bool {
-      let mut _0: bool;                    // return place in scope 0 at /the/src/instrument_coverage.rs:19:13: 19:17
+      let mut _0: bool;                    // return place in scope 0 at /the/src/instrument_coverage.rs:+0:13: +0:17
   
       bb0: {
-+         Coverage::Counter(1) for /the/src/instrument_coverage.rs:19:1 - 21:2; // scope 0 at /the/src/instrument_coverage.rs:21:2: 21:2
-          _0 = const true;                 // scope 0 at /the/src/instrument_coverage.rs:20:5: 20:9
-          return;                          // scope 0 at /the/src/instrument_coverage.rs:21:2: 21:2
++         Coverage::Counter(1) for /the/src/instrument_coverage.rs:19:1 - 21:2; // scope 0 at /the/src/instrument_coverage.rs:+2:2: +2:2
+          _0 = const true;                 // scope 0 at /the/src/instrument_coverage.rs:+1:5: +1:9
+          return;                          // scope 0 at /the/src/instrument_coverage.rs:+2:2: +2:2
       }
   }
   
index 9384ce52cc825e00e73628f4eb9ec8aad6f7e5d5..0490c0df2e6051930329f47630ebd36e451727ef 100644 (file)
@@ -2,50 +2,50 @@
 + // MIR for `main` after InstrumentCoverage
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at /the/src/instrument_coverage.rs:10:11: 10:11
-      let mut _1: ();                      // in scope 0 at /the/src/instrument_coverage.rs:10:1: 16:2
-      let mut _2: bool;                    // in scope 0 at /the/src/instrument_coverage.rs:12:12: 12:17
-      let mut _3: !;                       // in scope 0 at /the/src/instrument_coverage.rs:12:18: 14:10
+      let mut _0: ();                      // return place in scope 0 at /the/src/instrument_coverage.rs:+0:11: +0:11
+      let mut _1: ();                      // in scope 0 at /the/src/instrument_coverage.rs:+0:1: +6:2
+      let mut _2: bool;                    // in scope 0 at /the/src/instrument_coverage.rs:+2:12: +2:17
+      let mut _3: !;                       // in scope 0 at /the/src/instrument_coverage.rs:+2:18: +4:10
   
       bb0: {
-+         Coverage::Counter(1) for /the/src/instrument_coverage.rs:10:1 - 10:11; // scope 0 at /the/src/instrument_coverage.rs:11:5: 15:6
-          goto -> bb1;                     // scope 0 at /the/src/instrument_coverage.rs:11:5: 15:6
++         Coverage::Counter(1) for /the/src/instrument_coverage.rs:10:1 - 10:11; // scope 0 at /the/src/instrument_coverage.rs:+1:5: +5:6
+          goto -> bb1;                     // scope 0 at /the/src/instrument_coverage.rs:+1:5: +5:6
       }
   
       bb1: {
-+         Coverage::Expression(4294967295) = 1 + 2 for /the/src/instrument_coverage.rs:11:5 - 12:17; // scope 0 at /the/src/instrument_coverage.rs:11:5: 15:6
-          falseUnwind -> [real: bb2, cleanup: bb6]; // scope 0 at /the/src/instrument_coverage.rs:11:5: 15:6
++         Coverage::Expression(4294967295) = 1 + 2 for /the/src/instrument_coverage.rs:11:5 - 12:17; // scope 0 at /the/src/instrument_coverage.rs:+1:5: +5:6
+          falseUnwind -> [real: bb2, cleanup: bb6]; // scope 0 at /the/src/instrument_coverage.rs:+1:5: +5:6
       }
   
       bb2: {
-          StorageLive(_2);                 // scope 0 at /the/src/instrument_coverage.rs:12:12: 12:17
-          _2 = bar() -> [return: bb3, unwind: bb6]; // scope 0 at /the/src/instrument_coverage.rs:12:12: 12:17
+          StorageLive(_2);                 // scope 0 at /the/src/instrument_coverage.rs:+2:12: +2:17
+          _2 = bar() -> [return: bb3, unwind: bb6]; // scope 0 at /the/src/instrument_coverage.rs:+2:12: +2:17
                                            // mir::Constant
                                            // + span: /the/src/instrument_coverage.rs:12:12: 12:15
                                            // + literal: Const { ty: fn() -> bool {bar}, val: Value(<ZST>) }
       }
   
       bb3: {
-          switchInt(move _2) -> [false: bb5, otherwise: bb4]; // scope 0 at /the/src/instrument_coverage.rs:12:12: 12:17
+          switchInt(move _2) -> [false: bb5, otherwise: bb4]; // scope 0 at /the/src/instrument_coverage.rs:+2:12: +2:17
       }
   
       bb4: {
-+         Coverage::Expression(4294967293) = 4294967294 + 0 for /the/src/instrument_coverage.rs:16:1 - 16:2; // scope 0 at /the/src/instrument_coverage.rs:16:2: 16:2
-+         Coverage::Expression(4294967294) = 4294967295 - 2 for /the/src/instrument_coverage.rs:13:13 - 13:18; // scope 0 at /the/src/instrument_coverage.rs:16:2: 16:2
-          _0 = const ();                   // scope 0 at /the/src/instrument_coverage.rs:13:13: 13:18
-          StorageDead(_2);                 // scope 0 at /the/src/instrument_coverage.rs:14:9: 14:10
-          return;                          // scope 0 at /the/src/instrument_coverage.rs:16:2: 16:2
++         Coverage::Expression(4294967293) = 4294967294 + 0 for /the/src/instrument_coverage.rs:16:1 - 16:2; // scope 0 at /the/src/instrument_coverage.rs:+6:2: +6:2
++         Coverage::Expression(4294967294) = 4294967295 - 2 for /the/src/instrument_coverage.rs:13:13 - 13:18; // scope 0 at /the/src/instrument_coverage.rs:+6:2: +6:2
+          _0 = const ();                   // scope 0 at /the/src/instrument_coverage.rs:+3:13: +3:18
+          StorageDead(_2);                 // scope 0 at /the/src/instrument_coverage.rs:+4:9: +4:10
+          return;                          // scope 0 at /the/src/instrument_coverage.rs:+6:2: +6:2
       }
   
       bb5: {
-+         Coverage::Counter(2) for /the/src/instrument_coverage.rs:14:10 - 14:11; // scope 0 at /the/src/instrument_coverage.rs:11:5: 15:6
-          _1 = const ();                   // scope 0 at /the/src/instrument_coverage.rs:14:10: 14:10
-          StorageDead(_2);                 // scope 0 at /the/src/instrument_coverage.rs:14:9: 14:10
-          goto -> bb1;                     // scope 0 at /the/src/instrument_coverage.rs:11:5: 15:6
++         Coverage::Counter(2) for /the/src/instrument_coverage.rs:14:10 - 14:11; // scope 0 at /the/src/instrument_coverage.rs:+1:5: +5:6
+          _1 = const ();                   // scope 0 at /the/src/instrument_coverage.rs:+4:10: +4:10
+          StorageDead(_2);                 // scope 0 at /the/src/instrument_coverage.rs:+4:9: +4:10
+          goto -> bb1;                     // scope 0 at /the/src/instrument_coverage.rs:+1:5: +5:6
       }
   
       bb6 (cleanup): {
-          resume;                          // scope 0 at /the/src/instrument_coverage.rs:10:1: 16:2
+          resume;                          // scope 0 at /the/src/instrument_coverage.rs:+0:1: +6:2
       }
   }
   
index a2471e4308b0171169deb8cb78fc8ac833ea0cf7..b13987f7360e6a07eaace1cf376aefd24270b739 100644 (file)
@@ -1,52 +1,52 @@
 // MIR for `main` after SimplifyCfg-initial
 
 fn main() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/issue-38669.rs:4:11: 4:11
-    let mut _1: bool;                    // in scope 0 at $DIR/issue-38669.rs:5:9: 5:25
-    let mut _2: ();                      // in scope 0 at $DIR/issue-38669.rs:4:1: 12:2
-    let _3: ();                          // in scope 0 at $DIR/issue-38669.rs:7:9: 9:10
-    let mut _4: bool;                    // in scope 0 at $DIR/issue-38669.rs:7:12: 7:24
-    let mut _5: !;                       // in scope 0 at $DIR/issue-38669.rs:7:25: 9:10
+    let mut _0: ();                      // return place in scope 0 at $DIR/issue-38669.rs:+0:11: +0:11
+    let mut _1: bool;                    // in scope 0 at $DIR/issue-38669.rs:+1:9: +1:25
+    let mut _2: ();                      // in scope 0 at $DIR/issue-38669.rs:+0:1: +8:2
+    let _3: ();                          // in scope 0 at $DIR/issue-38669.rs:+3:9: +5:10
+    let mut _4: bool;                    // in scope 0 at $DIR/issue-38669.rs:+3:12: +3:24
+    let mut _5: !;                       // in scope 0 at $DIR/issue-38669.rs:+3:25: +5:10
     scope 1 {
-        debug should_break => _1;        // in scope 1 at $DIR/issue-38669.rs:5:9: 5:25
+        debug should_break => _1;        // in scope 1 at $DIR/issue-38669.rs:+1:9: +1:25
     }
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/issue-38669.rs:5:9: 5:25
-        _1 = const false;                // scope 0 at $DIR/issue-38669.rs:5:28: 5:33
-        FakeRead(ForLet(None), _1);      // scope 0 at $DIR/issue-38669.rs:5:9: 5:25
-        goto -> bb1;                     // scope 1 at $DIR/issue-38669.rs:6:5: 11:6
+        StorageLive(_1);                 // scope 0 at $DIR/issue-38669.rs:+1:9: +1:25
+        _1 = const false;                // scope 0 at $DIR/issue-38669.rs:+1:28: +1:33
+        FakeRead(ForLet(None), _1);      // scope 0 at $DIR/issue-38669.rs:+1:9: +1:25
+        goto -> bb1;                     // scope 1 at $DIR/issue-38669.rs:+2:5: +7:6
     }
 
     bb1: {
-        falseUnwind -> [real: bb2, cleanup: bb5]; // scope 1 at $DIR/issue-38669.rs:6:5: 11:6
+        falseUnwind -> [real: bb2, cleanup: bb5]; // scope 1 at $DIR/issue-38669.rs:+2:5: +7:6
     }
 
     bb2: {
-        StorageLive(_3);                 // scope 1 at $DIR/issue-38669.rs:7:9: 9:10
-        StorageLive(_4);                 // scope 1 at $DIR/issue-38669.rs:7:12: 7:24
-        _4 = _1;                         // scope 1 at $DIR/issue-38669.rs:7:12: 7:24
-        switchInt(move _4) -> [false: bb4, otherwise: bb3]; // scope 1 at $DIR/issue-38669.rs:7:12: 7:24
+        StorageLive(_3);                 // scope 1 at $DIR/issue-38669.rs:+3:9: +5:10
+        StorageLive(_4);                 // scope 1 at $DIR/issue-38669.rs:+3:12: +3:24
+        _4 = _1;                         // scope 1 at $DIR/issue-38669.rs:+3:12: +3:24
+        switchInt(move _4) -> [false: bb4, otherwise: bb3]; // scope 1 at $DIR/issue-38669.rs:+3:12: +3:24
     }
 
     bb3: {
-        _0 = const ();                   // scope 1 at $DIR/issue-38669.rs:8:13: 8:18
-        StorageDead(_4);                 // scope 1 at $DIR/issue-38669.rs:9:9: 9:10
-        StorageDead(_3);                 // scope 1 at $DIR/issue-38669.rs:9:9: 9:10
-        StorageDead(_1);                 // scope 0 at $DIR/issue-38669.rs:12:1: 12:2
-        return;                          // scope 0 at $DIR/issue-38669.rs:12:2: 12:2
+        _0 = const ();                   // scope 1 at $DIR/issue-38669.rs:+4:13: +4:18
+        StorageDead(_4);                 // scope 1 at $DIR/issue-38669.rs:+5:9: +5:10
+        StorageDead(_3);                 // scope 1 at $DIR/issue-38669.rs:+5:9: +5:10
+        StorageDead(_1);                 // scope 0 at $DIR/issue-38669.rs:+8:1: +8:2
+        return;                          // scope 0 at $DIR/issue-38669.rs:+8:2: +8:2
     }
 
     bb4: {
-        _3 = const ();                   // scope 1 at $DIR/issue-38669.rs:9:10: 9:10
-        StorageDead(_4);                 // scope 1 at $DIR/issue-38669.rs:9:9: 9:10
-        StorageDead(_3);                 // scope 1 at $DIR/issue-38669.rs:9:9: 9:10
-        _1 = const true;                 // scope 1 at $DIR/issue-38669.rs:10:9: 10:28
-        _2 = const ();                   // scope 1 at $DIR/issue-38669.rs:6:10: 11:6
-        goto -> bb1;                     // scope 1 at $DIR/issue-38669.rs:6:5: 11:6
+        _3 = const ();                   // scope 1 at $DIR/issue-38669.rs:+5:10: +5:10
+        StorageDead(_4);                 // scope 1 at $DIR/issue-38669.rs:+5:9: +5:10
+        StorageDead(_3);                 // scope 1 at $DIR/issue-38669.rs:+5:9: +5:10
+        _1 = const true;                 // scope 1 at $DIR/issue-38669.rs:+6:9: +6:28
+        _2 = const ();                   // scope 1 at $DIR/issue-38669.rs:+2:10: +7:6
+        goto -> bb1;                     // scope 1 at $DIR/issue-38669.rs:+2:5: +7:6
     }
 
     bb5 (cleanup): {
-        resume;                          // scope 0 at $DIR/issue-38669.rs:4:1: 12:2
+        resume;                          // scope 0 at $DIR/issue-38669.rs:+0:1: +8:2
     }
 }
index 19110894dc720e4b993a3805f6f4e535ea42d3dc..1d7cb91d6a7e8515a0058ea1aa805ea38563025c 100644 (file)
@@ -1,70 +1,70 @@
 // MIR for `main` after ElaborateDrops
 
 fn main() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/issue-41110.rs:7:11: 7:11
-    let _1: ();                          // in scope 0 at $DIR/issue-41110.rs:8:9: 8:10
-    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
+    let mut _0: ();                      // return place in scope 0 at $DIR/issue-41110.rs:+0:11: +0:11
+    let _1: ();                          // in scope 0 at $DIR/issue-41110.rs:+1:9: +1:10
+    let mut _2: S;                       // in scope 0 at $DIR/issue-41110.rs:+1:13: +1:14
+    let mut _3: S;                       // in scope 0 at $DIR/issue-41110.rs:+1:21: +1:27
+    let mut _4: S;                       // in scope 0 at $DIR/issue-41110.rs:+1:21: +1:22
+    let mut _5: bool;                    // in scope 0 at $DIR/issue-41110.rs:+1:27: +1:28
     scope 1 {
-        debug x => _1;                   // in scope 1 at $DIR/issue-41110.rs:8:9: 8:10
+        debug x => _1;                   // in scope 1 at $DIR/issue-41110.rs:+1:9: +1: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: bb4]; // scope 0 at $DIR/issue-41110.rs:8:21: 8:27
+        _5 = const false;                // scope 0 at $DIR/issue-41110.rs:+1:9: +1:10
+        StorageLive(_1);                 // scope 0 at $DIR/issue-41110.rs:+1:9: +1:10
+        StorageLive(_2);                 // scope 0 at $DIR/issue-41110.rs:+1:13: +1:14
+        _5 = const true;                 // scope 0 at $DIR/issue-41110.rs:+1:13: +1:14
+        _2 = S;                          // scope 0 at $DIR/issue-41110.rs:+1:13: +1:14
+        StorageLive(_3);                 // scope 0 at $DIR/issue-41110.rs:+1:21: +1:27
+        StorageLive(_4);                 // scope 0 at $DIR/issue-41110.rs:+1:21: +1:22
+        _4 = S;                          // scope 0 at $DIR/issue-41110.rs:+1:21: +1:22
+        _3 = S::id(move _4) -> [return: bb1, unwind: bb4]; // scope 0 at $DIR/issue-41110.rs:+1:21: +1:27
                                          // mir::Constant
                                          // + span: $DIR/issue-41110.rs:8:23: 8:25
                                          // + literal: Const { ty: fn(S) -> S {S::id}, val: Value(<ZST>) }
     }
 
     bb1: {
-        StorageDead(_4);                 // scope 0 at $DIR/issue-41110.rs:8:26: 8:27
-        _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
+        StorageDead(_4);                 // scope 0 at $DIR/issue-41110.rs:+1:26: +1:27
+        _5 = const false;                // scope 0 at $DIR/issue-41110.rs:+1:13: +1:28
+        _1 = S::other(move _2, move _3) -> [return: bb2, unwind: bb3]; // scope 0 at $DIR/issue-41110.rs:+1:13: +1:28
                                          // mir::Constant
                                          // + span: $DIR/issue-41110.rs:8:15: 8:20
                                          // + literal: Const { ty: fn(S, S) {S::other}, val: Value(<ZST>) }
     }
 
     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
-        return;                          // scope 0 at $DIR/issue-41110.rs:9:2: 9:2
+        StorageDead(_3);                 // scope 0 at $DIR/issue-41110.rs:+1:27: +1:28
+        _5 = const false;                // scope 0 at $DIR/issue-41110.rs:+1:27: +1:28
+        StorageDead(_2);                 // scope 0 at $DIR/issue-41110.rs:+1:27: +1:28
+        _0 = const ();                   // scope 0 at $DIR/issue-41110.rs:+0:11: +2:2
+        StorageDead(_1);                 // scope 0 at $DIR/issue-41110.rs:+2:1: +2:2
+        return;                          // scope 0 at $DIR/issue-41110.rs:+2:2: +2:2
     }
 
     bb3 (cleanup): {
-        goto -> bb5;                     // scope 0 at $DIR/issue-41110.rs:8:27: 8:28
+        goto -> bb5;                     // scope 0 at $DIR/issue-41110.rs:+1:27: +1:28
     }
 
     bb4 (cleanup): {
-        goto -> bb5;                     // scope 0 at $DIR/issue-41110.rs:8:26: 8:27
+        goto -> bb5;                     // scope 0 at $DIR/issue-41110.rs:+1:26: +1:27
     }
 
     bb5 (cleanup): {
-        goto -> bb8;                     // scope 0 at $DIR/issue-41110.rs:8:27: 8:28
+        goto -> bb8;                     // scope 0 at $DIR/issue-41110.rs:+1:27: +1:28
     }
 
     bb6 (cleanup): {
-        resume;                          // scope 0 at $DIR/issue-41110.rs:7:1: 9:2
+        resume;                          // scope 0 at $DIR/issue-41110.rs:+0:1: +2:2
     }
 
     bb7 (cleanup): {
-        drop(_2) -> bb6;                 // scope 0 at $DIR/issue-41110.rs:8:27: 8:28
+        drop(_2) -> bb6;                 // scope 0 at $DIR/issue-41110.rs:+1:27: +1:28
     }
 
     bb8 (cleanup): {
-        switchInt(_5) -> [false: bb6, otherwise: bb7]; // scope 0 at $DIR/issue-41110.rs:8:27: 8:28
+        switchInt(_5) -> [false: bb6, otherwise: bb7]; // scope 0 at $DIR/issue-41110.rs:+1:27: +1:28
     }
 }
index 1901ea1747ed2fbde2ab6b39aa9ee6d92bac88a3..b0e3496b2c8ebd638b921d86cc710b4dc250173c 100644 (file)
 // MIR for `test` after ElaborateDrops
 
 fn test() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/issue-41110.rs:14:15: 14:15
-    let _1: S;                           // in scope 0 at $DIR/issue-41110.rs:15:9: 15:10
-    let _3: ();                          // in scope 0 at $DIR/issue-41110.rs:17:5: 17:12
-    let mut _4: S;                       // in scope 0 at $DIR/issue-41110.rs:17:10: 17:11
-    let mut _5: S;                       // in scope 0 at $DIR/issue-41110.rs:18:9: 18:10
-    let mut _6: bool;                    // in scope 0 at $DIR/issue-41110.rs:19:1: 19:2
+    let mut _0: ();                      // return place in scope 0 at $DIR/issue-41110.rs:+0:15: +0:15
+    let _1: S;                           // in scope 0 at $DIR/issue-41110.rs:+1:9: +1:10
+    let _3: ();                          // in scope 0 at $DIR/issue-41110.rs:+3:5: +3:12
+    let mut _4: S;                       // in scope 0 at $DIR/issue-41110.rs:+3:10: +3:11
+    let mut _5: S;                       // in scope 0 at $DIR/issue-41110.rs:+4:9: +4:10
+    let mut _6: bool;                    // in scope 0 at $DIR/issue-41110.rs:+5:1: +5:2
     scope 1 {
-        debug u => _1;                   // in scope 1 at $DIR/issue-41110.rs:15:9: 15:10
-        let mut _2: S;                   // in scope 1 at $DIR/issue-41110.rs:16:9: 16:14
+        debug u => _1;                   // in scope 1 at $DIR/issue-41110.rs:+1:9: +1:10
+        let mut _2: S;                   // in scope 1 at $DIR/issue-41110.rs:+2:9: +2:14
         scope 2 {
-            debug v => _2;               // in scope 2 at $DIR/issue-41110.rs:16:9: 16:14
+            debug v => _2;               // in scope 2 at $DIR/issue-41110.rs:+2:9: +2:14
         }
     }
 
     bb0: {
-        _6 = const false;                // scope 0 at $DIR/issue-41110.rs:15:9: 15:10
-        StorageLive(_1);                 // scope 0 at $DIR/issue-41110.rs:15:9: 15:10
-        _6 = const true;                 // scope 0 at $DIR/issue-41110.rs:15:13: 15:14
-        _1 = S;                          // scope 0 at $DIR/issue-41110.rs:15:13: 15:14
-        StorageLive(_2);                 // scope 1 at $DIR/issue-41110.rs:16:9: 16:14
-        _2 = S;                          // scope 1 at $DIR/issue-41110.rs:16:17: 16:18
-        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: bb7]; // scope 2 at $DIR/issue-41110.rs:17:5: 17:12
+        _6 = const false;                // scope 0 at $DIR/issue-41110.rs:+1:9: +1:10
+        StorageLive(_1);                 // scope 0 at $DIR/issue-41110.rs:+1:9: +1:10
+        _6 = const true;                 // scope 0 at $DIR/issue-41110.rs:+1:13: +1:14
+        _1 = S;                          // scope 0 at $DIR/issue-41110.rs:+1:13: +1:14
+        StorageLive(_2);                 // scope 1 at $DIR/issue-41110.rs:+2:9: +2:14
+        _2 = S;                          // scope 1 at $DIR/issue-41110.rs:+2:17: +2:18
+        StorageLive(_3);                 // scope 2 at $DIR/issue-41110.rs:+3:5: +3:12
+        StorageLive(_4);                 // scope 2 at $DIR/issue-41110.rs:+3:10: +3:11
+        _4 = move _2;                    // scope 2 at $DIR/issue-41110.rs:+3:10: +3:11
+        _3 = std::mem::drop::<S>(move _4) -> [return: bb1, unwind: bb7]; // scope 2 at $DIR/issue-41110.rs:+3:5: +3:12
                                          // mir::Constant
                                          // + span: $DIR/issue-41110.rs:17:5: 17:9
                                          // + literal: Const { ty: fn(S) {std::mem::drop::<S>}, val: Value(<ZST>) }
     }
 
     bb1: {
-        StorageDead(_4);                 // scope 2 at $DIR/issue-41110.rs:17:11: 17:12
-        StorageDead(_3);                 // scope 2 at $DIR/issue-41110.rs:17:12: 17:13
-        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 -> bb12;                    // scope 2 at $DIR/issue-41110.rs:18:5: 18:6
+        StorageDead(_4);                 // scope 2 at $DIR/issue-41110.rs:+3:11: +3:12
+        StorageDead(_3);                 // scope 2 at $DIR/issue-41110.rs:+3:12: +3:13
+        StorageLive(_5);                 // scope 2 at $DIR/issue-41110.rs:+4:9: +4:10
+        _6 = const false;                // scope 2 at $DIR/issue-41110.rs:+4:9: +4:10
+        _5 = move _1;                    // scope 2 at $DIR/issue-41110.rs:+4:9: +4:10
+        goto -> bb12;                    // scope 2 at $DIR/issue-41110.rs:+4:5: +4:6
     }
 
     bb2: {
-        goto -> bb3;                     // scope 2 at $DIR/issue-41110.rs:18:9: 18:10
+        goto -> bb3;                     // scope 2 at $DIR/issue-41110.rs:+4:9: +4: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: bb4, unwind: bb9]; // scope 1 at $DIR/issue-41110.rs:19:1: 19:2
+        StorageDead(_5);                 // scope 2 at $DIR/issue-41110.rs:+4:9: +4:10
+        _0 = const ();                   // scope 0 at $DIR/issue-41110.rs:+0:15: +5:2
+        drop(_2) -> [return: bb4, unwind: bb9]; // scope 1 at $DIR/issue-41110.rs:+5:1: +5:2
     }
 
     bb4: {
-        StorageDead(_2);                 // scope 1 at $DIR/issue-41110.rs:19:1: 19:2
-        goto -> bb5;                     // scope 0 at $DIR/issue-41110.rs:19:1: 19:2
+        StorageDead(_2);                 // scope 1 at $DIR/issue-41110.rs:+5:1: +5:2
+        goto -> bb5;                     // scope 0 at $DIR/issue-41110.rs:+5:1: +5:2
     }
 
     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
+        _6 = const false;                // scope 0 at $DIR/issue-41110.rs:+5:1: +5:2
+        StorageDead(_1);                 // scope 0 at $DIR/issue-41110.rs:+5:1: +5:2
+        return;                          // scope 0 at $DIR/issue-41110.rs:+5:2: +5:2
     }
 
     bb6 (cleanup): {
-        goto -> bb8;                     // scope 2 at $DIR/issue-41110.rs:18:9: 18:10
+        goto -> bb8;                     // scope 2 at $DIR/issue-41110.rs:+4:9: +4:10
     }
 
     bb7 (cleanup): {
-        goto -> bb8;                     // scope 2 at $DIR/issue-41110.rs:17:11: 17:12
+        goto -> bb8;                     // scope 2 at $DIR/issue-41110.rs:+3:11: +3:12
     }
 
     bb8 (cleanup): {
-        goto -> bb9;                     // scope 1 at $DIR/issue-41110.rs:19:1: 19:2
+        goto -> bb9;                     // scope 1 at $DIR/issue-41110.rs:+5:1: +5:2
     }
 
     bb9 (cleanup): {
-        goto -> bb14;                    // scope 0 at $DIR/issue-41110.rs:19:1: 19:2
+        goto -> bb14;                    // scope 0 at $DIR/issue-41110.rs:+5:1: +5:2
     }
 
     bb10 (cleanup): {
-        resume;                          // scope 0 at $DIR/issue-41110.rs:14:1: 19:2
+        resume;                          // scope 0 at $DIR/issue-41110.rs:+0:1: +5:2
     }
 
     bb11 (cleanup): {
-        _2 = move _5;                    // scope 2 at $DIR/issue-41110.rs:18:5: 18:6
-        goto -> bb6;                     // scope 2 at $DIR/issue-41110.rs:18:5: 18:6
+        _2 = move _5;                    // scope 2 at $DIR/issue-41110.rs:+4:5: +4:6
+        goto -> bb6;                     // scope 2 at $DIR/issue-41110.rs:+4:5: +4:6
     }
 
     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
+        _2 = move _5;                    // scope 2 at $DIR/issue-41110.rs:+4:5: +4:6
+        goto -> bb2;                     // scope 2 at $DIR/issue-41110.rs:+4:5: +4:6
     }
 
     bb13 (cleanup): {
-        drop(_1) -> bb10;                // scope 0 at $DIR/issue-41110.rs:19:1: 19:2
+        drop(_1) -> bb10;                // scope 0 at $DIR/issue-41110.rs:+5:1: +5:2
     }
 
     bb14 (cleanup): {
-        switchInt(_6) -> [false: bb10, otherwise: bb13]; // scope 0 at $DIR/issue-41110.rs:19:1: 19:2
+        switchInt(_6) -> [false: bb10, otherwise: bb13]; // scope 0 at $DIR/issue-41110.rs:+5:1: +5:2
     }
 }
index 701e291f46ecfd163ce79d14e26abb43e40f7d60..047b24db46643fe1aaed39e2f6cac7d355fc70b6 100644 (file)
@@ -1,20 +1,20 @@
 // MIR for `<impl at $DIR/issue-41697.rs:18:1: 18:23>::{constant#0}` after SimplifyCfg-promote-consts
 
 <impl at $DIR/issue-41697.rs:18:1: 18:23>::{constant#0}: usize = {
-    let mut _0: usize;                   // return place in scope 0 at $DIR/issue-41697.rs:18:19: 18:22
-    let mut _1: (usize, bool);           // in scope 0 at $DIR/issue-41697.rs:18:19: 18:22
+    let mut _0: usize;                   // return place in scope 0 at $DIR/issue-41697.rs:+0:19: +0:22
+    let mut _1: (usize, bool);           // in scope 0 at $DIR/issue-41697.rs:+0:19: +0:22
 
     bb0: {
-        _1 = CheckedAdd(const 1_usize, const 1_usize); // scope 0 at $DIR/issue-41697.rs:18:19: 18:22
-        assert(!move (_1.1: bool), "attempt to compute `{} + {}`, which would overflow", const 1_usize, const 1_usize) -> [success: bb1, unwind: bb2]; // scope 0 at $DIR/issue-41697.rs:18:19: 18:22
+        _1 = CheckedAdd(const 1_usize, const 1_usize); // scope 0 at $DIR/issue-41697.rs:+0:19: +0:22
+        assert(!move (_1.1: bool), "attempt to compute `{} + {}`, which would overflow", const 1_usize, const 1_usize) -> [success: bb1, unwind: bb2]; // scope 0 at $DIR/issue-41697.rs:+0:19: +0:22
     }
 
     bb1: {
-        _0 = move (_1.0: usize);         // scope 0 at $DIR/issue-41697.rs:18:19: 18:22
-        return;                          // scope 0 at $DIR/issue-41697.rs:18:19: 18:22
+        _0 = move (_1.0: usize);         // scope 0 at $DIR/issue-41697.rs:+0:19: +0:22
+        return;                          // scope 0 at $DIR/issue-41697.rs:+0:19: +0:22
     }
 
     bb2 (cleanup): {
-        resume;                          // scope 0 at $DIR/issue-41697.rs:18:19: 18:22
+        resume;                          // scope 0 at $DIR/issue-41697.rs:+0:19: +0:22
     }
 }
index 701e291f46ecfd163ce79d14e26abb43e40f7d60..047b24db46643fe1aaed39e2f6cac7d355fc70b6 100644 (file)
@@ -1,20 +1,20 @@
 // MIR for `<impl at $DIR/issue-41697.rs:18:1: 18:23>::{constant#0}` after SimplifyCfg-promote-consts
 
 <impl at $DIR/issue-41697.rs:18:1: 18:23>::{constant#0}: usize = {
-    let mut _0: usize;                   // return place in scope 0 at $DIR/issue-41697.rs:18:19: 18:22
-    let mut _1: (usize, bool);           // in scope 0 at $DIR/issue-41697.rs:18:19: 18:22
+    let mut _0: usize;                   // return place in scope 0 at $DIR/issue-41697.rs:+0:19: +0:22
+    let mut _1: (usize, bool);           // in scope 0 at $DIR/issue-41697.rs:+0:19: +0:22
 
     bb0: {
-        _1 = CheckedAdd(const 1_usize, const 1_usize); // scope 0 at $DIR/issue-41697.rs:18:19: 18:22
-        assert(!move (_1.1: bool), "attempt to compute `{} + {}`, which would overflow", const 1_usize, const 1_usize) -> [success: bb1, unwind: bb2]; // scope 0 at $DIR/issue-41697.rs:18:19: 18:22
+        _1 = CheckedAdd(const 1_usize, const 1_usize); // scope 0 at $DIR/issue-41697.rs:+0:19: +0:22
+        assert(!move (_1.1: bool), "attempt to compute `{} + {}`, which would overflow", const 1_usize, const 1_usize) -> [success: bb1, unwind: bb2]; // scope 0 at $DIR/issue-41697.rs:+0:19: +0:22
     }
 
     bb1: {
-        _0 = move (_1.0: usize);         // scope 0 at $DIR/issue-41697.rs:18:19: 18:22
-        return;                          // scope 0 at $DIR/issue-41697.rs:18:19: 18:22
+        _0 = move (_1.0: usize);         // scope 0 at $DIR/issue-41697.rs:+0:19: +0:22
+        return;                          // scope 0 at $DIR/issue-41697.rs:+0:19: +0:22
     }
 
     bb2 (cleanup): {
-        resume;                          // scope 0 at $DIR/issue-41697.rs:18:19: 18:22
+        resume;                          // scope 0 at $DIR/issue-41697.rs:+0:19: +0:22
     }
 }
index a4ff718f42258efae5cc806700d11f7a3f8d41ad..f95a0a1c013bcfd4d5abad3ee736bcf29ba9c997 100644 (file)
 // MIR for `main` after ElaborateDrops
 
 fn main() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/issue-41888.rs:6:11: 6:11
-    let _1: E;                           // in scope 0 at $DIR/issue-41888.rs:7:9: 7:10
-    let mut _2: bool;                    // in scope 0 at $DIR/issue-41888.rs:8:8: 8:14
-    let mut _3: E;                       // in scope 0 at $DIR/issue-41888.rs:9:13: 9:20
-    let mut _4: K;                       // in scope 0 at $DIR/issue-41888.rs:9:18: 9:19
-    let mut _5: isize;                   // in scope 0 at $DIR/issue-41888.rs:10:16: 10:24
-    let mut _7: bool;                    // in scope 0 at $DIR/issue-41888.rs:15:1: 15:2
-    let mut _8: bool;                    // in scope 0 at $DIR/issue-41888.rs:15:1: 15:2
-    let mut _9: bool;                    // in scope 0 at $DIR/issue-41888.rs:15:1: 15:2
-    let mut _10: isize;                  // in scope 0 at $DIR/issue-41888.rs:15:1: 15:2
-    let mut _11: isize;                  // in scope 0 at $DIR/issue-41888.rs:15:1: 15:2
+    let mut _0: ();                      // return place in scope 0 at $DIR/issue-41888.rs:+0:11: +0:11
+    let _1: E;                           // in scope 0 at $DIR/issue-41888.rs:+1:9: +1:10
+    let mut _2: bool;                    // in scope 0 at $DIR/issue-41888.rs:+2:8: +2:14
+    let mut _3: E;                       // in scope 0 at $DIR/issue-41888.rs:+3:13: +3:20
+    let mut _4: K;                       // in scope 0 at $DIR/issue-41888.rs:+3:18: +3:19
+    let mut _5: isize;                   // in scope 0 at $DIR/issue-41888.rs:+4:16: +4:24
+    let mut _7: bool;                    // in scope 0 at $DIR/issue-41888.rs:+9:1: +9:2
+    let mut _8: bool;                    // in scope 0 at $DIR/issue-41888.rs:+9:1: +9:2
+    let mut _9: bool;                    // in scope 0 at $DIR/issue-41888.rs:+9:1: +9:2
+    let mut _10: isize;                  // in scope 0 at $DIR/issue-41888.rs:+9:1: +9:2
+    let mut _11: isize;                  // in scope 0 at $DIR/issue-41888.rs:+9:1: +9:2
     scope 1 {
-        debug e => _1;                   // in scope 1 at $DIR/issue-41888.rs:7:9: 7:10
+        debug e => _1;                   // in scope 1 at $DIR/issue-41888.rs:+1:9: +1:10
         scope 2 {
-            debug _k => _6;              // in scope 2 at $DIR/issue-41888.rs:10:21: 10:23
-            let _6: K;                   // in scope 2 at $DIR/issue-41888.rs:10:21: 10:23
+            debug _k => _6;              // in scope 2 at $DIR/issue-41888.rs:+4:21: +4:23
+            let _6: K;                   // in scope 2 at $DIR/issue-41888.rs:+4:21: +4:23
         }
     }
 
     bb0: {
-        _9 = const false;                // scope 0 at $DIR/issue-41888.rs:7:9: 7:10
-        _7 = const false;                // scope 0 at $DIR/issue-41888.rs:7:9: 7:10
-        _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: bb11]; // scope 1 at $DIR/issue-41888.rs:8:8: 8:14
+        _9 = const false;                // scope 0 at $DIR/issue-41888.rs:+1:9: +1:10
+        _7 = const false;                // scope 0 at $DIR/issue-41888.rs:+1:9: +1:10
+        _8 = const false;                // scope 0 at $DIR/issue-41888.rs:+1:9: +1:10
+        StorageLive(_1);                 // scope 0 at $DIR/issue-41888.rs:+1:9: +1:10
+        StorageLive(_2);                 // scope 1 at $DIR/issue-41888.rs:+2:8: +2:14
+        _2 = cond() -> [return: bb1, unwind: bb11]; // scope 1 at $DIR/issue-41888.rs:+2:8: +2:14
                                          // mir::Constant
                                          // + span: $DIR/issue-41888.rs:8:8: 8:12
                                          // + literal: Const { ty: fn() -> bool {cond}, val: Value(<ZST>) }
     }
 
     bb1: {
-        switchInt(move _2) -> [false: bb7, otherwise: bb2]; // scope 1 at $DIR/issue-41888.rs:8:8: 8:14
+        switchInt(move _2) -> [false: bb7, otherwise: bb2]; // scope 1 at $DIR/issue-41888.rs:+2:8: +2:14
     }
 
     bb2: {
-        StorageLive(_3);                 // scope 1 at $DIR/issue-41888.rs:9:13: 9:20
-        StorageLive(_4);                 // scope 1 at $DIR/issue-41888.rs:9:18: 9:19
-        _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 -> bb14;                    // scope 1 at $DIR/issue-41888.rs:9:9: 9:10
+        StorageLive(_3);                 // scope 1 at $DIR/issue-41888.rs:+3:13: +3:20
+        StorageLive(_4);                 // scope 1 at $DIR/issue-41888.rs:+3:18: +3:19
+        _4 = K;                          // scope 1 at $DIR/issue-41888.rs:+3:18: +3:19
+        _3 = E::F(move _4);              // scope 1 at $DIR/issue-41888.rs:+3:13: +3:20
+        StorageDead(_4);                 // scope 1 at $DIR/issue-41888.rs:+3:19: +3:20
+        goto -> bb14;                    // scope 1 at $DIR/issue-41888.rs:+3:9: +3:10
     }
 
     bb3: {
-        goto -> bb4;                     // scope 1 at $DIR/issue-41888.rs:9:19: 9:20
+        goto -> bb4;                     // scope 1 at $DIR/issue-41888.rs:+3:19: +3:20
     }
 
     bb4: {
-        StorageDead(_3);                 // scope 1 at $DIR/issue-41888.rs:9:19: 9:20
-        _5 = discriminant(_1);           // scope 2 at $DIR/issue-41888.rs:10:16: 10:24
-        switchInt(move _5) -> [0_isize: bb5, otherwise: bb6]; // scope 2 at $DIR/issue-41888.rs:10:16: 10:24
+        StorageDead(_3);                 // scope 1 at $DIR/issue-41888.rs:+3:19: +3:20
+        _5 = discriminant(_1);           // scope 2 at $DIR/issue-41888.rs:+4:16: +4:24
+        switchInt(move _5) -> [0_isize: bb5, otherwise: bb6]; // scope 2 at $DIR/issue-41888.rs:+4:16: +4:24
     }
 
     bb5: {
-        StorageLive(_6);                 // scope 2 at $DIR/issue-41888.rs:10:21: 10:23
-        _9 = const false;                // scope 2 at $DIR/issue-41888.rs:10:21: 10:23
-        _6 = move ((_1 as F).0: K);      // scope 2 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 -> bb8;                     // scope 1 at $DIR/issue-41888.rs:10:9: 13:10
+        StorageLive(_6);                 // scope 2 at $DIR/issue-41888.rs:+4:21: +4:23
+        _9 = const false;                // scope 2 at $DIR/issue-41888.rs:+4:21: +4:23
+        _6 = move ((_1 as F).0: K);      // scope 2 at $DIR/issue-41888.rs:+4:21: +4:23
+        _0 = const ();                   // scope 2 at $DIR/issue-41888.rs:+4:29: +7:10
+        StorageDead(_6);                 // scope 1 at $DIR/issue-41888.rs:+7:9: +7:10
+        goto -> bb8;                     // scope 1 at $DIR/issue-41888.rs:+4:9: +7:10
     }
 
     bb6: {
-        _0 = const ();                   // scope 1 at $DIR/issue-41888.rs:13:10: 13:10
-        goto -> bb8;                     // scope 1 at $DIR/issue-41888.rs:10:9: 13:10
+        _0 = const ();                   // scope 1 at $DIR/issue-41888.rs:+7:10: +7:10
+        goto -> bb8;                     // scope 1 at $DIR/issue-41888.rs:+4:9: +7:10
     }
 
     bb7: {
-        _0 = const ();                   // scope 1 at $DIR/issue-41888.rs:14:6: 14:6
-        goto -> bb8;                     // scope 1 at $DIR/issue-41888.rs:8:5: 14:6
+        _0 = const ();                   // scope 1 at $DIR/issue-41888.rs:+8:6: +8:6
+        goto -> bb8;                     // scope 1 at $DIR/issue-41888.rs:+2:5: +8:6
     }
 
     bb8: {
-        StorageDead(_2);                 // scope 1 at $DIR/issue-41888.rs:14:5: 14:6
-        goto -> bb20;                    // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
+        StorageDead(_2);                 // scope 1 at $DIR/issue-41888.rs:+8:5: +8:6
+        goto -> bb20;                    // scope 0 at $DIR/issue-41888.rs:+9:1: +9:2
     }
 
     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
-        StorageDead(_1);                 // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
-        return;                          // scope 0 at $DIR/issue-41888.rs:15:2: 15:2
+        _7 = const false;                // scope 0 at $DIR/issue-41888.rs:+9:1: +9:2
+        _8 = const false;                // scope 0 at $DIR/issue-41888.rs:+9:1: +9:2
+        _9 = const false;                // scope 0 at $DIR/issue-41888.rs:+9:1: +9:2
+        StorageDead(_1);                 // scope 0 at $DIR/issue-41888.rs:+9:1: +9:2
+        return;                          // scope 0 at $DIR/issue-41888.rs:+9:2: +9:2
     }
 
     bb10 (cleanup): {
-        goto -> bb11;                    // scope 1 at $DIR/issue-41888.rs:9:19: 9:20
+        goto -> bb11;                    // scope 1 at $DIR/issue-41888.rs:+3:19: +3:20
     }
 
     bb11 (cleanup): {
-        goto -> bb12;                    // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
+        goto -> bb12;                    // scope 0 at $DIR/issue-41888.rs:+9:1: +9:2
     }
 
     bb12 (cleanup): {
-        resume;                          // scope 0 at $DIR/issue-41888.rs:6:1: 15:2
+        resume;                          // scope 0 at $DIR/issue-41888.rs:+0:1: +9:2
     }
 
     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 -> bb10;                    // scope 1 at $DIR/issue-41888.rs:9:9: 9:10
+        _7 = const true;                 // scope 1 at $DIR/issue-41888.rs:+3:9: +3:10
+        _8 = const true;                 // scope 1 at $DIR/issue-41888.rs:+3:9: +3:10
+        _9 = const true;                 // scope 1 at $DIR/issue-41888.rs:+3:9: +3:10
+        _1 = move _3;                    // scope 1 at $DIR/issue-41888.rs:+3:9: +3:10
+        goto -> bb10;                    // scope 1 at $DIR/issue-41888.rs:+3:9: +3:10
     }
 
     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
-        _1 = move _3;                    // scope 1 at $DIR/issue-41888.rs:9:9: 9:10
-        goto -> bb3;                     // scope 1 at $DIR/issue-41888.rs:9:9: 9:10
+        _7 = const true;                 // scope 1 at $DIR/issue-41888.rs:+3:9: +3:10
+        _8 = const true;                 // scope 1 at $DIR/issue-41888.rs:+3:9: +3:10
+        _9 = const true;                 // scope 1 at $DIR/issue-41888.rs:+3:9: +3:10
+        _1 = move _3;                    // scope 1 at $DIR/issue-41888.rs:+3:9: +3:10
+        goto -> bb3;                     // scope 1 at $DIR/issue-41888.rs:+3:9: +3:10
     }
 
     bb15: {
-        _7 = const false;                // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
-        goto -> bb9;                     // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
+        _7 = const false;                // scope 0 at $DIR/issue-41888.rs:+9:1: +9:2
+        goto -> bb9;                     // scope 0 at $DIR/issue-41888.rs:+9:1: +9:2
     }
 
     bb16 (cleanup): {
-        goto -> bb12;                    // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
+        goto -> bb12;                    // scope 0 at $DIR/issue-41888.rs:+9:1: +9:2
     }
 
     bb17: {
-        drop(_1) -> [return: bb15, unwind: bb12]; // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
+        drop(_1) -> [return: bb15, unwind: bb12]; // scope 0 at $DIR/issue-41888.rs:+9:1: +9:2
     }
 
     bb18 (cleanup): {
-        drop(_1) -> bb12;                // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
+        drop(_1) -> bb12;                // scope 0 at $DIR/issue-41888.rs:+9:1: +9:2
     }
 
     bb19: {
-        _10 = discriminant(_1);          // 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
+        _10 = discriminant(_1);          // scope 0 at $DIR/issue-41888.rs:+9:1: +9:2
+        switchInt(move _10) -> [0_isize: bb15, otherwise: bb17]; // scope 0 at $DIR/issue-41888.rs:+9:1: +9:2
     }
 
     bb20: {
-        switchInt(_7) -> [false: bb15, otherwise: bb19]; // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
+        switchInt(_7) -> [false: bb15, otherwise: bb19]; // scope 0 at $DIR/issue-41888.rs:+9:1: +9:2
     }
 
     bb21 (cleanup): {
-        _11 = discriminant(_1);          // 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
+        _11 = discriminant(_1);          // scope 0 at $DIR/issue-41888.rs:+9:1: +9:2
+        switchInt(move _11) -> [0_isize: bb16, otherwise: bb18]; // scope 0 at $DIR/issue-41888.rs:+9:1: +9:2
     }
 
     bb22 (cleanup): {
-        switchInt(_7) -> [false: bb12, otherwise: bb21]; // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
+        switchInt(_7) -> [false: bb12, otherwise: bb21]; // scope 0 at $DIR/issue-41888.rs:+9:1: +9:2
     }
 }
index 6301763449b90161a2230544742ace256f1c3b41..821323b5e2426fbe4d8ab963f10b7efe893a6d7d 100644 (file)
@@ -1,82 +1,82 @@
 // MIR for `main` 0 mir_map
 
 fn main() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/issue-49232.rs:5:11: 5:11
-    let mut _1: ();                      // in scope 0 at $DIR/issue-49232.rs:5:1: 15:2
-    let _2: i32;                         // in scope 0 at $DIR/issue-49232.rs:7:13: 7:19
-    let mut _3: bool;                    // in scope 0 at $DIR/issue-49232.rs:8:19: 8:23
-    let mut _4: !;                       // in scope 0 at $DIR/issue-49232.rs:10:25: 10:30
-    let _5: ();                          // in scope 0 at $DIR/issue-49232.rs:13:9: 13:22
-    let mut _6: &i32;                    // in scope 0 at $DIR/issue-49232.rs:13:14: 13:21
+    let mut _0: ();                      // return place in scope 0 at $DIR/issue-49232.rs:+0:11: +0:11
+    let mut _1: ();                      // in scope 0 at $DIR/issue-49232.rs:+0:1: +10:2
+    let _2: i32;                         // in scope 0 at $DIR/issue-49232.rs:+2:13: +2:19
+    let mut _3: bool;                    // in scope 0 at $DIR/issue-49232.rs:+3:19: +3:23
+    let mut _4: !;                       // in scope 0 at $DIR/issue-49232.rs:+5:25: +5:30
+    let _5: ();                          // in scope 0 at $DIR/issue-49232.rs:+8:9: +8:22
+    let mut _6: &i32;                    // in scope 0 at $DIR/issue-49232.rs:+8:14: +8:21
     scope 1 {
-        debug beacon => _2;              // in scope 1 at $DIR/issue-49232.rs:7:13: 7:19
+        debug beacon => _2;              // in scope 1 at $DIR/issue-49232.rs:+2:13: +2:19
     }
 
     bb0: {
-        goto -> bb1;                     // scope 0 at $DIR/issue-49232.rs:6:5: 14:6
+        goto -> bb1;                     // scope 0 at $DIR/issue-49232.rs:+1:5: +9:6
     }
 
     bb1: {
-        falseUnwind -> [real: bb2, cleanup: bb11]; // scope 0 at $DIR/issue-49232.rs:6:5: 14:6
+        falseUnwind -> [real: bb2, cleanup: bb11]; // scope 0 at $DIR/issue-49232.rs:+1:5: +9:6
     }
 
     bb2: {
-        StorageLive(_2);                 // scope 0 at $DIR/issue-49232.rs:7:13: 7:19
-        StorageLive(_3);                 // scope 0 at $DIR/issue-49232.rs:8:19: 8:23
-        _3 = const true;                 // scope 0 at $DIR/issue-49232.rs:8:19: 8:23
-        FakeRead(ForMatchedPlace(None), _3); // scope 0 at $DIR/issue-49232.rs:8:19: 8:23
-        switchInt(_3) -> [false: bb3, otherwise: bb4]; // scope 0 at $DIR/issue-49232.rs:8:13: 8:23
+        StorageLive(_2);                 // scope 0 at $DIR/issue-49232.rs:+2:13: +2:19
+        StorageLive(_3);                 // scope 0 at $DIR/issue-49232.rs:+3:19: +3:23
+        _3 = const true;                 // scope 0 at $DIR/issue-49232.rs:+3:19: +3:23
+        FakeRead(ForMatchedPlace(None), _3); // scope 0 at $DIR/issue-49232.rs:+3:19: +3:23
+        switchInt(_3) -> [false: bb3, otherwise: bb4]; // scope 0 at $DIR/issue-49232.rs:+3:13: +3:23
     }
 
     bb3: {
-        falseEdge -> [real: bb5, imaginary: bb4]; // scope 0 at $DIR/issue-49232.rs:9:17: 9:22
+        falseEdge -> [real: bb5, imaginary: bb4]; // scope 0 at $DIR/issue-49232.rs:+4:17: +4:22
     }
 
     bb4: {
-        _0 = const ();                   // scope 0 at $DIR/issue-49232.rs:10:25: 10:30
-        goto -> bb10;                    // scope 0 at $DIR/issue-49232.rs:10:25: 10:30
+        _0 = const ();                   // scope 0 at $DIR/issue-49232.rs:+5:25: +5:30
+        goto -> bb10;                    // scope 0 at $DIR/issue-49232.rs:+5:25: +5:30
     }
 
     bb5: {
-        _2 = const 4_i32;                // scope 0 at $DIR/issue-49232.rs:9:26: 9:27
-        goto -> bb8;                     // scope 0 at $DIR/issue-49232.rs:9:26: 9:27
+        _2 = const 4_i32;                // scope 0 at $DIR/issue-49232.rs:+4:26: +4:27
+        goto -> bb8;                     // scope 0 at $DIR/issue-49232.rs:+4:26: +4:27
     }
 
     bb6: {
-        unreachable;                     // scope 0 at $DIR/issue-49232.rs:10:25: 10:30
+        unreachable;                     // scope 0 at $DIR/issue-49232.rs:+5:25: +5:30
     }
 
     bb7: {
-        goto -> bb8;                     // scope 0 at $DIR/issue-49232.rs:11:13: 11:14
+        goto -> bb8;                     // scope 0 at $DIR/issue-49232.rs:+6:13: +6:14
     }
 
     bb8: {
-        FakeRead(ForLet(None), _2);      // scope 0 at $DIR/issue-49232.rs:7:13: 7:19
-        StorageDead(_3);                 // scope 0 at $DIR/issue-49232.rs:12:10: 12:11
-        StorageLive(_5);                 // scope 1 at $DIR/issue-49232.rs:13:9: 13:22
-        StorageLive(_6);                 // scope 1 at $DIR/issue-49232.rs:13:14: 13:21
-        _6 = &_2;                        // scope 1 at $DIR/issue-49232.rs:13:14: 13:21
-        _5 = std::mem::drop::<&i32>(move _6) -> [return: bb9, unwind: bb11]; // scope 1 at $DIR/issue-49232.rs:13:9: 13:22
+        FakeRead(ForLet(None), _2);      // scope 0 at $DIR/issue-49232.rs:+2:13: +2:19
+        StorageDead(_3);                 // scope 0 at $DIR/issue-49232.rs:+7:10: +7:11
+        StorageLive(_5);                 // scope 1 at $DIR/issue-49232.rs:+8:9: +8:22
+        StorageLive(_6);                 // scope 1 at $DIR/issue-49232.rs:+8:14: +8:21
+        _6 = &_2;                        // scope 1 at $DIR/issue-49232.rs:+8:14: +8:21
+        _5 = std::mem::drop::<&i32>(move _6) -> [return: bb9, unwind: bb11]; // scope 1 at $DIR/issue-49232.rs:+8:9: +8:22
                                          // mir::Constant
                                          // + span: $DIR/issue-49232.rs:13:9: 13:13
                                          // + literal: Const { ty: fn(&i32) {std::mem::drop::<&i32>}, val: Value(<ZST>) }
     }
 
     bb9: {
-        StorageDead(_6);                 // scope 1 at $DIR/issue-49232.rs:13:21: 13:22
-        StorageDead(_5);                 // scope 1 at $DIR/issue-49232.rs:13:22: 13:23
-        _1 = const ();                   // scope 0 at $DIR/issue-49232.rs:6:10: 14:6
-        StorageDead(_2);                 // scope 0 at $DIR/issue-49232.rs:14:5: 14:6
-        goto -> bb1;                     // scope 0 at $DIR/issue-49232.rs:6:5: 14:6
+        StorageDead(_6);                 // scope 1 at $DIR/issue-49232.rs:+8:21: +8:22
+        StorageDead(_5);                 // scope 1 at $DIR/issue-49232.rs:+8:22: +8:23
+        _1 = const ();                   // scope 0 at $DIR/issue-49232.rs:+1:10: +9:6
+        StorageDead(_2);                 // scope 0 at $DIR/issue-49232.rs:+9:5: +9:6
+        goto -> bb1;                     // scope 0 at $DIR/issue-49232.rs:+1:5: +9:6
     }
 
     bb10: {
-        StorageDead(_3);                 // scope 0 at $DIR/issue-49232.rs:12:10: 12:11
-        StorageDead(_2);                 // scope 0 at $DIR/issue-49232.rs:14:5: 14:6
-        return;                          // scope 0 at $DIR/issue-49232.rs:15:2: 15:2
+        StorageDead(_3);                 // scope 0 at $DIR/issue-49232.rs:+7:10: +7:11
+        StorageDead(_2);                 // scope 0 at $DIR/issue-49232.rs:+9:5: +9:6
+        return;                          // scope 0 at $DIR/issue-49232.rs:+10:2: +10:2
     }
 
     bb11 (cleanup): {
-        resume;                          // scope 0 at $DIR/issue-49232.rs:5:1: 15:2
+        resume;                          // scope 0 at $DIR/issue-49232.rs:+0:1: +10:2
     }
 }
index f21e9bbd270a28688630f8fc74631936984fd27d..72603dc5dbea270c93235c68f5d846ef15437bb8 100644 (file)
 // MIR for `test` before ElaborateDrops
 
 fn test() -> Option<Box<u32>> {
-    let mut _0: std::option::Option<std::boxed::Box<u32>>; // return place in scope 0 at $DIR/issue-62289.rs:8:14: 8:30
-    let mut _1: std::boxed::Box<u32>;    // in scope 0 at $DIR/issue-62289.rs:9:10: 9:21
-    let mut _2: usize;                   // in scope 0 at $DIR/issue-62289.rs:9:10: 9:21
-    let mut _3: usize;                   // in scope 0 at $DIR/issue-62289.rs:9:10: 9:21
-    let mut _4: *mut u8;                 // in scope 0 at $DIR/issue-62289.rs:9:10: 9:21
-    let mut _5: std::boxed::Box<u32>;    // in scope 0 at $DIR/issue-62289.rs:9:10: 9:21
-    let mut _6: std::ops::ControlFlow<std::option::Option<std::convert::Infallible>, u32>; // in scope 0 at $DIR/issue-62289.rs:9:15: 9:20
-    let mut _7: std::option::Option<u32>; // in scope 0 at $DIR/issue-62289.rs:9:15: 9:19
-    let mut _8: isize;                   // in scope 0 at $DIR/issue-62289.rs:9:19: 9:20
-    let _9: std::option::Option<std::convert::Infallible>; // in scope 0 at $DIR/issue-62289.rs:9:19: 9:20
-    let mut _10: !;                      // in scope 0 at $DIR/issue-62289.rs:9:19: 9:20
-    let mut _11: std::option::Option<std::convert::Infallible>; // in scope 0 at $DIR/issue-62289.rs:9:19: 9:20
-    let _12: u32;                        // in scope 0 at $DIR/issue-62289.rs:9:15: 9:20
+    let mut _0: std::option::Option<std::boxed::Box<u32>>; // return place in scope 0 at $DIR/issue-62289.rs:+0:14: +0:30
+    let mut _1: std::boxed::Box<u32>;    // in scope 0 at $DIR/issue-62289.rs:+1:10: +1:21
+    let mut _2: usize;                   // in scope 0 at $DIR/issue-62289.rs:+1:10: +1:21
+    let mut _3: usize;                   // in scope 0 at $DIR/issue-62289.rs:+1:10: +1:21
+    let mut _4: *mut u8;                 // in scope 0 at $DIR/issue-62289.rs:+1:10: +1:21
+    let mut _5: std::boxed::Box<u32>;    // in scope 0 at $DIR/issue-62289.rs:+1:10: +1:21
+    let mut _6: std::ops::ControlFlow<std::option::Option<std::convert::Infallible>, u32>; // in scope 0 at $DIR/issue-62289.rs:+1:15: +1:20
+    let mut _7: std::option::Option<u32>; // in scope 0 at $DIR/issue-62289.rs:+1:15: +1:19
+    let mut _8: isize;                   // in scope 0 at $DIR/issue-62289.rs:+1:19: +1:20
+    let _9: std::option::Option<std::convert::Infallible>; // in scope 0 at $DIR/issue-62289.rs:+1:19: +1:20
+    let mut _10: !;                      // in scope 0 at $DIR/issue-62289.rs:+1:19: +1:20
+    let mut _11: std::option::Option<std::convert::Infallible>; // in scope 0 at $DIR/issue-62289.rs:+1:19: +1:20
+    let _12: u32;                        // in scope 0 at $DIR/issue-62289.rs:+1:15: +1:20
     scope 1 {
     }
     scope 2 {
-        debug residual => _9;            // in scope 2 at $DIR/issue-62289.rs:9:19: 9:20
+        debug residual => _9;            // in scope 2 at $DIR/issue-62289.rs:+1:19: +1:20
         scope 3 {
         }
     }
     scope 4 {
-        debug val => _12;                // in scope 4 at $DIR/issue-62289.rs:9:15: 9:20
+        debug val => _12;                // in scope 4 at $DIR/issue-62289.rs:+1:15: +1:20
         scope 5 {
         }
     }
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/issue-62289.rs:9:10: 9:21
-        _2 = SizeOf(u32);                // scope 1 at $DIR/issue-62289.rs:9:10: 9:21
-        _3 = AlignOf(u32);               // scope 1 at $DIR/issue-62289.rs:9:10: 9:21
-        _4 = alloc::alloc::exchange_malloc(move _2, move _3) -> bb1; // scope 1 at $DIR/issue-62289.rs:9:10: 9:21
+        StorageLive(_1);                 // scope 0 at $DIR/issue-62289.rs:+1:10: +1:21
+        _2 = SizeOf(u32);                // scope 1 at $DIR/issue-62289.rs:+1:10: +1:21
+        _3 = AlignOf(u32);               // scope 1 at $DIR/issue-62289.rs:+1:10: +1:21
+        _4 = alloc::alloc::exchange_malloc(move _2, move _3) -> bb1; // scope 1 at $DIR/issue-62289.rs:+1:10: +1:21
                                          // mir::Constant
                                          // + span: $DIR/issue-62289.rs:9:10: 9:21
                                          // + literal: Const { ty: unsafe fn(usize, usize) -> *mut u8 {alloc::alloc::exchange_malloc}, val: Value(<ZST>) }
     }
 
     bb1: {
-        StorageLive(_5);                 // scope 0 at $DIR/issue-62289.rs:9:10: 9:21
-        _5 = ShallowInitBox(move _4, u32); // scope 0 at $DIR/issue-62289.rs:9:10: 9:21
-        StorageLive(_6);                 // scope 0 at $DIR/issue-62289.rs:9:15: 9:20
-        StorageLive(_7);                 // scope 0 at $DIR/issue-62289.rs:9:15: 9:19
-        _7 = Option::<u32>::None;        // scope 0 at $DIR/issue-62289.rs:9:15: 9:19
-        _6 = <Option<u32> as Try>::branch(move _7) -> [return: bb2, unwind: bb12]; // scope 0 at $DIR/issue-62289.rs:9:15: 9:20
+        StorageLive(_5);                 // scope 0 at $DIR/issue-62289.rs:+1:10: +1:21
+        _5 = ShallowInitBox(move _4, u32); // scope 0 at $DIR/issue-62289.rs:+1:10: +1:21
+        StorageLive(_6);                 // scope 0 at $DIR/issue-62289.rs:+1:15: +1:20
+        StorageLive(_7);                 // scope 0 at $DIR/issue-62289.rs:+1:15: +1:19
+        _7 = Option::<u32>::None;        // scope 0 at $DIR/issue-62289.rs:+1:15: +1:19
+        _6 = <Option<u32> as Try>::branch(move _7) -> [return: bb2, unwind: bb12]; // scope 0 at $DIR/issue-62289.rs:+1:15: +1:20
                                          // mir::Constant
                                          // + span: $DIR/issue-62289.rs:9:15: 9:20
                                          // + literal: Const { ty: fn(Option<u32>) -> ControlFlow<<Option<u32> as Try>::Residual, <Option<u32> as Try>::Output> {<Option<u32> as Try>::branch}, val: Value(<ZST>) }
     }
 
     bb2: {
-        StorageDead(_7);                 // scope 0 at $DIR/issue-62289.rs:9:19: 9:20
-        _8 = discriminant(_6);           // scope 0 at $DIR/issue-62289.rs:9:15: 9:20
-        switchInt(move _8) -> [0_isize: bb3, 1_isize: bb5, otherwise: bb4]; // scope 0 at $DIR/issue-62289.rs:9:15: 9:20
+        StorageDead(_7);                 // scope 0 at $DIR/issue-62289.rs:+1:19: +1:20
+        _8 = discriminant(_6);           // scope 0 at $DIR/issue-62289.rs:+1:15: +1:20
+        switchInt(move _8) -> [0_isize: bb3, 1_isize: bb5, otherwise: bb4]; // scope 0 at $DIR/issue-62289.rs:+1:15: +1:20
     }
 
     bb3: {
-        StorageLive(_12);                // scope 0 at $DIR/issue-62289.rs:9:15: 9:20
-        _12 = ((_6 as Continue).0: u32); // scope 0 at $DIR/issue-62289.rs:9:15: 9:20
-        (*_5) = _12;                     // scope 5 at $DIR/issue-62289.rs:9:15: 9:20
-        StorageDead(_12);                // scope 0 at $DIR/issue-62289.rs:9:19: 9:20
-        _1 = move _5;                    // scope 0 at $DIR/issue-62289.rs:9:10: 9:21
-        drop(_5) -> [return: bb7, unwind: bb11]; // scope 0 at $DIR/issue-62289.rs:9:20: 9:21
+        StorageLive(_12);                // scope 0 at $DIR/issue-62289.rs:+1:15: +1:20
+        _12 = ((_6 as Continue).0: u32); // scope 0 at $DIR/issue-62289.rs:+1:15: +1:20
+        (*_5) = _12;                     // scope 5 at $DIR/issue-62289.rs:+1:15: +1:20
+        StorageDead(_12);                // scope 0 at $DIR/issue-62289.rs:+1:19: +1:20
+        _1 = move _5;                    // scope 0 at $DIR/issue-62289.rs:+1:10: +1:21
+        drop(_5) -> [return: bb7, unwind: bb11]; // scope 0 at $DIR/issue-62289.rs:+1:20: +1:21
     }
 
     bb4: {
-        unreachable;                     // scope 0 at $DIR/issue-62289.rs:9:15: 9:20
+        unreachable;                     // scope 0 at $DIR/issue-62289.rs:+1:15: +1:20
     }
 
     bb5: {
-        StorageLive(_9);                 // scope 0 at $DIR/issue-62289.rs:9:19: 9:20
-        _9 = ((_6 as Break).0: std::option::Option<std::convert::Infallible>); // scope 0 at $DIR/issue-62289.rs:9:19: 9:20
-        StorageLive(_11);                // scope 3 at $DIR/issue-62289.rs:9:19: 9:20
-        _11 = _9;                        // scope 3 at $DIR/issue-62289.rs:9:19: 9:20
-        _0 = <Option<Box<u32>> as FromResidual<Option<Infallible>>>::from_residual(move _11) -> [return: bb6, unwind: bb12]; // scope 3 at $DIR/issue-62289.rs:9:15: 9:20
+        StorageLive(_9);                 // scope 0 at $DIR/issue-62289.rs:+1:19: +1:20
+        _9 = ((_6 as Break).0: std::option::Option<std::convert::Infallible>); // scope 0 at $DIR/issue-62289.rs:+1:19: +1:20
+        StorageLive(_11);                // scope 3 at $DIR/issue-62289.rs:+1:19: +1:20
+        _11 = _9;                        // scope 3 at $DIR/issue-62289.rs:+1:19: +1:20
+        _0 = <Option<Box<u32>> as FromResidual<Option<Infallible>>>::from_residual(move _11) -> [return: bb6, unwind: bb12]; // scope 3 at $DIR/issue-62289.rs:+1:15: +1:20
                                          // mir::Constant
                                          // + span: $DIR/issue-62289.rs:9:19: 9:20
                                          // + literal: Const { ty: fn(Option<Infallible>) -> Option<Box<u32>> {<Option<Box<u32>> as FromResidual<Option<Infallible>>>::from_residual}, val: Value(<ZST>) }
     }
 
     bb6: {
-        StorageDead(_11);                // scope 3 at $DIR/issue-62289.rs:9:19: 9:20
-        StorageDead(_9);                 // scope 0 at $DIR/issue-62289.rs:9:19: 9:20
-        drop(_5) -> bb9;                 // scope 0 at $DIR/issue-62289.rs:9:20: 9:21
+        StorageDead(_11);                // scope 3 at $DIR/issue-62289.rs:+1:19: +1:20
+        StorageDead(_9);                 // scope 0 at $DIR/issue-62289.rs:+1:19: +1:20
+        drop(_5) -> bb9;                 // scope 0 at $DIR/issue-62289.rs:+1:20: +1:21
     }
 
     bb7: {
-        StorageDead(_5);                 // 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
+        StorageDead(_5);                 // scope 0 at $DIR/issue-62289.rs:+1:20: +1:21
+        _0 = Option::<Box<u32>>::Some(move _1); // scope 0 at $DIR/issue-62289.rs:+1:5: +1:22
+        drop(_1) -> bb8;                 // scope 0 at $DIR/issue-62289.rs:+1:21: +1:22
     }
 
     bb8: {
-        StorageDead(_1);                 // scope 0 at $DIR/issue-62289.rs:9:21: 9:22
-        StorageDead(_6);                 // scope 0 at $DIR/issue-62289.rs:10:1: 10:2
-        goto -> bb10;                    // scope 0 at $DIR/issue-62289.rs:10:2: 10:2
+        StorageDead(_1);                 // scope 0 at $DIR/issue-62289.rs:+1:21: +1:22
+        StorageDead(_6);                 // scope 0 at $DIR/issue-62289.rs:+2:1: +2:2
+        goto -> bb10;                    // scope 0 at $DIR/issue-62289.rs:+2:2: +2:2
     }
 
     bb9: {
-        StorageDead(_5);                 // 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(_6);                 // scope 0 at $DIR/issue-62289.rs:10:1: 10:2
-        goto -> bb10;                    // scope 0 at $DIR/issue-62289.rs:10:2: 10:2
+        StorageDead(_5);                 // scope 0 at $DIR/issue-62289.rs:+1:20: +1:21
+        StorageDead(_1);                 // scope 0 at $DIR/issue-62289.rs:+1:21: +1:22
+        StorageDead(_6);                 // scope 0 at $DIR/issue-62289.rs:+2:1: +2:2
+        goto -> bb10;                    // scope 0 at $DIR/issue-62289.rs:+2:2: +2:2
     }
 
     bb10: {
-        return;                          // scope 0 at $DIR/issue-62289.rs:10:2: 10:2
+        return;                          // scope 0 at $DIR/issue-62289.rs:+2:2: +2:2
     }
 
     bb11 (cleanup): {
-        drop(_1) -> bb13;                // scope 0 at $DIR/issue-62289.rs:9:21: 9:22
+        drop(_1) -> bb13;                // scope 0 at $DIR/issue-62289.rs:+1:21: +1:22
     }
 
     bb12 (cleanup): {
-        drop(_5) -> bb13;                // scope 0 at $DIR/issue-62289.rs:9:20: 9:21
+        drop(_5) -> bb13;                // scope 0 at $DIR/issue-62289.rs:+1:20: +1:21
     }
 
     bb13 (cleanup): {
-        resume;                          // scope 0 at $DIR/issue-62289.rs:8:1: 10:2
+        resume;                          // scope 0 at $DIR/issue-62289.rs:+0:1: +2:2
     }
 }
index e19cd745279854eba1da447ee9fb628d9c82a715..972ce1d5078543d60d5d2c4700885c6fb2d42575 100644 (file)
@@ -1,17 +1,17 @@
 // MIR for `bar` 0 mir_map
 
 fn bar(_1: [(Never, u32); 1]) -> u32 {
-    let mut _0: u32;                     // return place in scope 0 at $DIR/issue-72181.rs:19:40: 19:43
-    let _2: u32;                         // in scope 0 at $DIR/issue-72181.rs:19:13: 19:14
+    let mut _0: u32;                     // return place in scope 0 at $DIR/issue-72181.rs:+0:40: +0:43
+    let _2: u32;                         // in scope 0 at $DIR/issue-72181.rs:+0:13: +0:14
     scope 1 {
-        debug x => _2;                   // in scope 1 at $DIR/issue-72181.rs:19:13: 19:14
+        debug x => _2;                   // in scope 1 at $DIR/issue-72181.rs:+0:13: +0:14
     }
 
     bb0: {
-        StorageLive(_2);                 // scope 0 at $DIR/issue-72181.rs:19:13: 19:14
-        _2 = (_1[0 of 1].1: u32);        // scope 0 at $DIR/issue-72181.rs:19:13: 19:14
-        _0 = _2;                         // scope 1 at $DIR/issue-72181.rs:19:46: 19:47
-        StorageDead(_2);                 // scope 0 at $DIR/issue-72181.rs:19:48: 19:49
-        return;                          // scope 0 at $DIR/issue-72181.rs:19:49: 19:49
+        StorageLive(_2);                 // scope 0 at $DIR/issue-72181.rs:+0:13: +0:14
+        _2 = (_1[0 of 1].1: u32);        // scope 0 at $DIR/issue-72181.rs:+0:13: +0:14
+        _0 = _2;                         // scope 1 at $DIR/issue-72181.rs:+0:46: +0:47
+        StorageDead(_2);                 // scope 0 at $DIR/issue-72181.rs:+0:48: +0:49
+        return;                          // scope 0 at $DIR/issue-72181.rs:+0:49: +0:49
     }
 }
index e19cd745279854eba1da447ee9fb628d9c82a715..972ce1d5078543d60d5d2c4700885c6fb2d42575 100644 (file)
@@ -1,17 +1,17 @@
 // MIR for `bar` 0 mir_map
 
 fn bar(_1: [(Never, u32); 1]) -> u32 {
-    let mut _0: u32;                     // return place in scope 0 at $DIR/issue-72181.rs:19:40: 19:43
-    let _2: u32;                         // in scope 0 at $DIR/issue-72181.rs:19:13: 19:14
+    let mut _0: u32;                     // return place in scope 0 at $DIR/issue-72181.rs:+0:40: +0:43
+    let _2: u32;                         // in scope 0 at $DIR/issue-72181.rs:+0:13: +0:14
     scope 1 {
-        debug x => _2;                   // in scope 1 at $DIR/issue-72181.rs:19:13: 19:14
+        debug x => _2;                   // in scope 1 at $DIR/issue-72181.rs:+0:13: +0:14
     }
 
     bb0: {
-        StorageLive(_2);                 // scope 0 at $DIR/issue-72181.rs:19:13: 19:14
-        _2 = (_1[0 of 1].1: u32);        // scope 0 at $DIR/issue-72181.rs:19:13: 19:14
-        _0 = _2;                         // scope 1 at $DIR/issue-72181.rs:19:46: 19:47
-        StorageDead(_2);                 // scope 0 at $DIR/issue-72181.rs:19:48: 19:49
-        return;                          // scope 0 at $DIR/issue-72181.rs:19:49: 19:49
+        StorageLive(_2);                 // scope 0 at $DIR/issue-72181.rs:+0:13: +0:14
+        _2 = (_1[0 of 1].1: u32);        // scope 0 at $DIR/issue-72181.rs:+0:13: +0:14
+        _0 = _2;                         // scope 1 at $DIR/issue-72181.rs:+0:46: +0:47
+        StorageDead(_2);                 // scope 0 at $DIR/issue-72181.rs:+0:48: +0:49
+        return;                          // scope 0 at $DIR/issue-72181.rs:+0:49: +0:49
     }
 }
index c9a2b9c0d83a376064d817dc23c6e50d8663f2a2..534f131ea936b44f719c4fc8da5067aacd02fc24 100644 (file)
@@ -1,27 +1,27 @@
 // MIR for `foo` 0 mir_map
 
 fn foo(_1: [(Never, u32); 1]) -> u32 {
-    debug xs => _1;                      // in scope 0 at $DIR/issue-72181.rs:16:8: 16:10
-    let mut _0: u32;                     // return place in scope 0 at $DIR/issue-72181.rs:16:34: 16:37
-    let _2: usize;                       // in scope 0 at $DIR/issue-72181.rs:16:43: 16:44
-    let mut _3: usize;                   // in scope 0 at $DIR/issue-72181.rs:16:40: 16:45
-    let mut _4: bool;                    // in scope 0 at $DIR/issue-72181.rs:16:40: 16:45
+    debug xs => _1;                      // in scope 0 at $DIR/issue-72181.rs:+0:8: +0:10
+    let mut _0: u32;                     // return place in scope 0 at $DIR/issue-72181.rs:+0:34: +0:37
+    let _2: usize;                       // in scope 0 at $DIR/issue-72181.rs:+0:43: +0:44
+    let mut _3: usize;                   // in scope 0 at $DIR/issue-72181.rs:+0:40: +0:45
+    let mut _4: bool;                    // in scope 0 at $DIR/issue-72181.rs:+0:40: +0:45
 
     bb0: {
-        StorageLive(_2);                 // scope 0 at $DIR/issue-72181.rs:16:43: 16:44
-        _2 = const 0_usize;              // scope 0 at $DIR/issue-72181.rs:16:43: 16:44
-        _3 = Len(_1);                    // scope 0 at $DIR/issue-72181.rs:16:40: 16:45
-        _4 = Lt(_2, _3);                 // scope 0 at $DIR/issue-72181.rs:16:40: 16:45
-        assert(move _4, "index out of bounds: the length is {} but the index is {}", move _3, _2) -> [success: bb1, unwind: bb2]; // scope 0 at $DIR/issue-72181.rs:16:40: 16:45
+        StorageLive(_2);                 // scope 0 at $DIR/issue-72181.rs:+0:43: +0:44
+        _2 = const 0_usize;              // scope 0 at $DIR/issue-72181.rs:+0:43: +0:44
+        _3 = Len(_1);                    // scope 0 at $DIR/issue-72181.rs:+0:40: +0:45
+        _4 = Lt(_2, _3);                 // scope 0 at $DIR/issue-72181.rs:+0:40: +0:45
+        assert(move _4, "index out of bounds: the length is {} but the index is {}", move _3, _2) -> [success: bb1, unwind: bb2]; // scope 0 at $DIR/issue-72181.rs:+0:40: +0:45
     }
 
     bb1: {
-        _0 = (_1[_2].1: u32);            // scope 0 at $DIR/issue-72181.rs:16:40: 16:47
-        StorageDead(_2);                 // scope 0 at $DIR/issue-72181.rs:16:48: 16:49
-        return;                          // scope 0 at $DIR/issue-72181.rs:16:49: 16:49
+        _0 = (_1[_2].1: u32);            // scope 0 at $DIR/issue-72181.rs:+0:40: +0:47
+        StorageDead(_2);                 // scope 0 at $DIR/issue-72181.rs:+0:48: +0:49
+        return;                          // scope 0 at $DIR/issue-72181.rs:+0:49: +0:49
     }
 
     bb2 (cleanup): {
-        resume;                          // scope 0 at $DIR/issue-72181.rs:16:1: 16:49
+        resume;                          // scope 0 at $DIR/issue-72181.rs:+0:1: +0:49
     }
 }
index c9a2b9c0d83a376064d817dc23c6e50d8663f2a2..534f131ea936b44f719c4fc8da5067aacd02fc24 100644 (file)
@@ -1,27 +1,27 @@
 // MIR for `foo` 0 mir_map
 
 fn foo(_1: [(Never, u32); 1]) -> u32 {
-    debug xs => _1;                      // in scope 0 at $DIR/issue-72181.rs:16:8: 16:10
-    let mut _0: u32;                     // return place in scope 0 at $DIR/issue-72181.rs:16:34: 16:37
-    let _2: usize;                       // in scope 0 at $DIR/issue-72181.rs:16:43: 16:44
-    let mut _3: usize;                   // in scope 0 at $DIR/issue-72181.rs:16:40: 16:45
-    let mut _4: bool;                    // in scope 0 at $DIR/issue-72181.rs:16:40: 16:45
+    debug xs => _1;                      // in scope 0 at $DIR/issue-72181.rs:+0:8: +0:10
+    let mut _0: u32;                     // return place in scope 0 at $DIR/issue-72181.rs:+0:34: +0:37
+    let _2: usize;                       // in scope 0 at $DIR/issue-72181.rs:+0:43: +0:44
+    let mut _3: usize;                   // in scope 0 at $DIR/issue-72181.rs:+0:40: +0:45
+    let mut _4: bool;                    // in scope 0 at $DIR/issue-72181.rs:+0:40: +0:45
 
     bb0: {
-        StorageLive(_2);                 // scope 0 at $DIR/issue-72181.rs:16:43: 16:44
-        _2 = const 0_usize;              // scope 0 at $DIR/issue-72181.rs:16:43: 16:44
-        _3 = Len(_1);                    // scope 0 at $DIR/issue-72181.rs:16:40: 16:45
-        _4 = Lt(_2, _3);                 // scope 0 at $DIR/issue-72181.rs:16:40: 16:45
-        assert(move _4, "index out of bounds: the length is {} but the index is {}", move _3, _2) -> [success: bb1, unwind: bb2]; // scope 0 at $DIR/issue-72181.rs:16:40: 16:45
+        StorageLive(_2);                 // scope 0 at $DIR/issue-72181.rs:+0:43: +0:44
+        _2 = const 0_usize;              // scope 0 at $DIR/issue-72181.rs:+0:43: +0:44
+        _3 = Len(_1);                    // scope 0 at $DIR/issue-72181.rs:+0:40: +0:45
+        _4 = Lt(_2, _3);                 // scope 0 at $DIR/issue-72181.rs:+0:40: +0:45
+        assert(move _4, "index out of bounds: the length is {} but the index is {}", move _3, _2) -> [success: bb1, unwind: bb2]; // scope 0 at $DIR/issue-72181.rs:+0:40: +0:45
     }
 
     bb1: {
-        _0 = (_1[_2].1: u32);            // scope 0 at $DIR/issue-72181.rs:16:40: 16:47
-        StorageDead(_2);                 // scope 0 at $DIR/issue-72181.rs:16:48: 16:49
-        return;                          // scope 0 at $DIR/issue-72181.rs:16:49: 16:49
+        _0 = (_1[_2].1: u32);            // scope 0 at $DIR/issue-72181.rs:+0:40: +0:47
+        StorageDead(_2);                 // scope 0 at $DIR/issue-72181.rs:+0:48: +0:49
+        return;                          // scope 0 at $DIR/issue-72181.rs:+0:49: +0:49
     }
 
     bb2 (cleanup): {
-        resume;                          // scope 0 at $DIR/issue-72181.rs:16:1: 16:49
+        resume;                          // scope 0 at $DIR/issue-72181.rs:+0:1: +0:49
     }
 }
index f4602d147c947c8b68310b9ee21e213f8d6432a6..425906f84fcd6a42b784d21b7afd8b8629b22407 100644 (file)
@@ -1,18 +1,18 @@
 // MIR for `main` 0 mir_map
 
 fn main() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/issue-72181.rs:23:11: 23:11
-    let mut _1: usize;                   // in scope 0 at $DIR/issue-72181.rs:24:13: 24:34
-    let mut _3: Foo;                     // in scope 0 at $DIR/issue-72181.rs:26:14: 26:27
-    let mut _4: Foo;                     // in scope 0 at $DIR/issue-72181.rs:26:29: 26:42
-    let mut _5: u64;                     // in scope 0 at $DIR/issue-72181.rs:27:13: 27:30
-    let _6: usize;                       // in scope 0 at $DIR/issue-72181.rs:27:24: 27:25
-    let mut _7: usize;                   // in scope 0 at $DIR/issue-72181.rs:27:22: 27:26
-    let mut _8: bool;                    // in scope 0 at $DIR/issue-72181.rs:27:22: 27:26
+    let mut _0: ();                      // return place in scope 0 at $DIR/issue-72181.rs:+0:11: +0:11
+    let mut _1: usize;                   // in scope 0 at $DIR/issue-72181.rs:+1:13: +1:34
+    let mut _3: Foo;                     // in scope 0 at $DIR/issue-72181.rs:+3:14: +3:27
+    let mut _4: Foo;                     // in scope 0 at $DIR/issue-72181.rs:+3:29: +3:42
+    let mut _5: u64;                     // in scope 0 at $DIR/issue-72181.rs:+4:13: +4:30
+    let _6: usize;                       // in scope 0 at $DIR/issue-72181.rs:+4:24: +4:25
+    let mut _7: usize;                   // in scope 0 at $DIR/issue-72181.rs:+4:22: +4:26
+    let mut _8: bool;                    // in scope 0 at $DIR/issue-72181.rs:+4:22: +4:26
     scope 1 {
-        let _2: [Foo; 2];                // in scope 1 at $DIR/issue-72181.rs:26:9: 26:10
+        let _2: [Foo; 2];                // in scope 1 at $DIR/issue-72181.rs:+3:9: +3:10
         scope 2 {
-            debug f => _2;               // in scope 2 at $DIR/issue-72181.rs:26:9: 26:10
+            debug f => _2;               // in scope 2 at $DIR/issue-72181.rs:+3:9: +3:10
             scope 3 {
             }
             scope 4 {
@@ -21,42 +21,42 @@ fn main() -> () {
     }
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/issue-72181.rs:24:13: 24:34
-        _1 = std::mem::size_of::<Foo>() -> [return: bb1, unwind: bb3]; // scope 0 at $DIR/issue-72181.rs:24:13: 24:34
+        StorageLive(_1);                 // scope 0 at $DIR/issue-72181.rs:+1:13: +1:34
+        _1 = std::mem::size_of::<Foo>() -> [return: bb1, unwind: bb3]; // scope 0 at $DIR/issue-72181.rs:+1:13: +1:34
                                          // mir::Constant
                                          // + span: $DIR/issue-72181.rs:24:13: 24:32
                                          // + literal: Const { ty: fn() -> usize {std::mem::size_of::<Foo>}, val: Value(<ZST>) }
     }
 
     bb1: {
-        StorageDead(_1);                 // scope 0 at $DIR/issue-72181.rs:24:34: 24:35
-        StorageLive(_2);                 // scope 1 at $DIR/issue-72181.rs:26:9: 26:10
-        StorageLive(_3);                 // scope 1 at $DIR/issue-72181.rs:26:14: 26:27
-        _3 = Foo { a: const 42_u64 };    // scope 1 at $DIR/issue-72181.rs:26:14: 26:27
-        StorageLive(_4);                 // scope 1 at $DIR/issue-72181.rs:26:29: 26:42
-        _4 = Foo { a: const 10_u64 };    // scope 1 at $DIR/issue-72181.rs:26:29: 26:42
-        _2 = [move _3, move _4];         // scope 1 at $DIR/issue-72181.rs:26:13: 26:43
-        StorageDead(_4);                 // scope 1 at $DIR/issue-72181.rs:26:42: 26:43
-        StorageDead(_3);                 // scope 1 at $DIR/issue-72181.rs:26:42: 26:43
-        FakeRead(ForLet(None), _2);      // scope 1 at $DIR/issue-72181.rs:26:9: 26:10
-        StorageLive(_5);                 // scope 2 at $DIR/issue-72181.rs:27:13: 27:30
-        StorageLive(_6);                 // scope 4 at $DIR/issue-72181.rs:27:24: 27:25
-        _6 = const 0_usize;              // scope 4 at $DIR/issue-72181.rs:27:24: 27:25
-        _7 = Len(_2);                    // scope 4 at $DIR/issue-72181.rs:27:22: 27:26
-        _8 = Lt(_6, _7);                 // scope 4 at $DIR/issue-72181.rs:27:22: 27:26
-        assert(move _8, "index out of bounds: the length is {} but the index is {}", move _7, _6) -> [success: bb2, unwind: bb3]; // scope 4 at $DIR/issue-72181.rs:27:22: 27:26
+        StorageDead(_1);                 // scope 0 at $DIR/issue-72181.rs:+1:34: +1:35
+        StorageLive(_2);                 // scope 1 at $DIR/issue-72181.rs:+3:9: +3:10
+        StorageLive(_3);                 // scope 1 at $DIR/issue-72181.rs:+3:14: +3:27
+        _3 = Foo { a: const 42_u64 };    // scope 1 at $DIR/issue-72181.rs:+3:14: +3:27
+        StorageLive(_4);                 // scope 1 at $DIR/issue-72181.rs:+3:29: +3:42
+        _4 = Foo { a: const 10_u64 };    // scope 1 at $DIR/issue-72181.rs:+3:29: +3:42
+        _2 = [move _3, move _4];         // scope 1 at $DIR/issue-72181.rs:+3:13: +3:43
+        StorageDead(_4);                 // scope 1 at $DIR/issue-72181.rs:+3:42: +3:43
+        StorageDead(_3);                 // scope 1 at $DIR/issue-72181.rs:+3:42: +3:43
+        FakeRead(ForLet(None), _2);      // scope 1 at $DIR/issue-72181.rs:+3:9: +3:10
+        StorageLive(_5);                 // scope 2 at $DIR/issue-72181.rs:+4:13: +4:30
+        StorageLive(_6);                 // scope 4 at $DIR/issue-72181.rs:+4:24: +4:25
+        _6 = const 0_usize;              // scope 4 at $DIR/issue-72181.rs:+4:24: +4:25
+        _7 = Len(_2);                    // scope 4 at $DIR/issue-72181.rs:+4:22: +4:26
+        _8 = Lt(_6, _7);                 // scope 4 at $DIR/issue-72181.rs:+4:22: +4:26
+        assert(move _8, "index out of bounds: the length is {} but the index is {}", move _7, _6) -> [success: bb2, unwind: bb3]; // scope 4 at $DIR/issue-72181.rs:+4:22: +4:26
     }
 
     bb2: {
-        _5 = (_2[_6].0: u64);            // scope 4 at $DIR/issue-72181.rs:27:22: 27:28
-        StorageDead(_6);                 // scope 2 at $DIR/issue-72181.rs:27:30: 27:31
-        StorageDead(_5);                 // scope 2 at $DIR/issue-72181.rs:27:30: 27:31
-        _0 = const ();                   // scope 0 at $DIR/issue-72181.rs:23:11: 28:2
-        StorageDead(_2);                 // scope 1 at $DIR/issue-72181.rs:28:1: 28:2
-        return;                          // scope 0 at $DIR/issue-72181.rs:28:2: 28:2
+        _5 = (_2[_6].0: u64);            // scope 4 at $DIR/issue-72181.rs:+4:22: +4:28
+        StorageDead(_6);                 // scope 2 at $DIR/issue-72181.rs:+4:30: +4:31
+        StorageDead(_5);                 // scope 2 at $DIR/issue-72181.rs:+4:30: +4:31
+        _0 = const ();                   // scope 0 at $DIR/issue-72181.rs:+0:11: +5:2
+        StorageDead(_2);                 // scope 1 at $DIR/issue-72181.rs:+5:1: +5:2
+        return;                          // scope 0 at $DIR/issue-72181.rs:+5:2: +5:2
     }
 
     bb3 (cleanup): {
-        resume;                          // scope 0 at $DIR/issue-72181.rs:23:1: 28:2
+        resume;                          // scope 0 at $DIR/issue-72181.rs:+0:1: +5:2
     }
 }
index f4602d147c947c8b68310b9ee21e213f8d6432a6..425906f84fcd6a42b784d21b7afd8b8629b22407 100644 (file)
@@ -1,18 +1,18 @@
 // MIR for `main` 0 mir_map
 
 fn main() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/issue-72181.rs:23:11: 23:11
-    let mut _1: usize;                   // in scope 0 at $DIR/issue-72181.rs:24:13: 24:34
-    let mut _3: Foo;                     // in scope 0 at $DIR/issue-72181.rs:26:14: 26:27
-    let mut _4: Foo;                     // in scope 0 at $DIR/issue-72181.rs:26:29: 26:42
-    let mut _5: u64;                     // in scope 0 at $DIR/issue-72181.rs:27:13: 27:30
-    let _6: usize;                       // in scope 0 at $DIR/issue-72181.rs:27:24: 27:25
-    let mut _7: usize;                   // in scope 0 at $DIR/issue-72181.rs:27:22: 27:26
-    let mut _8: bool;                    // in scope 0 at $DIR/issue-72181.rs:27:22: 27:26
+    let mut _0: ();                      // return place in scope 0 at $DIR/issue-72181.rs:+0:11: +0:11
+    let mut _1: usize;                   // in scope 0 at $DIR/issue-72181.rs:+1:13: +1:34
+    let mut _3: Foo;                     // in scope 0 at $DIR/issue-72181.rs:+3:14: +3:27
+    let mut _4: Foo;                     // in scope 0 at $DIR/issue-72181.rs:+3:29: +3:42
+    let mut _5: u64;                     // in scope 0 at $DIR/issue-72181.rs:+4:13: +4:30
+    let _6: usize;                       // in scope 0 at $DIR/issue-72181.rs:+4:24: +4:25
+    let mut _7: usize;                   // in scope 0 at $DIR/issue-72181.rs:+4:22: +4:26
+    let mut _8: bool;                    // in scope 0 at $DIR/issue-72181.rs:+4:22: +4:26
     scope 1 {
-        let _2: [Foo; 2];                // in scope 1 at $DIR/issue-72181.rs:26:9: 26:10
+        let _2: [Foo; 2];                // in scope 1 at $DIR/issue-72181.rs:+3:9: +3:10
         scope 2 {
-            debug f => _2;               // in scope 2 at $DIR/issue-72181.rs:26:9: 26:10
+            debug f => _2;               // in scope 2 at $DIR/issue-72181.rs:+3:9: +3:10
             scope 3 {
             }
             scope 4 {
@@ -21,42 +21,42 @@ fn main() -> () {
     }
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/issue-72181.rs:24:13: 24:34
-        _1 = std::mem::size_of::<Foo>() -> [return: bb1, unwind: bb3]; // scope 0 at $DIR/issue-72181.rs:24:13: 24:34
+        StorageLive(_1);                 // scope 0 at $DIR/issue-72181.rs:+1:13: +1:34
+        _1 = std::mem::size_of::<Foo>() -> [return: bb1, unwind: bb3]; // scope 0 at $DIR/issue-72181.rs:+1:13: +1:34
                                          // mir::Constant
                                          // + span: $DIR/issue-72181.rs:24:13: 24:32
                                          // + literal: Const { ty: fn() -> usize {std::mem::size_of::<Foo>}, val: Value(<ZST>) }
     }
 
     bb1: {
-        StorageDead(_1);                 // scope 0 at $DIR/issue-72181.rs:24:34: 24:35
-        StorageLive(_2);                 // scope 1 at $DIR/issue-72181.rs:26:9: 26:10
-        StorageLive(_3);                 // scope 1 at $DIR/issue-72181.rs:26:14: 26:27
-        _3 = Foo { a: const 42_u64 };    // scope 1 at $DIR/issue-72181.rs:26:14: 26:27
-        StorageLive(_4);                 // scope 1 at $DIR/issue-72181.rs:26:29: 26:42
-        _4 = Foo { a: const 10_u64 };    // scope 1 at $DIR/issue-72181.rs:26:29: 26:42
-        _2 = [move _3, move _4];         // scope 1 at $DIR/issue-72181.rs:26:13: 26:43
-        StorageDead(_4);                 // scope 1 at $DIR/issue-72181.rs:26:42: 26:43
-        StorageDead(_3);                 // scope 1 at $DIR/issue-72181.rs:26:42: 26:43
-        FakeRead(ForLet(None), _2);      // scope 1 at $DIR/issue-72181.rs:26:9: 26:10
-        StorageLive(_5);                 // scope 2 at $DIR/issue-72181.rs:27:13: 27:30
-        StorageLive(_6);                 // scope 4 at $DIR/issue-72181.rs:27:24: 27:25
-        _6 = const 0_usize;              // scope 4 at $DIR/issue-72181.rs:27:24: 27:25
-        _7 = Len(_2);                    // scope 4 at $DIR/issue-72181.rs:27:22: 27:26
-        _8 = Lt(_6, _7);                 // scope 4 at $DIR/issue-72181.rs:27:22: 27:26
-        assert(move _8, "index out of bounds: the length is {} but the index is {}", move _7, _6) -> [success: bb2, unwind: bb3]; // scope 4 at $DIR/issue-72181.rs:27:22: 27:26
+        StorageDead(_1);                 // scope 0 at $DIR/issue-72181.rs:+1:34: +1:35
+        StorageLive(_2);                 // scope 1 at $DIR/issue-72181.rs:+3:9: +3:10
+        StorageLive(_3);                 // scope 1 at $DIR/issue-72181.rs:+3:14: +3:27
+        _3 = Foo { a: const 42_u64 };    // scope 1 at $DIR/issue-72181.rs:+3:14: +3:27
+        StorageLive(_4);                 // scope 1 at $DIR/issue-72181.rs:+3:29: +3:42
+        _4 = Foo { a: const 10_u64 };    // scope 1 at $DIR/issue-72181.rs:+3:29: +3:42
+        _2 = [move _3, move _4];         // scope 1 at $DIR/issue-72181.rs:+3:13: +3:43
+        StorageDead(_4);                 // scope 1 at $DIR/issue-72181.rs:+3:42: +3:43
+        StorageDead(_3);                 // scope 1 at $DIR/issue-72181.rs:+3:42: +3:43
+        FakeRead(ForLet(None), _2);      // scope 1 at $DIR/issue-72181.rs:+3:9: +3:10
+        StorageLive(_5);                 // scope 2 at $DIR/issue-72181.rs:+4:13: +4:30
+        StorageLive(_6);                 // scope 4 at $DIR/issue-72181.rs:+4:24: +4:25
+        _6 = const 0_usize;              // scope 4 at $DIR/issue-72181.rs:+4:24: +4:25
+        _7 = Len(_2);                    // scope 4 at $DIR/issue-72181.rs:+4:22: +4:26
+        _8 = Lt(_6, _7);                 // scope 4 at $DIR/issue-72181.rs:+4:22: +4:26
+        assert(move _8, "index out of bounds: the length is {} but the index is {}", move _7, _6) -> [success: bb2, unwind: bb3]; // scope 4 at $DIR/issue-72181.rs:+4:22: +4:26
     }
 
     bb2: {
-        _5 = (_2[_6].0: u64);            // scope 4 at $DIR/issue-72181.rs:27:22: 27:28
-        StorageDead(_6);                 // scope 2 at $DIR/issue-72181.rs:27:30: 27:31
-        StorageDead(_5);                 // scope 2 at $DIR/issue-72181.rs:27:30: 27:31
-        _0 = const ();                   // scope 0 at $DIR/issue-72181.rs:23:11: 28:2
-        StorageDead(_2);                 // scope 1 at $DIR/issue-72181.rs:28:1: 28:2
-        return;                          // scope 0 at $DIR/issue-72181.rs:28:2: 28:2
+        _5 = (_2[_6].0: u64);            // scope 4 at $DIR/issue-72181.rs:+4:22: +4:28
+        StorageDead(_6);                 // scope 2 at $DIR/issue-72181.rs:+4:30: +4:31
+        StorageDead(_5);                 // scope 2 at $DIR/issue-72181.rs:+4:30: +4:31
+        _0 = const ();                   // scope 0 at $DIR/issue-72181.rs:+0:11: +5:2
+        StorageDead(_2);                 // scope 1 at $DIR/issue-72181.rs:+5:1: +5:2
+        return;                          // scope 0 at $DIR/issue-72181.rs:+5:2: +5:2
     }
 
     bb3 (cleanup): {
-        resume;                          // scope 0 at $DIR/issue-72181.rs:23:1: 28:2
+        resume;                          // scope 0 at $DIR/issue-72181.rs:+0:1: +5:2
     }
 }
index 7def08ece220b09d7babc4741428ada79e1ee3e3..e1a35d88bf1d9c0ba4652d8fd30e4fff117394c5 100644 (file)
@@ -1,29 +1,29 @@
 // MIR for `f` 0 mir_map
 
 fn f(_1: Void) -> ! {
-    debug v => _1;                       // in scope 0 at $DIR/issue-72181-1.rs:10:6: 10:7
-    let mut _0: !;                       // return place in scope 0 at $DIR/issue-72181-1.rs:10:18: 10:19
-    let mut _2: !;                       // in scope 0 at $DIR/issue-72181-1.rs:10:20: 12:2
-    let mut _3: !;                       // in scope 0 at $DIR/issue-72181-1.rs:11:5: 11:15
+    debug v => _1;                       // in scope 0 at $DIR/issue-72181-1.rs:+0:6: +0:7
+    let mut _0: !;                       // return place in scope 0 at $DIR/issue-72181-1.rs:+0:18: +0:19
+    let mut _2: !;                       // in scope 0 at $DIR/issue-72181-1.rs:+0:20: +2:2
+    let mut _3: !;                       // in scope 0 at $DIR/issue-72181-1.rs:+1:5: +1:15
 
     bb0: {
-        StorageLive(_2);                 // scope 0 at $DIR/issue-72181-1.rs:10:20: 12:2
-        StorageLive(_3);                 // scope 0 at $DIR/issue-72181-1.rs:11:5: 11:15
-        FakeRead(ForMatchedPlace(None), _1); // scope 0 at $DIR/issue-72181-1.rs:11:11: 11:12
-        unreachable;                     // scope 0 at $DIR/issue-72181-1.rs:11:11: 11:12
+        StorageLive(_2);                 // scope 0 at $DIR/issue-72181-1.rs:+0:20: +2:2
+        StorageLive(_3);                 // scope 0 at $DIR/issue-72181-1.rs:+1:5: +1:15
+        FakeRead(ForMatchedPlace(None), _1); // scope 0 at $DIR/issue-72181-1.rs:+1:11: +1:12
+        unreachable;                     // scope 0 at $DIR/issue-72181-1.rs:+1:11: +1:12
     }
 
     bb1: {
-        unreachable;                     // scope 0 at $DIR/issue-72181-1.rs:11:5: 11:15
+        unreachable;                     // scope 0 at $DIR/issue-72181-1.rs:+1:5: +1:15
     }
 
     bb2: {
-        StorageDead(_3);                 // scope 0 at $DIR/issue-72181-1.rs:11:14: 11:15
-        unreachable;                     // scope 0 at $DIR/issue-72181-1.rs:10:20: 12:2
+        StorageDead(_3);                 // scope 0 at $DIR/issue-72181-1.rs:+1:14: +1:15
+        unreachable;                     // scope 0 at $DIR/issue-72181-1.rs:+0:20: +2:2
     }
 
     bb3: {
-        StorageDead(_2);                 // scope 0 at $DIR/issue-72181-1.rs:12:1: 12:2
-        return;                          // scope 0 at $DIR/issue-72181-1.rs:12:2: 12:2
+        StorageDead(_2);                 // scope 0 at $DIR/issue-72181-1.rs:+2:1: +2:2
+        return;                          // scope 0 at $DIR/issue-72181-1.rs:+2:2: +2:2
     }
 }
index 9842e26ab69938f5742fe5d36d6c10038f71c33b..336693337fb5766f09e4a40ab878397df5f7bb94 100644 (file)
@@ -5,53 +5,53 @@
 | 1: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(Void) }, span: $DIR/issue-72181-1.rs:16:12: 16:16, inferred_ty: Void
 |
 fn main() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/issue-72181-1.rs:15:11: 15:11
-    let mut _1: !;                       // in scope 0 at $DIR/issue-72181-1.rs:15:11: 21:2
-    let _2: Void as UserTypeProjection { base: UserType(0), projs: [] }; // in scope 0 at $DIR/issue-72181-1.rs:16:9: 16:10
-    let mut _3: ();                      // in scope 0 at $DIR/issue-72181-1.rs:17:41: 17:43
-    let _4: !;                           // in scope 0 at $DIR/issue-72181-1.rs:20:5: 20:9
-    let mut _5: Void;                    // in scope 0 at $DIR/issue-72181-1.rs:20:7: 20:8
+    let mut _0: ();                      // return place in scope 0 at $DIR/issue-72181-1.rs:+0:11: +0:11
+    let mut _1: !;                       // in scope 0 at $DIR/issue-72181-1.rs:+0:11: +6:2
+    let _2: Void as UserTypeProjection { base: UserType(0), projs: [] }; // in scope 0 at $DIR/issue-72181-1.rs:+1:9: +1:10
+    let mut _3: ();                      // in scope 0 at $DIR/issue-72181-1.rs:+2:41: +2:43
+    let _4: !;                           // in scope 0 at $DIR/issue-72181-1.rs:+5:5: +5:9
+    let mut _5: Void;                    // in scope 0 at $DIR/issue-72181-1.rs:+5:7: +5:8
     scope 1 {
-        debug v => _2;                   // in scope 1 at $DIR/issue-72181-1.rs:16:9: 16:10
+        debug v => _2;                   // in scope 1 at $DIR/issue-72181-1.rs:+1:9: +1:10
     }
     scope 2 {
     }
 
     bb0: {
-        StorageLive(_2);                 // scope 0 at $DIR/issue-72181-1.rs:16:9: 16:10
-        StorageLive(_3);                 // scope 2 at $DIR/issue-72181-1.rs:17:41: 17:43
-        _3 = ();                         // scope 2 at $DIR/issue-72181-1.rs:17:41: 17:43
-        _2 = transmute::<(), Void>(move _3) -> bb4; // scope 2 at $DIR/issue-72181-1.rs:17:9: 17:44
+        StorageLive(_2);                 // scope 0 at $DIR/issue-72181-1.rs:+1:9: +1:10
+        StorageLive(_3);                 // scope 2 at $DIR/issue-72181-1.rs:+2:41: +2:43
+        _3 = ();                         // scope 2 at $DIR/issue-72181-1.rs:+2:41: +2:43
+        _2 = transmute::<(), Void>(move _3) -> bb4; // scope 2 at $DIR/issue-72181-1.rs:+2:9: +2:44
                                          // mir::Constant
                                          // + span: $DIR/issue-72181-1.rs:17:9: 17:40
                                          // + literal: Const { ty: unsafe extern "rust-intrinsic" fn(()) -> Void {transmute::<(), Void>}, val: Value(<ZST>) }
     }
 
     bb1: {
-        StorageDead(_3);                 // scope 2 at $DIR/issue-72181-1.rs:17:43: 17:44
-        FakeRead(ForLet(None), _2);      // scope 0 at $DIR/issue-72181-1.rs:16:9: 16:10
-        AscribeUserType(_2, o, UserTypeProjection { base: UserType(1), projs: [] }); // scope 0 at $DIR/issue-72181-1.rs:16:12: 16:16
-        StorageLive(_4);                 // scope 1 at $DIR/issue-72181-1.rs:20:5: 20:9
-        StorageLive(_5);                 // scope 1 at $DIR/issue-72181-1.rs:20:7: 20:8
-        _5 = move _2;                    // scope 1 at $DIR/issue-72181-1.rs:20:7: 20:8
-        _4 = f(move _5) -> bb4;          // scope 1 at $DIR/issue-72181-1.rs:20:5: 20:9
+        StorageDead(_3);                 // scope 2 at $DIR/issue-72181-1.rs:+2:43: +2:44
+        FakeRead(ForLet(None), _2);      // scope 0 at $DIR/issue-72181-1.rs:+1:9: +1:10
+        AscribeUserType(_2, o, UserTypeProjection { base: UserType(1), projs: [] }); // scope 0 at $DIR/issue-72181-1.rs:+1:12: +1:16
+        StorageLive(_4);                 // scope 1 at $DIR/issue-72181-1.rs:+5:5: +5:9
+        StorageLive(_5);                 // scope 1 at $DIR/issue-72181-1.rs:+5:7: +5:8
+        _5 = move _2;                    // scope 1 at $DIR/issue-72181-1.rs:+5:7: +5:8
+        _4 = f(move _5) -> bb4;          // scope 1 at $DIR/issue-72181-1.rs:+5:5: +5:9
                                          // mir::Constant
                                          // + span: $DIR/issue-72181-1.rs:20:5: 20:6
                                          // + literal: Const { ty: fn(Void) -> ! {f}, val: Value(<ZST>) }
     }
 
     bb2: {
-        StorageDead(_5);                 // scope 1 at $DIR/issue-72181-1.rs:20:8: 20:9
-        StorageDead(_4);                 // scope 1 at $DIR/issue-72181-1.rs:20:9: 20:10
-        StorageDead(_2);                 // scope 0 at $DIR/issue-72181-1.rs:21:1: 21:2
-        unreachable;                     // scope 0 at $DIR/issue-72181-1.rs:15:11: 21:2
+        StorageDead(_5);                 // scope 1 at $DIR/issue-72181-1.rs:+5:8: +5:9
+        StorageDead(_4);                 // scope 1 at $DIR/issue-72181-1.rs:+5:9: +5:10
+        StorageDead(_2);                 // scope 0 at $DIR/issue-72181-1.rs:+6:1: +6:2
+        unreachable;                     // scope 0 at $DIR/issue-72181-1.rs:+0:11: +6:2
     }
 
     bb3: {
-        return;                          // scope 0 at $DIR/issue-72181-1.rs:21:2: 21:2
+        return;                          // scope 0 at $DIR/issue-72181-1.rs:+6:2: +6:2
     }
 
     bb4 (cleanup): {
-        resume;                          // scope 0 at $DIR/issue-72181-1.rs:15:1: 21:2
+        resume;                          // scope 0 at $DIR/issue-72181-1.rs:+0:1: +6:2
     }
 }
index 929526515442416e5b5bcedeb18abbaf163c3b80..be8e86a832cb6af8dff995304fd13afdb17e3146 100644 (file)
@@ -2,10 +2,10 @@
 + // MIR for `main` after PreCodegen
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/issue-73223.rs:1:11: 1:11
-      let _1: i32;                         // in scope 0 at $DIR/issue-73223.rs:2:9: 2:14
-      let mut _2: std::option::Option<i32>; // in scope 0 at $DIR/issue-73223.rs:2:23: 2:30
-      let _3: i32;                         // in scope 0 at $DIR/issue-73223.rs:3:14: 3:15
+      let mut _0: ();                      // return place in scope 0 at $DIR/issue-73223.rs:+0:11: +0:11
+      let _1: i32;                         // in scope 0 at $DIR/issue-73223.rs:+1:9: +1:14
+      let mut _2: std::option::Option<i32>; // in scope 0 at $DIR/issue-73223.rs:+1:23: +1:30
+      let _3: i32;                         // in scope 0 at $DIR/issue-73223.rs:+2:14: +2:15
       let mut _5: (&i32, &i32);            // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       let mut _6: &i32;                    // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       let mut _7: &i32;                    // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       let _18: &i32;                       // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       let mut _19: std::option::Option<std::fmt::Arguments>; // in scope 0 at $SRC_DIR/core/src/macros/mod.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
+          debug split => _1;               // in scope 1 at $DIR/issue-73223.rs:+1:9: +1:14
+          let _4: std::option::Option<i32>; // in scope 1 at $DIR/issue-73223.rs:+6:9: +6:14
           scope 3 {
-              debug _prev => _4;           // in scope 3 at $DIR/issue-73223.rs:7:9: 7:14
+              debug _prev => _4;           // in scope 3 at $DIR/issue-73223.rs:+6:9: +6:14
               let _8: &i32;                // in scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
               let _9: &i32;                // in scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
               let mut _20: &i32;           // in scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           }
       }
       scope 2 {
-          debug v => _3;                   // in scope 2 at $DIR/issue-73223.rs:3:14: 3:15
+          debug v => _3;                   // in scope 2 at $DIR/issue-73223.rs:+2:14: +2:15
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/issue-73223.rs:2:9: 2:14
-          StorageLive(_2);                 // scope 0 at $DIR/issue-73223.rs:2:23: 2:30
-          Deinit(_2);                      // scope 0 at $DIR/issue-73223.rs:2:23: 2:30
-          ((_2 as Some).0: i32) = const 1_i32; // scope 0 at $DIR/issue-73223.rs:2:23: 2:30
-          discriminant(_2) = 1;            // scope 0 at $DIR/issue-73223.rs:2:23: 2:30
-          StorageLive(_3);                 // scope 0 at $DIR/issue-73223.rs:3:14: 3:15
-          _3 = ((_2 as Some).0: i32);      // scope 0 at $DIR/issue-73223.rs:3:14: 3:15
-          _1 = _3;                         // scope 2 at $DIR/issue-73223.rs:3:20: 3:21
-          StorageDead(_3);                 // scope 0 at $DIR/issue-73223.rs:3:20: 3:21
-          StorageDead(_2);                 // scope 0 at $DIR/issue-73223.rs:5:6: 5:7
-          StorageLive(_4);                 // scope 1 at $DIR/issue-73223.rs:7:9: 7:14
+          StorageLive(_1);                 // scope 0 at $DIR/issue-73223.rs:+1:9: +1:14
+          StorageLive(_2);                 // scope 0 at $DIR/issue-73223.rs:+1:23: +1:30
+          Deinit(_2);                      // scope 0 at $DIR/issue-73223.rs:+1:23: +1:30
+          ((_2 as Some).0: i32) = const 1_i32; // scope 0 at $DIR/issue-73223.rs:+1:23: +1:30
+          discriminant(_2) = 1;            // scope 0 at $DIR/issue-73223.rs:+1:23: +1:30
+          StorageLive(_3);                 // scope 0 at $DIR/issue-73223.rs:+2:14: +2:15
+          _3 = ((_2 as Some).0: i32);      // scope 0 at $DIR/issue-73223.rs:+2:14: +2:15
+          _1 = _3;                         // scope 2 at $DIR/issue-73223.rs:+2:20: +2:21
+          StorageDead(_3);                 // scope 0 at $DIR/issue-73223.rs:+2:20: +2:21
+          StorageDead(_2);                 // scope 0 at $DIR/issue-73223.rs:+4:6: +4:7
+          StorageLive(_4);                 // scope 1 at $DIR/issue-73223.rs:+6:9: +6:14
           StorageLive(_5);                 // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           StorageLive(_6);                 // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           _6 = &_1;                        // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           StorageDead(_9);                 // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           StorageDead(_8);                 // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           StorageDead(_5);                 // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_4);                 // scope 1 at $DIR/issue-73223.rs:9:1: 9:2
-          StorageDead(_1);                 // scope 0 at $DIR/issue-73223.rs:9:1: 9:2
-          return;                          // scope 0 at $DIR/issue-73223.rs:9:2: 9:2
+          StorageDead(_4);                 // scope 1 at $DIR/issue-73223.rs:+8:1: +8:2
+          StorageDead(_1);                 // scope 0 at $DIR/issue-73223.rs:+8:1: +8:2
+          return;                          // scope 0 at $DIR/issue-73223.rs:+8:2: +8:2
       }
   }
   
index 929526515442416e5b5bcedeb18abbaf163c3b80..be8e86a832cb6af8dff995304fd13afdb17e3146 100644 (file)
@@ -2,10 +2,10 @@
 + // MIR for `main` after PreCodegen
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/issue-73223.rs:1:11: 1:11
-      let _1: i32;                         // in scope 0 at $DIR/issue-73223.rs:2:9: 2:14
-      let mut _2: std::option::Option<i32>; // in scope 0 at $DIR/issue-73223.rs:2:23: 2:30
-      let _3: i32;                         // in scope 0 at $DIR/issue-73223.rs:3:14: 3:15
+      let mut _0: ();                      // return place in scope 0 at $DIR/issue-73223.rs:+0:11: +0:11
+      let _1: i32;                         // in scope 0 at $DIR/issue-73223.rs:+1:9: +1:14
+      let mut _2: std::option::Option<i32>; // in scope 0 at $DIR/issue-73223.rs:+1:23: +1:30
+      let _3: i32;                         // in scope 0 at $DIR/issue-73223.rs:+2:14: +2:15
       let mut _5: (&i32, &i32);            // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       let mut _6: &i32;                    // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       let mut _7: &i32;                    // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       let _18: &i32;                       // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       let mut _19: std::option::Option<std::fmt::Arguments>; // in scope 0 at $SRC_DIR/core/src/macros/mod.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
+          debug split => _1;               // in scope 1 at $DIR/issue-73223.rs:+1:9: +1:14
+          let _4: std::option::Option<i32>; // in scope 1 at $DIR/issue-73223.rs:+6:9: +6:14
           scope 3 {
-              debug _prev => _4;           // in scope 3 at $DIR/issue-73223.rs:7:9: 7:14
+              debug _prev => _4;           // in scope 3 at $DIR/issue-73223.rs:+6:9: +6:14
               let _8: &i32;                // in scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
               let _9: &i32;                // in scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
               let mut _20: &i32;           // in scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           }
       }
       scope 2 {
-          debug v => _3;                   // in scope 2 at $DIR/issue-73223.rs:3:14: 3:15
+          debug v => _3;                   // in scope 2 at $DIR/issue-73223.rs:+2:14: +2:15
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/issue-73223.rs:2:9: 2:14
-          StorageLive(_2);                 // scope 0 at $DIR/issue-73223.rs:2:23: 2:30
-          Deinit(_2);                      // scope 0 at $DIR/issue-73223.rs:2:23: 2:30
-          ((_2 as Some).0: i32) = const 1_i32; // scope 0 at $DIR/issue-73223.rs:2:23: 2:30
-          discriminant(_2) = 1;            // scope 0 at $DIR/issue-73223.rs:2:23: 2:30
-          StorageLive(_3);                 // scope 0 at $DIR/issue-73223.rs:3:14: 3:15
-          _3 = ((_2 as Some).0: i32);      // scope 0 at $DIR/issue-73223.rs:3:14: 3:15
-          _1 = _3;                         // scope 2 at $DIR/issue-73223.rs:3:20: 3:21
-          StorageDead(_3);                 // scope 0 at $DIR/issue-73223.rs:3:20: 3:21
-          StorageDead(_2);                 // scope 0 at $DIR/issue-73223.rs:5:6: 5:7
-          StorageLive(_4);                 // scope 1 at $DIR/issue-73223.rs:7:9: 7:14
+          StorageLive(_1);                 // scope 0 at $DIR/issue-73223.rs:+1:9: +1:14
+          StorageLive(_2);                 // scope 0 at $DIR/issue-73223.rs:+1:23: +1:30
+          Deinit(_2);                      // scope 0 at $DIR/issue-73223.rs:+1:23: +1:30
+          ((_2 as Some).0: i32) = const 1_i32; // scope 0 at $DIR/issue-73223.rs:+1:23: +1:30
+          discriminant(_2) = 1;            // scope 0 at $DIR/issue-73223.rs:+1:23: +1:30
+          StorageLive(_3);                 // scope 0 at $DIR/issue-73223.rs:+2:14: +2:15
+          _3 = ((_2 as Some).0: i32);      // scope 0 at $DIR/issue-73223.rs:+2:14: +2:15
+          _1 = _3;                         // scope 2 at $DIR/issue-73223.rs:+2:20: +2:21
+          StorageDead(_3);                 // scope 0 at $DIR/issue-73223.rs:+2:20: +2:21
+          StorageDead(_2);                 // scope 0 at $DIR/issue-73223.rs:+4:6: +4:7
+          StorageLive(_4);                 // scope 1 at $DIR/issue-73223.rs:+6:9: +6:14
           StorageLive(_5);                 // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           StorageLive(_6);                 // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           _6 = &_1;                        // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           StorageDead(_9);                 // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           StorageDead(_8);                 // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           StorageDead(_5);                 // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          StorageDead(_4);                 // scope 1 at $DIR/issue-73223.rs:9:1: 9:2
-          StorageDead(_1);                 // scope 0 at $DIR/issue-73223.rs:9:1: 9:2
-          return;                          // scope 0 at $DIR/issue-73223.rs:9:2: 9:2
+          StorageDead(_4);                 // scope 1 at $DIR/issue-73223.rs:+8:1: +8:2
+          StorageDead(_1);                 // scope 0 at $DIR/issue-73223.rs:+8:1: +8:2
+          return;                          // scope 0 at $DIR/issue-73223.rs:+8:2: +8:2
       }
   }
   
index f52b1a953c12058ac70b4862be865eb266f4212d..50948180fc46ef2e44ee1a517a9fd21e3f6b4fb3 100644 (file)
@@ -2,18 +2,18 @@
 + // MIR for `main` after SimplifyArmIdentity
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/issue-73223.rs:1:11: 1:11
-      let _1: i32;                         // in scope 0 at $DIR/issue-73223.rs:2:9: 2:14
-      let mut _2: std::option::Option<i32>; // in scope 0 at $DIR/issue-73223.rs:2:23: 2:30
-      let mut _3: isize;                   // in scope 0 at $DIR/issue-73223.rs:3:9: 3:16
-      let _4: i32;                         // in scope 0 at $DIR/issue-73223.rs:3:14: 3:15
-      let mut _5: !;                       // in scope 0 at $DIR/issue-73223.rs:4:17: 4:23
-      let mut _7: i32;                     // in scope 0 at $DIR/issue-73223.rs:7:22: 7:27
+      let mut _0: ();                      // return place in scope 0 at $DIR/issue-73223.rs:+0:11: +0:11
+      let _1: i32;                         // in scope 0 at $DIR/issue-73223.rs:+1:9: +1:14
+      let mut _2: std::option::Option<i32>; // in scope 0 at $DIR/issue-73223.rs:+1:23: +1:30
+      let mut _3: isize;                   // in scope 0 at $DIR/issue-73223.rs:+2:9: +2:16
+      let _4: i32;                         // in scope 0 at $DIR/issue-73223.rs:+2:14: +2:15
+      let mut _5: !;                       // in scope 0 at $DIR/issue-73223.rs:+3:17: +3:23
+      let mut _7: i32;                     // in scope 0 at $DIR/issue-73223.rs:+6:22: +6:27
       let _8: ();                          // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       let mut _9: (&i32, &i32);            // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       let mut _10: &i32;                   // 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 _12: i32;                        // in scope 0 at $DIR/issue-73223.rs:8:23: 8:24
+      let _12: i32;                        // in scope 0 at $DIR/issue-73223.rs:+7:23: +7:24
       let mut _15: bool;                   // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       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 _26: &i32;                       // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       let mut _27: std::option::Option<std::fmt::Arguments>; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       scope 1 {
-          debug split => _1;               // in scope 1 at $DIR/issue-73223.rs:2:9: 2:14
-          let _6: std::option::Option<i32>; // in scope 1 at $DIR/issue-73223.rs:7:9: 7:14
+          debug split => _1;               // in scope 1 at $DIR/issue-73223.rs:+1:9: +1:14
+          let _6: std::option::Option<i32>; // in scope 1 at $DIR/issue-73223.rs:+6:9: +6:14
           scope 3 {
-              debug _prev => _6;           // in scope 3 at $DIR/issue-73223.rs:7:9: 7:14
+              debug _prev => _6;           // in scope 3 at $DIR/issue-73223.rs:+6:9: +6:14
               let _13: &i32;               // in scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
               let _14: &i32;               // in scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
               let mut _28: &i32;           // in scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           }
       }
       scope 2 {
-          debug v => _4;                   // in scope 2 at $DIR/issue-73223.rs:3:14: 3:15
+          debug v => _4;                   // in scope 2 at $DIR/issue-73223.rs:+2:14: +2:15
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/issue-73223.rs:2:9: 2:14
-          StorageLive(_2);                 // scope 0 at $DIR/issue-73223.rs:2:23: 2:30
-          Deinit(_2);                      // scope 0 at $DIR/issue-73223.rs:2:23: 2:30
-          ((_2 as Some).0: i32) = const 1_i32; // scope 0 at $DIR/issue-73223.rs:2:23: 2:30
-          discriminant(_2) = 1;            // scope 0 at $DIR/issue-73223.rs:2:23: 2:30
-          _3 = const 1_isize;              // scope 0 at $DIR/issue-73223.rs:2:23: 2:30
-          goto -> bb2;                     // scope 0 at $DIR/issue-73223.rs:2:17: 2:30
+          StorageLive(_1);                 // scope 0 at $DIR/issue-73223.rs:+1:9: +1:14
+          StorageLive(_2);                 // scope 0 at $DIR/issue-73223.rs:+1:23: +1:30
+          Deinit(_2);                      // scope 0 at $DIR/issue-73223.rs:+1:23: +1:30
+          ((_2 as Some).0: i32) = const 1_i32; // scope 0 at $DIR/issue-73223.rs:+1:23: +1:30
+          discriminant(_2) = 1;            // scope 0 at $DIR/issue-73223.rs:+1:23: +1:30
+          _3 = const 1_isize;              // scope 0 at $DIR/issue-73223.rs:+1:23: +1:30
+          goto -> bb2;                     // scope 0 at $DIR/issue-73223.rs:+1:17: +1:30
       }
   
       bb1: {
-          nop;                             // scope 0 at $DIR/issue-73223.rs:4:17: 4:23
-          StorageDead(_2);                 // scope 0 at $DIR/issue-73223.rs:5:6: 5:7
-          StorageDead(_1);                 // scope 0 at $DIR/issue-73223.rs:9:1: 9:2
-          return;                          // scope 0 at $DIR/issue-73223.rs:9:2: 9:2
+          nop;                             // scope 0 at $DIR/issue-73223.rs:+3:17: +3:23
+          StorageDead(_2);                 // scope 0 at $DIR/issue-73223.rs:+4:6: +4:7
+          StorageDead(_1);                 // scope 0 at $DIR/issue-73223.rs:+8:1: +8:2
+          return;                          // scope 0 at $DIR/issue-73223.rs:+8:2: +8:2
       }
   
       bb2: {
-          StorageLive(_4);                 // scope 0 at $DIR/issue-73223.rs:3:14: 3:15
-          _4 = ((_2 as Some).0: i32);      // scope 0 at $DIR/issue-73223.rs:3:14: 3:15
-          _1 = _4;                         // scope 2 at $DIR/issue-73223.rs:3:20: 3:21
-          StorageDead(_4);                 // scope 0 at $DIR/issue-73223.rs:3:20: 3:21
-          StorageDead(_2);                 // scope 0 at $DIR/issue-73223.rs:5:6: 5:7
-          StorageLive(_6);                 // scope 1 at $DIR/issue-73223.rs:7:9: 7:14
-          StorageLive(_7);                 // scope 1 at $DIR/issue-73223.rs:7:22: 7:27
-          _7 = _1;                         // scope 1 at $DIR/issue-73223.rs:7:22: 7:27
-          Deinit(_6);                      // scope 1 at $DIR/issue-73223.rs:7:17: 7:28
-          ((_6 as Some).0: i32) = move _7; // scope 1 at $DIR/issue-73223.rs:7:17: 7:28
-          discriminant(_6) = 1;            // scope 1 at $DIR/issue-73223.rs:7:17: 7:28
-          StorageDead(_7);                 // scope 1 at $DIR/issue-73223.rs:7:27: 7:28
+          StorageLive(_4);                 // scope 0 at $DIR/issue-73223.rs:+2:14: +2:15
+          _4 = ((_2 as Some).0: i32);      // scope 0 at $DIR/issue-73223.rs:+2:14: +2:15
+          _1 = _4;                         // scope 2 at $DIR/issue-73223.rs:+2:20: +2:21
+          StorageDead(_4);                 // scope 0 at $DIR/issue-73223.rs:+2:20: +2:21
+          StorageDead(_2);                 // scope 0 at $DIR/issue-73223.rs:+4:6: +4:7
+          StorageLive(_6);                 // scope 1 at $DIR/issue-73223.rs:+6:9: +6:14
+          StorageLive(_7);                 // scope 1 at $DIR/issue-73223.rs:+6:22: +6:27
+          _7 = _1;                         // scope 1 at $DIR/issue-73223.rs:+6:22: +6:27
+          Deinit(_6);                      // scope 1 at $DIR/issue-73223.rs:+6:17: +6:28
+          ((_6 as Some).0: i32) = move _7; // scope 1 at $DIR/issue-73223.rs:+6:17: +6:28
+          discriminant(_6) = 1;            // scope 1 at $DIR/issue-73223.rs:+6:17: +6:28
+          StorageDead(_7);                 // scope 1 at $DIR/issue-73223.rs:+6:27: +6:28
           StorageLive(_8);                 // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           StorageLive(_9);                 // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           StorageLive(_10);                // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           StorageDead(_13);                // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           StorageDead(_9);                 // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           StorageDead(_8);                 // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          nop;                             // scope 0 at $DIR/issue-73223.rs:1:11: 9:2
-          StorageDead(_6);                 // scope 1 at $DIR/issue-73223.rs:9:1: 9:2
-          StorageDead(_1);                 // scope 0 at $DIR/issue-73223.rs:9:1: 9:2
-          return;                          // scope 0 at $DIR/issue-73223.rs:9:2: 9:2
+          nop;                             // scope 0 at $DIR/issue-73223.rs:+0:11: +8:2
+          StorageDead(_6);                 // scope 1 at $DIR/issue-73223.rs:+8:1: +8:2
+          StorageDead(_1);                 // scope 0 at $DIR/issue-73223.rs:+8:1: +8:2
+          return;                          // scope 0 at $DIR/issue-73223.rs:+8:2: +8:2
       }
   }
   
index f52b1a953c12058ac70b4862be865eb266f4212d..50948180fc46ef2e44ee1a517a9fd21e3f6b4fb3 100644 (file)
@@ -2,18 +2,18 @@
 + // MIR for `main` after SimplifyArmIdentity
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/issue-73223.rs:1:11: 1:11
-      let _1: i32;                         // in scope 0 at $DIR/issue-73223.rs:2:9: 2:14
-      let mut _2: std::option::Option<i32>; // in scope 0 at $DIR/issue-73223.rs:2:23: 2:30
-      let mut _3: isize;                   // in scope 0 at $DIR/issue-73223.rs:3:9: 3:16
-      let _4: i32;                         // in scope 0 at $DIR/issue-73223.rs:3:14: 3:15
-      let mut _5: !;                       // in scope 0 at $DIR/issue-73223.rs:4:17: 4:23
-      let mut _7: i32;                     // in scope 0 at $DIR/issue-73223.rs:7:22: 7:27
+      let mut _0: ();                      // return place in scope 0 at $DIR/issue-73223.rs:+0:11: +0:11
+      let _1: i32;                         // in scope 0 at $DIR/issue-73223.rs:+1:9: +1:14
+      let mut _2: std::option::Option<i32>; // in scope 0 at $DIR/issue-73223.rs:+1:23: +1:30
+      let mut _3: isize;                   // in scope 0 at $DIR/issue-73223.rs:+2:9: +2:16
+      let _4: i32;                         // in scope 0 at $DIR/issue-73223.rs:+2:14: +2:15
+      let mut _5: !;                       // in scope 0 at $DIR/issue-73223.rs:+3:17: +3:23
+      let mut _7: i32;                     // in scope 0 at $DIR/issue-73223.rs:+6:22: +6:27
       let _8: ();                          // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       let mut _9: (&i32, &i32);            // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       let mut _10: &i32;                   // 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 _12: i32;                        // in scope 0 at $DIR/issue-73223.rs:8:23: 8:24
+      let _12: i32;                        // in scope 0 at $DIR/issue-73223.rs:+7:23: +7:24
       let mut _15: bool;                   // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       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 _26: &i32;                       // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       let mut _27: std::option::Option<std::fmt::Arguments>; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
       scope 1 {
-          debug split => _1;               // in scope 1 at $DIR/issue-73223.rs:2:9: 2:14
-          let _6: std::option::Option<i32>; // in scope 1 at $DIR/issue-73223.rs:7:9: 7:14
+          debug split => _1;               // in scope 1 at $DIR/issue-73223.rs:+1:9: +1:14
+          let _6: std::option::Option<i32>; // in scope 1 at $DIR/issue-73223.rs:+6:9: +6:14
           scope 3 {
-              debug _prev => _6;           // in scope 3 at $DIR/issue-73223.rs:7:9: 7:14
+              debug _prev => _6;           // in scope 3 at $DIR/issue-73223.rs:+6:9: +6:14
               let _13: &i32;               // in scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
               let _14: &i32;               // in scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
               let mut _28: &i32;           // in scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           }
       }
       scope 2 {
-          debug v => _4;                   // in scope 2 at $DIR/issue-73223.rs:3:14: 3:15
+          debug v => _4;                   // in scope 2 at $DIR/issue-73223.rs:+2:14: +2:15
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/issue-73223.rs:2:9: 2:14
-          StorageLive(_2);                 // scope 0 at $DIR/issue-73223.rs:2:23: 2:30
-          Deinit(_2);                      // scope 0 at $DIR/issue-73223.rs:2:23: 2:30
-          ((_2 as Some).0: i32) = const 1_i32; // scope 0 at $DIR/issue-73223.rs:2:23: 2:30
-          discriminant(_2) = 1;            // scope 0 at $DIR/issue-73223.rs:2:23: 2:30
-          _3 = const 1_isize;              // scope 0 at $DIR/issue-73223.rs:2:23: 2:30
-          goto -> bb2;                     // scope 0 at $DIR/issue-73223.rs:2:17: 2:30
+          StorageLive(_1);                 // scope 0 at $DIR/issue-73223.rs:+1:9: +1:14
+          StorageLive(_2);                 // scope 0 at $DIR/issue-73223.rs:+1:23: +1:30
+          Deinit(_2);                      // scope 0 at $DIR/issue-73223.rs:+1:23: +1:30
+          ((_2 as Some).0: i32) = const 1_i32; // scope 0 at $DIR/issue-73223.rs:+1:23: +1:30
+          discriminant(_2) = 1;            // scope 0 at $DIR/issue-73223.rs:+1:23: +1:30
+          _3 = const 1_isize;              // scope 0 at $DIR/issue-73223.rs:+1:23: +1:30
+          goto -> bb2;                     // scope 0 at $DIR/issue-73223.rs:+1:17: +1:30
       }
   
       bb1: {
-          nop;                             // scope 0 at $DIR/issue-73223.rs:4:17: 4:23
-          StorageDead(_2);                 // scope 0 at $DIR/issue-73223.rs:5:6: 5:7
-          StorageDead(_1);                 // scope 0 at $DIR/issue-73223.rs:9:1: 9:2
-          return;                          // scope 0 at $DIR/issue-73223.rs:9:2: 9:2
+          nop;                             // scope 0 at $DIR/issue-73223.rs:+3:17: +3:23
+          StorageDead(_2);                 // scope 0 at $DIR/issue-73223.rs:+4:6: +4:7
+          StorageDead(_1);                 // scope 0 at $DIR/issue-73223.rs:+8:1: +8:2
+          return;                          // scope 0 at $DIR/issue-73223.rs:+8:2: +8:2
       }
   
       bb2: {
-          StorageLive(_4);                 // scope 0 at $DIR/issue-73223.rs:3:14: 3:15
-          _4 = ((_2 as Some).0: i32);      // scope 0 at $DIR/issue-73223.rs:3:14: 3:15
-          _1 = _4;                         // scope 2 at $DIR/issue-73223.rs:3:20: 3:21
-          StorageDead(_4);                 // scope 0 at $DIR/issue-73223.rs:3:20: 3:21
-          StorageDead(_2);                 // scope 0 at $DIR/issue-73223.rs:5:6: 5:7
-          StorageLive(_6);                 // scope 1 at $DIR/issue-73223.rs:7:9: 7:14
-          StorageLive(_7);                 // scope 1 at $DIR/issue-73223.rs:7:22: 7:27
-          _7 = _1;                         // scope 1 at $DIR/issue-73223.rs:7:22: 7:27
-          Deinit(_6);                      // scope 1 at $DIR/issue-73223.rs:7:17: 7:28
-          ((_6 as Some).0: i32) = move _7; // scope 1 at $DIR/issue-73223.rs:7:17: 7:28
-          discriminant(_6) = 1;            // scope 1 at $DIR/issue-73223.rs:7:17: 7:28
-          StorageDead(_7);                 // scope 1 at $DIR/issue-73223.rs:7:27: 7:28
+          StorageLive(_4);                 // scope 0 at $DIR/issue-73223.rs:+2:14: +2:15
+          _4 = ((_2 as Some).0: i32);      // scope 0 at $DIR/issue-73223.rs:+2:14: +2:15
+          _1 = _4;                         // scope 2 at $DIR/issue-73223.rs:+2:20: +2:21
+          StorageDead(_4);                 // scope 0 at $DIR/issue-73223.rs:+2:20: +2:21
+          StorageDead(_2);                 // scope 0 at $DIR/issue-73223.rs:+4:6: +4:7
+          StorageLive(_6);                 // scope 1 at $DIR/issue-73223.rs:+6:9: +6:14
+          StorageLive(_7);                 // scope 1 at $DIR/issue-73223.rs:+6:22: +6:27
+          _7 = _1;                         // scope 1 at $DIR/issue-73223.rs:+6:22: +6:27
+          Deinit(_6);                      // scope 1 at $DIR/issue-73223.rs:+6:17: +6:28
+          ((_6 as Some).0: i32) = move _7; // scope 1 at $DIR/issue-73223.rs:+6:17: +6:28
+          discriminant(_6) = 1;            // scope 1 at $DIR/issue-73223.rs:+6:17: +6:28
+          StorageDead(_7);                 // scope 1 at $DIR/issue-73223.rs:+6:27: +6:28
           StorageLive(_8);                 // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           StorageLive(_9);                 // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           StorageLive(_10);                // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           StorageDead(_13);                // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           StorageDead(_9);                 // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
           StorageDead(_8);                 // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          nop;                             // scope 0 at $DIR/issue-73223.rs:1:11: 9:2
-          StorageDead(_6);                 // scope 1 at $DIR/issue-73223.rs:9:1: 9:2
-          StorageDead(_1);                 // scope 0 at $DIR/issue-73223.rs:9:1: 9:2
-          return;                          // scope 0 at $DIR/issue-73223.rs:9:2: 9:2
+          nop;                             // scope 0 at $DIR/issue-73223.rs:+0:11: +8:2
+          StorageDead(_6);                 // scope 1 at $DIR/issue-73223.rs:+8:1: +8:2
+          StorageDead(_1);                 // scope 0 at $DIR/issue-73223.rs:+8:1: +8:2
+          return;                          // scope 0 at $DIR/issue-73223.rs:+8:2: +8:2
       }
   }
   
index 14bb66910fe3cf644ba87fe738996c958ed82603..2368c021eda574375eb7f87e7212576871e48cef 100644 (file)
@@ -2,67 +2,67 @@
 + // MIR for `test` after SimplifyComparisonIntegral
   
   fn test(_1: T) -> () {
-      debug x => _1;                       // in scope 0 at $DIR/issue_76432.rs:6:38: 6:39
-      let mut _0: ();                      // return place in scope 0 at $DIR/issue_76432.rs:6:44: 6:44
-      let _2: &[T];                        // in scope 0 at $DIR/issue_76432.rs:7:9: 7:10
-      let mut _3: &[T; 3];                 // in scope 0 at $DIR/issue_76432.rs:7:19: 7:29
-      let _4: &[T; 3];                     // in scope 0 at $DIR/issue_76432.rs:7:19: 7:29
-      let _5: [T; 3];                      // in scope 0 at $DIR/issue_76432.rs:7:20: 7:29
-      let mut _6: T;                       // in scope 0 at $DIR/issue_76432.rs:7:21: 7:22
-      let mut _7: T;                       // in scope 0 at $DIR/issue_76432.rs:7:24: 7:25
-      let mut _8: T;                       // in scope 0 at $DIR/issue_76432.rs:7:27: 7:28
-      let _9: [*const T; 3];               // in scope 0 at $DIR/issue_76432.rs:8:5: 11:6
-      let mut _10: usize;                  // in scope 0 at $DIR/issue_76432.rs:9:9: 9:33
-      let mut _11: usize;                  // in scope 0 at $DIR/issue_76432.rs:9:9: 9:33
-      let mut _12: bool;                   // in scope 0 at $DIR/issue_76432.rs:9:9: 9:33
-      let mut _16: *const T;               // in scope 0 at $DIR/issue_76432.rs:9:38: 9:52
-      let mut _17: *const T;               // in scope 0 at $DIR/issue_76432.rs:9:38: 9:52
-      let mut _18: *const T;               // in scope 0 at $DIR/issue_76432.rs:9:54: 9:68
-      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
+      debug x => _1;                       // in scope 0 at $DIR/issue_76432.rs:+0:38: +0:39
+      let mut _0: ();                      // return place in scope 0 at $DIR/issue_76432.rs:+0:44: +0:44
+      let _2: &[T];                        // in scope 0 at $DIR/issue_76432.rs:+1:9: +1:10
+      let mut _3: &[T; 3];                 // in scope 0 at $DIR/issue_76432.rs:+1:19: +1:29
+      let _4: &[T; 3];                     // in scope 0 at $DIR/issue_76432.rs:+1:19: +1:29
+      let _5: [T; 3];                      // in scope 0 at $DIR/issue_76432.rs:+1:20: +1:29
+      let mut _6: T;                       // in scope 0 at $DIR/issue_76432.rs:+1:21: +1:22
+      let mut _7: T;                       // in scope 0 at $DIR/issue_76432.rs:+1:24: +1:25
+      let mut _8: T;                       // in scope 0 at $DIR/issue_76432.rs:+1:27: +1:28
+      let _9: [*const T; 3];               // in scope 0 at $DIR/issue_76432.rs:+2:5: +5:6
+      let mut _10: usize;                  // in scope 0 at $DIR/issue_76432.rs:+3:9: +3:33
+      let mut _11: usize;                  // in scope 0 at $DIR/issue_76432.rs:+3:9: +3:33
+      let mut _12: bool;                   // in scope 0 at $DIR/issue_76432.rs:+3:9: +3:33
+      let mut _16: *const T;               // in scope 0 at $DIR/issue_76432.rs:+3:38: +3:52
+      let mut _17: *const T;               // in scope 0 at $DIR/issue_76432.rs:+3:38: +3:52
+      let mut _18: *const T;               // in scope 0 at $DIR/issue_76432.rs:+3:54: +3:68
+      let mut _19: *const T;               // in scope 0 at $DIR/issue_76432.rs:+3:54: +3:68
+      let mut _20: *const T;               // in scope 0 at $DIR/issue_76432.rs:+3:70: +3:84
+      let mut _21: *const T;               // in scope 0 at $DIR/issue_76432.rs:+3:70: +3:84
       let mut _22: !;                      // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
-      let mut _23: &[T; 3];                // in scope 0 at $DIR/issue_76432.rs:7:19: 7:29
+      let mut _23: &[T; 3];                // in scope 0 at $DIR/issue_76432.rs:+1:19: +1:29
       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
-          let _14: &T;                     // in scope 1 at $DIR/issue_76432.rs:9:18: 9:24
-          let _15: &T;                     // in scope 1 at $DIR/issue_76432.rs:9:26: 9:32
+          debug v => _2;                   // in scope 1 at $DIR/issue_76432.rs:+1:9: +1:10
+          let _13: &T;                     // in scope 1 at $DIR/issue_76432.rs:+3:10: +3:16
+          let _14: &T;                     // in scope 1 at $DIR/issue_76432.rs:+3:18: +3:24
+          let _15: &T;                     // in scope 1 at $DIR/issue_76432.rs:+3:26: +3:32
           scope 2 {
-              debug v1 => _13;             // in scope 2 at $DIR/issue_76432.rs:9:10: 9:16
-              debug v2 => _14;             // in scope 2 at $DIR/issue_76432.rs:9:18: 9:24
-              debug v3 => _15;             // in scope 2 at $DIR/issue_76432.rs:9:26: 9:32
+              debug v1 => _13;             // in scope 2 at $DIR/issue_76432.rs:+3:10: +3:16
+              debug v2 => _14;             // in scope 2 at $DIR/issue_76432.rs:+3:18: +3:24
+              debug v3 => _15;             // in scope 2 at $DIR/issue_76432.rs:+3:26: +3:32
           }
       }
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/issue_76432.rs:7:9: 7:10
-          StorageLive(_3);                 // scope 0 at $DIR/issue_76432.rs:7:19: 7:29
-          StorageLive(_4);                 // scope 0 at $DIR/issue_76432.rs:7:19: 7:29
-          StorageLive(_5);                 // scope 0 at $DIR/issue_76432.rs:7:20: 7:29
-          StorageLive(_6);                 // scope 0 at $DIR/issue_76432.rs:7:21: 7:22
-          _6 = _1;                         // scope 0 at $DIR/issue_76432.rs:7:21: 7:22
-          StorageLive(_7);                 // scope 0 at $DIR/issue_76432.rs:7:24: 7:25
-          _7 = _1;                         // scope 0 at $DIR/issue_76432.rs:7:24: 7:25
-          StorageLive(_8);                 // scope 0 at $DIR/issue_76432.rs:7:27: 7:28
-          _8 = _1;                         // scope 0 at $DIR/issue_76432.rs:7:27: 7:28
-          _5 = [move _6, move _7, move _8]; // scope 0 at $DIR/issue_76432.rs:7:20: 7:29
-          StorageDead(_8);                 // scope 0 at $DIR/issue_76432.rs:7:28: 7:29
-          StorageDead(_7);                 // scope 0 at $DIR/issue_76432.rs:7:28: 7:29
-          StorageDead(_6);                 // scope 0 at $DIR/issue_76432.rs:7:28: 7:29
-          _4 = &_5;                        // scope 0 at $DIR/issue_76432.rs:7:19: 7:29
-          _3 = _4;                         // scope 0 at $DIR/issue_76432.rs:7:19: 7:29
-          StorageLive(_23);                // scope 0 at $DIR/issue_76432.rs:7:19: 7:29
-          _23 = _3;                        // scope 0 at $DIR/issue_76432.rs:7:19: 7:29
-          _2 = move _3 as &[T] (Pointer(Unsize)); // scope 0 at $DIR/issue_76432.rs:7:19: 7:29
-          StorageDead(_3);                 // scope 0 at $DIR/issue_76432.rs:7:28: 7:29
-          StorageDead(_4);                 // scope 0 at $DIR/issue_76432.rs:7:29: 7:30
-          StorageLive(_9);                 // scope 1 at $DIR/issue_76432.rs:8:5: 11:6
-          _10 = const 3_usize;             // scope 1 at $DIR/issue_76432.rs:9:9: 9:33
-          StorageDead(_23);                // scope 1 at $DIR/issue_76432.rs:9:9: 9:33
-          _11 = const 3_usize;             // scope 1 at $DIR/issue_76432.rs:9:9: 9:33
-          _12 = const true;                // scope 1 at $DIR/issue_76432.rs:9:9: 9:33
-          goto -> bb2;                     // scope 1 at $DIR/issue_76432.rs:9:9: 9:33
+          StorageLive(_2);                 // scope 0 at $DIR/issue_76432.rs:+1:9: +1:10
+          StorageLive(_3);                 // scope 0 at $DIR/issue_76432.rs:+1:19: +1:29
+          StorageLive(_4);                 // scope 0 at $DIR/issue_76432.rs:+1:19: +1:29
+          StorageLive(_5);                 // scope 0 at $DIR/issue_76432.rs:+1:20: +1:29
+          StorageLive(_6);                 // scope 0 at $DIR/issue_76432.rs:+1:21: +1:22
+          _6 = _1;                         // scope 0 at $DIR/issue_76432.rs:+1:21: +1:22
+          StorageLive(_7);                 // scope 0 at $DIR/issue_76432.rs:+1:24: +1:25
+          _7 = _1;                         // scope 0 at $DIR/issue_76432.rs:+1:24: +1:25
+          StorageLive(_8);                 // scope 0 at $DIR/issue_76432.rs:+1:27: +1:28
+          _8 = _1;                         // scope 0 at $DIR/issue_76432.rs:+1:27: +1:28
+          _5 = [move _6, move _7, move _8]; // scope 0 at $DIR/issue_76432.rs:+1:20: +1:29
+          StorageDead(_8);                 // scope 0 at $DIR/issue_76432.rs:+1:28: +1:29
+          StorageDead(_7);                 // scope 0 at $DIR/issue_76432.rs:+1:28: +1:29
+          StorageDead(_6);                 // scope 0 at $DIR/issue_76432.rs:+1:28: +1:29
+          _4 = &_5;                        // scope 0 at $DIR/issue_76432.rs:+1:19: +1:29
+          _3 = _4;                         // scope 0 at $DIR/issue_76432.rs:+1:19: +1:29
+          StorageLive(_23);                // scope 0 at $DIR/issue_76432.rs:+1:19: +1:29
+          _23 = _3;                        // scope 0 at $DIR/issue_76432.rs:+1:19: +1:29
+          _2 = move _3 as &[T] (Pointer(Unsize)); // scope 0 at $DIR/issue_76432.rs:+1:19: +1:29
+          StorageDead(_3);                 // scope 0 at $DIR/issue_76432.rs:+1:28: +1:29
+          StorageDead(_4);                 // scope 0 at $DIR/issue_76432.rs:+1:29: +1:30
+          StorageLive(_9);                 // scope 1 at $DIR/issue_76432.rs:+2:5: +5:6
+          _10 = const 3_usize;             // scope 1 at $DIR/issue_76432.rs:+3:9: +3:33
+          StorageDead(_23);                // scope 1 at $DIR/issue_76432.rs:+3:9: +3:33
+          _11 = const 3_usize;             // scope 1 at $DIR/issue_76432.rs:+3:9: +3:33
+          _12 = const true;                // scope 1 at $DIR/issue_76432.rs:+3:9: +3:33
+          goto -> bb2;                     // scope 1 at $DIR/issue_76432.rs:+3:9: +3:33
       }
   
       bb1: {
       }
   
       bb2: {
-          StorageLive(_13);                // scope 1 at $DIR/issue_76432.rs:9:10: 9:16
-          _13 = &(*_2)[0 of 3];            // scope 1 at $DIR/issue_76432.rs:9:10: 9:16
-          StorageLive(_14);                // scope 1 at $DIR/issue_76432.rs:9:18: 9:24
-          _14 = &(*_2)[1 of 3];            // scope 1 at $DIR/issue_76432.rs:9:18: 9:24
-          StorageLive(_15);                // scope 1 at $DIR/issue_76432.rs:9:26: 9:32
-          _15 = &(*_2)[2 of 3];            // scope 1 at $DIR/issue_76432.rs:9:26: 9:32
-          StorageLive(_16);                // scope 2 at $DIR/issue_76432.rs:9:38: 9:52
-          StorageLive(_17);                // scope 2 at $DIR/issue_76432.rs:9:38: 9:52
-          _17 = &raw const (*_13);         // scope 2 at $DIR/issue_76432.rs:9:38: 9:40
-          _16 = _17;                       // scope 2 at $DIR/issue_76432.rs:9:38: 9:52
-          StorageLive(_18);                // scope 2 at $DIR/issue_76432.rs:9:54: 9:68
-          StorageLive(_19);                // scope 2 at $DIR/issue_76432.rs:9:54: 9:68
-          _19 = &raw const (*_14);         // scope 2 at $DIR/issue_76432.rs:9:54: 9:56
-          _18 = _19;                       // scope 2 at $DIR/issue_76432.rs:9:54: 9:68
-          StorageLive(_20);                // scope 2 at $DIR/issue_76432.rs:9:70: 9:84
-          StorageLive(_21);                // scope 2 at $DIR/issue_76432.rs:9:70: 9:84
-          _21 = &raw const (*_15);         // scope 2 at $DIR/issue_76432.rs:9:70: 9:72
-          _20 = _21;                       // scope 2 at $DIR/issue_76432.rs:9:70: 9:84
-          _9 = [move _16, move _18, move _20]; // scope 2 at $DIR/issue_76432.rs:9:37: 9:85
-          StorageDead(_21);                // scope 2 at $DIR/issue_76432.rs:9:84: 9:85
-          StorageDead(_20);                // scope 2 at $DIR/issue_76432.rs:9:84: 9:85
-          StorageDead(_19);                // scope 2 at $DIR/issue_76432.rs:9:84: 9:85
-          StorageDead(_18);                // scope 2 at $DIR/issue_76432.rs:9:84: 9:85
-          StorageDead(_17);                // scope 2 at $DIR/issue_76432.rs:9:84: 9:85
-          StorageDead(_16);                // scope 2 at $DIR/issue_76432.rs:9:84: 9:85
-          StorageDead(_15);                // scope 1 at $DIR/issue_76432.rs:9:84: 9:85
-          StorageDead(_14);                // scope 1 at $DIR/issue_76432.rs:9:84: 9:85
-          StorageDead(_13);                // scope 1 at $DIR/issue_76432.rs:9:84: 9:85
-          StorageDead(_9);                 // scope 1 at $DIR/issue_76432.rs:11:6: 11:7
-          nop;                             // scope 0 at $DIR/issue_76432.rs:6:44: 12:2
-          StorageDead(_5);                 // scope 0 at $DIR/issue_76432.rs:12:1: 12:2
-          StorageDead(_2);                 // scope 0 at $DIR/issue_76432.rs:12:1: 12:2
-          return;                          // scope 0 at $DIR/issue_76432.rs:12:2: 12:2
+          StorageLive(_13);                // scope 1 at $DIR/issue_76432.rs:+3:10: +3:16
+          _13 = &(*_2)[0 of 3];            // scope 1 at $DIR/issue_76432.rs:+3:10: +3:16
+          StorageLive(_14);                // scope 1 at $DIR/issue_76432.rs:+3:18: +3:24
+          _14 = &(*_2)[1 of 3];            // scope 1 at $DIR/issue_76432.rs:+3:18: +3:24
+          StorageLive(_15);                // scope 1 at $DIR/issue_76432.rs:+3:26: +3:32
+          _15 = &(*_2)[2 of 3];            // scope 1 at $DIR/issue_76432.rs:+3:26: +3:32
+          StorageLive(_16);                // scope 2 at $DIR/issue_76432.rs:+3:38: +3:52
+          StorageLive(_17);                // scope 2 at $DIR/issue_76432.rs:+3:38: +3:52
+          _17 = &raw const (*_13);         // scope 2 at $DIR/issue_76432.rs:+3:38: +3:40
+          _16 = _17;                       // scope 2 at $DIR/issue_76432.rs:+3:38: +3:52
+          StorageLive(_18);                // scope 2 at $DIR/issue_76432.rs:+3:54: +3:68
+          StorageLive(_19);                // scope 2 at $DIR/issue_76432.rs:+3:54: +3:68
+          _19 = &raw const (*_14);         // scope 2 at $DIR/issue_76432.rs:+3:54: +3:56
+          _18 = _19;                       // scope 2 at $DIR/issue_76432.rs:+3:54: +3:68
+          StorageLive(_20);                // scope 2 at $DIR/issue_76432.rs:+3:70: +3:84
+          StorageLive(_21);                // scope 2 at $DIR/issue_76432.rs:+3:70: +3:84
+          _21 = &raw const (*_15);         // scope 2 at $DIR/issue_76432.rs:+3:70: +3:72
+          _20 = _21;                       // scope 2 at $DIR/issue_76432.rs:+3:70: +3:84
+          _9 = [move _16, move _18, move _20]; // scope 2 at $DIR/issue_76432.rs:+3:37: +3:85
+          StorageDead(_21);                // scope 2 at $DIR/issue_76432.rs:+3:84: +3:85
+          StorageDead(_20);                // scope 2 at $DIR/issue_76432.rs:+3:84: +3:85
+          StorageDead(_19);                // scope 2 at $DIR/issue_76432.rs:+3:84: +3:85
+          StorageDead(_18);                // scope 2 at $DIR/issue_76432.rs:+3:84: +3:85
+          StorageDead(_17);                // scope 2 at $DIR/issue_76432.rs:+3:84: +3:85
+          StorageDead(_16);                // scope 2 at $DIR/issue_76432.rs:+3:84: +3:85
+          StorageDead(_15);                // scope 1 at $DIR/issue_76432.rs:+3:84: +3:85
+          StorageDead(_14);                // scope 1 at $DIR/issue_76432.rs:+3:84: +3:85
+          StorageDead(_13);                // scope 1 at $DIR/issue_76432.rs:+3:84: +3:85
+          StorageDead(_9);                 // scope 1 at $DIR/issue_76432.rs:+5:6: +5:7
+          nop;                             // scope 0 at $DIR/issue_76432.rs:+0:44: +6:2
+          StorageDead(_5);                 // scope 0 at $DIR/issue_76432.rs:+6:1: +6:2
+          StorageDead(_2);                 // scope 0 at $DIR/issue_76432.rs:+6:1: +6:2
+          return;                          // scope 0 at $DIR/issue_76432.rs:+6:2: +6:2
       }
   }
   
index ec3be78525802eea27f0fec6a03e4068e67629a0..8ec94d65fda5260775092cf55c61d3a56aae9a3b 100644 (file)
@@ -2,28 +2,28 @@
 + // MIR for `f` after InstCombine
   
   fn f(_1: &T) -> *const T {
-      debug a => _1;                       // in scope 0 at $DIR/issue-78192.rs:2:13: 2:14
-      let mut _0: *const T;                // return place in scope 0 at $DIR/issue-78192.rs:2:23: 2:31
-      let _2: &*const T;                   // in scope 0 at $DIR/issue-78192.rs:3:9: 3:10
-      let _3: &*const T;                   // in scope 0 at $DIR/issue-78192.rs:3:24: 3:40
-      let _4: *const T;                    // in scope 0 at $DIR/issue-78192.rs:3:25: 3:40
+      debug a => _1;                       // in scope 0 at $DIR/issue-78192.rs:+0:13: +0:14
+      let mut _0: *const T;                // return place in scope 0 at $DIR/issue-78192.rs:+0:23: +0:31
+      let _2: &*const T;                   // in scope 0 at $DIR/issue-78192.rs:+1:9: +1:10
+      let _3: &*const T;                   // in scope 0 at $DIR/issue-78192.rs:+1:24: +1:40
+      let _4: *const T;                    // in scope 0 at $DIR/issue-78192.rs:+1:25: +1:40
       scope 1 {
-          debug b => _2;                   // in scope 1 at $DIR/issue-78192.rs:3:9: 3:10
+          debug b => _2;                   // in scope 1 at $DIR/issue-78192.rs:+1:9: +1:10
       }
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/issue-78192.rs:3:9: 3:10
-          StorageLive(_3);                 // scope 0 at $DIR/issue-78192.rs:3:24: 3:40
-          StorageLive(_4);                 // scope 0 at $DIR/issue-78192.rs:3:25: 3:40
-          _4 = &raw const (*_1);           // scope 0 at $DIR/issue-78192.rs:3:26: 3:27
-          _3 = &_4;                        // scope 0 at $DIR/issue-78192.rs:3:24: 3:40
--         _2 = &(*_3);                     // scope 0 at $DIR/issue-78192.rs:3:24: 3:40
-+         _2 = _3;                         // scope 0 at $DIR/issue-78192.rs:3:24: 3:40
-          StorageDead(_3);                 // scope 0 at $DIR/issue-78192.rs:3:40: 3:41
-          _0 = (*_2);                      // scope 1 at $DIR/issue-78192.rs:4:5: 4:7
-          StorageDead(_4);                 // scope 0 at $DIR/issue-78192.rs:5:1: 5:2
-          StorageDead(_2);                 // scope 0 at $DIR/issue-78192.rs:5:1: 5:2
-          return;                          // scope 0 at $DIR/issue-78192.rs:5:2: 5:2
+          StorageLive(_2);                 // scope 0 at $DIR/issue-78192.rs:+1:9: +1:10
+          StorageLive(_3);                 // scope 0 at $DIR/issue-78192.rs:+1:24: +1:40
+          StorageLive(_4);                 // scope 0 at $DIR/issue-78192.rs:+1:25: +1:40
+          _4 = &raw const (*_1);           // scope 0 at $DIR/issue-78192.rs:+1:26: +1:27
+          _3 = &_4;                        // scope 0 at $DIR/issue-78192.rs:+1:24: +1:40
+-         _2 = &(*_3);                     // scope 0 at $DIR/issue-78192.rs:+1:24: +1:40
++         _2 = _3;                         // scope 0 at $DIR/issue-78192.rs:+1:24: +1:40
+          StorageDead(_3);                 // scope 0 at $DIR/issue-78192.rs:+1:40: +1:41
+          _0 = (*_2);                      // scope 1 at $DIR/issue-78192.rs:+2:5: +2:7
+          StorageDead(_4);                 // scope 0 at $DIR/issue-78192.rs:+3:1: +3:2
+          StorageDead(_2);                 // scope 0 at $DIR/issue-78192.rs:+3:1: +3:2
+          return;                          // scope 0 at $DIR/issue-78192.rs:+3:2: +3:2
       }
   }
   
index 175f244aa5dc9344f5588867fb017042cf3eb7a8..5bca9f0ea989394de4768609e5e30cfd1bc36d0f 100644 (file)
@@ -5,14 +5,14 @@
 | 1: user_ty: Canonical { max_universe: U0, variables: [], value: TypeOf(DefId(0:3 ~ issue_99325[8f58]::function_with_bytes), UserSubsts { substs: [Const { ty: &'static [u8; 4], kind: Unevaluated(Unevaluated { def: WithOptConstParam { did: DefId(0:8 ~ issue_99325[8f58]::main::{constant#1}), const_param_did: Some(DefId(0:4 ~ issue_99325[8f58]::function_with_bytes::BYTES)) }, substs: [], promoted: None }) }], user_self_ty: None }) }, span: $DIR/issue-99325.rs:11:16: 11:68, inferred_ty: fn() -> &'static [u8] {function_with_bytes::<&*b"AAAA">}
 |
 fn main() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/issue-99325.rs:9:15: 9:15
+    let mut _0: ();                      // return place in scope 0 at $DIR/issue-99325.rs:+0:15: +0:15
     let _1: ();                          // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
     let mut _2: (&&[u8], &&[u8; 4]);     // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
     let mut _3: &&[u8];                  // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-    let _4: &[u8];                       // in scope 0 at $DIR/issue-99325.rs:10:16: 10:48
+    let _4: &[u8];                       // in scope 0 at $DIR/issue-99325.rs:+1:16: +1:48
     let mut _5: &&[u8; 4];               // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-    let _6: &[u8; 4];                    // in scope 0 at $DIR/issue-99325.rs:10:50: 10:75
-    let _7: [u8; 4];                     // in scope 0 at $DIR/issue-99325.rs:10:51: 10:75
+    let _6: &[u8; 4];                    // in scope 0 at $DIR/issue-99325.rs:+1:50: +1:75
+    let _7: [u8; 4];                     // in scope 0 at $DIR/issue-99325.rs:+1:51: +1:75
     let _8: &&[u8];                      // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
     let _9: &&[u8; 4];                   // 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
@@ -30,9 +30,9 @@ fn main() -> () {
     let _23: ();                         // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
     let mut _24: (&&[u8], &&[u8; 4]);    // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
     let mut _25: &&[u8];                 // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-    let _26: &[u8];                      // in scope 0 at $DIR/issue-99325.rs:11:16: 11:70
+    let _26: &[u8];                      // in scope 0 at $DIR/issue-99325.rs:+2:16: +2:70
     let mut _27: &&[u8; 4];              // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-    let _28: &[u8; 4];                   // in scope 0 at $DIR/issue-99325.rs:11:72: 11:79
+    let _28: &[u8; 4];                   // in scope 0 at $DIR/issue-99325.rs:+2:72: +2:79
     let _29: &&[u8];                     // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
     let _30: &&[u8; 4];                  // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
     let mut _31: bool;                   // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
@@ -68,8 +68,8 @@ fn main() -> () {
         StorageLive(_1);                 // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
         StorageLive(_2);                 // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
         StorageLive(_3);                 // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-        StorageLive(_4);                 // scope 0 at $DIR/issue-99325.rs:10:16: 10:48
-        _4 = function_with_bytes::<&*b"AAAA">() -> [return: bb1, unwind: bb19]; // scope 0 at $DIR/issue-99325.rs:10:16: 10:48
+        StorageLive(_4);                 // scope 0 at $DIR/issue-99325.rs:+1:16: +1:48
+        _4 = function_with_bytes::<&*b"AAAA">() -> [return: bb1, unwind: bb19]; // scope 0 at $DIR/issue-99325.rs:+1:16: +1:48
                                          // mir::Constant
                                          // + span: $DIR/issue-99325.rs:10:16: 10:46
                                          // + user_ty: UserType(0)
@@ -79,10 +79,10 @@ fn main() -> () {
     bb1: {
         _3 = &_4;                        // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
         StorageLive(_5);                 // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-        StorageLive(_6);                 // scope 0 at $DIR/issue-99325.rs:10:50: 10:75
-        StorageLive(_7);                 // scope 0 at $DIR/issue-99325.rs:10:51: 10:75
-        _7 = [const 65_u8, const 65_u8, const 65_u8, const 65_u8]; // scope 0 at $DIR/issue-99325.rs:10:51: 10:75
-        _6 = &_7;                        // scope 0 at $DIR/issue-99325.rs:10:50: 10:75
+        StorageLive(_6);                 // scope 0 at $DIR/issue-99325.rs:+1:50: +1:75
+        StorageLive(_7);                 // scope 0 at $DIR/issue-99325.rs:+1:51: +1:75
+        _7 = [const 65_u8, const 65_u8, const 65_u8, const 65_u8]; // scope 0 at $DIR/issue-99325.rs:+1:51: +1:75
+        _6 = &_7;                        // scope 0 at $DIR/issue-99325.rs:+1:50: +1:75
         _5 = &_6;                        // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
         _2 = (move _3, move _5);         // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
         StorageDead(_5);                 // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
@@ -176,8 +176,8 @@ fn main() -> () {
         StorageLive(_23);                // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
         StorageLive(_24);                // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
         StorageLive(_25);                // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-        StorageLive(_26);                // scope 0 at $DIR/issue-99325.rs:11:16: 11:70
-        _26 = function_with_bytes::<&*b"AAAA">() -> [return: bb10, unwind: bb19]; // scope 0 at $DIR/issue-99325.rs:11:16: 11:70
+        StorageLive(_26);                // scope 0 at $DIR/issue-99325.rs:+2:16: +2:70
+        _26 = function_with_bytes::<&*b"AAAA">() -> [return: bb10, unwind: bb19]; // scope 0 at $DIR/issue-99325.rs:+2:16: +2:70
                                          // mir::Constant
                                          // + span: $DIR/issue-99325.rs:11:16: 11:68
                                          // + user_ty: UserType(1)
@@ -187,8 +187,8 @@ fn main() -> () {
     bb10: {
         _25 = &_26;                      // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
         StorageLive(_27);                // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-        StorageLive(_28);                // scope 0 at $DIR/issue-99325.rs:11:72: 11:79
-        _28 = const b"AAAA";             // scope 0 at $DIR/issue-99325.rs:11:72: 11:79
+        StorageLive(_28);                // scope 0 at $DIR/issue-99325.rs:+2:72: +2:79
+        _28 = const b"AAAA";             // scope 0 at $DIR/issue-99325.rs:+2:72: +2:79
                                          // mir::Constant
                                          // + span: $DIR/issue-99325.rs:11:72: 11:79
                                          // + literal: Const { ty: &[u8; 4], val: Value(Scalar(alloc4)) }
@@ -281,12 +281,12 @@ fn main() -> () {
         StorageDead(_26);                // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
         StorageDead(_24);                // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
         StorageDead(_23);                // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-        _0 = const ();                   // scope 0 at $DIR/issue-99325.rs:9:15: 12:2
-        return;                          // scope 0 at $DIR/issue-99325.rs:12:2: 12:2
+        _0 = const ();                   // scope 0 at $DIR/issue-99325.rs:+0:15: +3:2
+        return;                          // scope 0 at $DIR/issue-99325.rs:+3:2: +3:2
     }
 
     bb19 (cleanup): {
-        resume;                          // scope 0 at $DIR/issue-99325.rs:9:1: 12:2
+        resume;                          // scope 0 at $DIR/issue-99325.rs:+0:1: +3:2
     }
 }
 
index dd85434d879c3ac4044d1d7a8cda519dca913b40..86b38d4b70adc630f61873159099fd99604a3eba 100644 (file)
@@ -1,12 +1,12 @@
 // MIR for `num_to_digit` after PreCodegen
 
 fn num_to_digit(_1: char) -> u32 {
-    debug num => _1;                     // in scope 0 at $DIR/issue-59352.rs:12:21: 12:24
-    let mut _0: u32;                     // return place in scope 0 at $DIR/issue-59352.rs:12:35: 12:38
-    let mut _2: char;                    // in scope 0 at $DIR/issue-59352.rs:14:8: 14:11
-    let mut _3: std::option::Option<u32>; // in scope 0 at $DIR/issue-59352.rs:14:26: 14:41
-    let mut _4: char;                    // in scope 0 at $DIR/issue-59352.rs:14:26: 14:29
-    let mut _5: u32;                     // in scope 0 at $DIR/issue-59352.rs:14:8: 14:23
+    debug num => _1;                     // in scope 0 at $DIR/issue-59352.rs:+0:21: +0:24
+    let mut _0: u32;                     // return place in scope 0 at $DIR/issue-59352.rs:+0:35: +0:38
+    let mut _2: char;                    // in scope 0 at $DIR/issue-59352.rs:+2:8: +2:11
+    let mut _3: std::option::Option<u32>; // in scope 0 at $DIR/issue-59352.rs:+2:26: +2:41
+    let mut _4: char;                    // in scope 0 at $DIR/issue-59352.rs:+2:26: +2:29
+    let mut _5: u32;                     // in scope 0 at $DIR/issue-59352.rs:+2:8: +2:23
     let mut _12: isize;                  // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
     scope 1 (inlined char::methods::<impl char>::is_digit) { // at $DIR/issue-59352.rs:14:8: 14:23
         debug self => _2;                // in scope 1 at $SRC_DIR/core/src/char/methods.rs:LL:COL
@@ -29,9 +29,9 @@ fn num_to_digit(_1: char) -> u32 {
     }
 
     bb0: {
-        StorageLive(_2);                 // scope 0 at $DIR/issue-59352.rs:14:8: 14:11
-        _2 = _1;                         // scope 0 at $DIR/issue-59352.rs:14:8: 14:11
-        StorageLive(_5);                 // scope 0 at $DIR/issue-59352.rs:14:8: 14:23
+        StorageLive(_2);                 // scope 0 at $DIR/issue-59352.rs:+2:8: +2:11
+        _2 = _1;                         // scope 0 at $DIR/issue-59352.rs:+2:8: +2:11
+        StorageLive(_5);                 // scope 0 at $DIR/issue-59352.rs:+2:8: +2:23
         StorageLive(_6);                 // scope 1 at $SRC_DIR/core/src/char/methods.rs:LL:COL
         StorageLive(_7);                 // scope 1 at $SRC_DIR/core/src/char/methods.rs:LL:COL
         StorageLive(_8);                 // scope 1 at $SRC_DIR/core/src/char/methods.rs:LL:COL
@@ -43,31 +43,31 @@ fn num_to_digit(_1: char) -> u32 {
     }
 
     bb1: {
-        StorageDead(_12);                // scope 0 at $DIR/issue-59352.rs:14:8: 14:23
-        StorageLive(_3);                 // scope 0 at $DIR/issue-59352.rs:14:26: 14:41
-        StorageLive(_4);                 // scope 0 at $DIR/issue-59352.rs:14:26: 14:29
-        _4 = _1;                         // scope 0 at $DIR/issue-59352.rs:14:26: 14:29
-        _3 = char::methods::<impl char>::to_digit(move _4, const 8_u32) -> bb2; // scope 0 at $DIR/issue-59352.rs:14:26: 14:41
+        StorageDead(_12);                // scope 0 at $DIR/issue-59352.rs:+2:8: +2:23
+        StorageLive(_3);                 // scope 0 at $DIR/issue-59352.rs:+2:26: +2:41
+        StorageLive(_4);                 // scope 0 at $DIR/issue-59352.rs:+2:26: +2:29
+        _4 = _1;                         // scope 0 at $DIR/issue-59352.rs:+2:26: +2:29
+        _3 = char::methods::<impl char>::to_digit(move _4, const 8_u32) -> bb2; // scope 0 at $DIR/issue-59352.rs:+2:26: +2:41
                                          // mir::Constant
                                          // + span: $DIR/issue-59352.rs:14:30: 14:38
                                          // + literal: Const { ty: fn(char, u32) -> Option<u32> {char::methods::<impl char>::to_digit}, val: Value(<ZST>) }
     }
 
     bb2: {
-        StorageDead(_4);                 // scope 0 at $DIR/issue-59352.rs:14:40: 14:41
-        StorageLive(_10);                // scope 0 at $DIR/issue-59352.rs:14:26: 14:50
+        StorageDead(_4);                 // scope 0 at $DIR/issue-59352.rs:+2:40: +2:41
+        StorageLive(_10);                // scope 0 at $DIR/issue-59352.rs:+2:26: +2:50
         _10 = discriminant(_3);          // scope 3 at $SRC_DIR/core/src/option.rs:LL:COL
         switchInt(move _10) -> [0_isize: bb6, 1_isize: bb8, otherwise: bb7]; // scope 3 at $SRC_DIR/core/src/option.rs:LL:COL
     }
 
     bb3: {
-        StorageDead(_12);                // scope 0 at $DIR/issue-59352.rs:14:8: 14:23
-        _0 = const 0_u32;                // scope 0 at $DIR/issue-59352.rs:14:60: 14:61
-        goto -> bb4;                     // scope 0 at $DIR/issue-59352.rs:14:5: 14:63
+        StorageDead(_12);                // scope 0 at $DIR/issue-59352.rs:+2:8: +2:23
+        _0 = const 0_u32;                // scope 0 at $DIR/issue-59352.rs:+2:60: +2:61
+        goto -> bb4;                     // scope 0 at $DIR/issue-59352.rs:+2:5: +2:63
     }
 
     bb4: {
-        return;                          // scope 0 at $DIR/issue-59352.rs:15:2: 15:2
+        return;                          // scope 0 at $DIR/issue-59352.rs:+3:2: +3:2
     }
 
     bb5: {
@@ -80,9 +80,9 @@ fn num_to_digit(_1: char) -> u32 {
         StorageDead(_9);                 // scope 1 at $SRC_DIR/core/src/char/methods.rs:LL:COL
         StorageDead(_6);                 // scope 1 at $SRC_DIR/core/src/char/methods.rs:LL:COL
         StorageDead(_7);                 // scope 1 at $SRC_DIR/core/src/char/methods.rs:LL:COL
-        StorageDead(_5);                 // scope 0 at $DIR/issue-59352.rs:14:8: 14:23
-        StorageDead(_2);                 // scope 0 at $DIR/issue-59352.rs:14:22: 14:23
-        switchInt(move _12) -> [1_isize: bb1, otherwise: bb3]; // scope 0 at $DIR/issue-59352.rs:14:8: 14:23
+        StorageDead(_5);                 // scope 0 at $DIR/issue-59352.rs:+2:8: +2:23
+        StorageDead(_2);                 // scope 0 at $DIR/issue-59352.rs:+2:22: +2:23
+        switchInt(move _12) -> [1_isize: bb1, otherwise: bb3]; // scope 0 at $DIR/issue-59352.rs:+2:8: +2:23
     }
 
     bb6: {
@@ -102,8 +102,8 @@ fn num_to_digit(_1: char) -> u32 {
 
     bb8: {
         _0 = move ((_3 as Some).0: u32); // scope 3 at $SRC_DIR/core/src/option.rs:LL:COL
-        StorageDead(_10);                // scope 0 at $DIR/issue-59352.rs:14:26: 14:50
-        StorageDead(_3);                 // scope 0 at $DIR/issue-59352.rs:14:49: 14:50
-        goto -> bb4;                     // scope 0 at $DIR/issue-59352.rs:14:5: 14:63
+        StorageDead(_10);                // scope 0 at $DIR/issue-59352.rs:+2:26: +2:50
+        StorageDead(_3);                 // scope 0 at $DIR/issue-59352.rs:+2:49: +2:50
+        goto -> bb4;                     // scope 0 at $DIR/issue-59352.rs:+2:5: +2:63
     }
 }
index 08ff3b67655cedfafa8c4a77d300e6ce0504381b..2ee4332ad3827117f1528f2356e76284268a8b4a 100644 (file)
@@ -2,17 +2,17 @@
 + // MIR for `foo` after MatchBranchSimplification
   
   fn foo(_1: [u8; 16]) -> Option<[u8; 4]> {
-      debug bytes => _1;                   // in scope 0 at $DIR/issue-75439.rs:5:12: 5:17
-      let mut _0: std::option::Option<[u8; 4]>; // return place in scope 0 at $DIR/issue-75439.rs:5:32: 5:47
-      let _2: [u32; 4];                    // in scope 0 at $DIR/issue-75439.rs:7:9: 7:15
-      let mut _3: [u8; 16];                // in scope 0 at $DIR/issue-75439.rs:7:47: 7:52
-      let mut _5: [u8; 4];                 // in scope 0 at $DIR/issue-75439.rs:10:14: 10:38
-      let mut _6: u32;                     // in scope 0 at $DIR/issue-75439.rs:10:33: 10:35
+      debug bytes => _1;                   // in scope 0 at $DIR/issue-75439.rs:+0:12: +0:17
+      let mut _0: std::option::Option<[u8; 4]>; // return place in scope 0 at $DIR/issue-75439.rs:+0:32: +0:47
+      let _2: [u32; 4];                    // in scope 0 at $DIR/issue-75439.rs:+2:9: +2:15
+      let mut _3: [u8; 16];                // in scope 0 at $DIR/issue-75439.rs:+2:47: +2:52
+      let mut _5: [u8; 4];                 // in scope 0 at $DIR/issue-75439.rs:+5:14: +5:38
+      let mut _6: u32;                     // in scope 0 at $DIR/issue-75439.rs:+5:33: +5:35
       scope 1 {
-          debug dwords => _2;              // in scope 1 at $DIR/issue-75439.rs:7:9: 7:15
+          debug dwords => _2;              // in scope 1 at $DIR/issue-75439.rs:+2:9: +2:15
           scope 3 {
-              debug ip => _4;              // in scope 3 at $DIR/issue-75439.rs:9:27: 9:29
-              let _4: u32;                 // in scope 3 at $DIR/issue-75439.rs:9:27: 9:29
+              debug ip => _4;              // in scope 3 at $DIR/issue-75439.rs:+4:27: +4:29
+              let _4: u32;                 // in scope 3 at $DIR/issue-75439.rs:+4:27: +4:29
               scope 4 {
               }
           }
       }
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/issue-75439.rs:7:9: 7:15
-          StorageLive(_3);                 // scope 2 at $DIR/issue-75439.rs:7:47: 7:52
-          _3 = _1;                         // scope 2 at $DIR/issue-75439.rs:7:47: 7:52
-          _2 = transmute::<[u8; 16], [u32; 4]>(move _3) -> bb1; // scope 2 at $DIR/issue-75439.rs:7:37: 7:53
+          StorageLive(_2);                 // scope 0 at $DIR/issue-75439.rs:+2:9: +2:15
+          StorageLive(_3);                 // scope 2 at $DIR/issue-75439.rs:+2:47: +2:52
+          _3 = _1;                         // scope 2 at $DIR/issue-75439.rs:+2:47: +2:52
+          _2 = transmute::<[u8; 16], [u32; 4]>(move _3) -> bb1; // scope 2 at $DIR/issue-75439.rs:+2:37: +2:53
                                            // mir::Constant
                                            // + span: $DIR/issue-75439.rs:7:37: 7:46
                                            // + literal: Const { ty: unsafe extern "rust-intrinsic" fn([u8; 16]) -> [u32; 4] {transmute::<[u8; 16], [u32; 4]>}, val: Value(<ZST>) }
       }
   
       bb1: {
-          StorageDead(_3);                 // scope 2 at $DIR/issue-75439.rs:7:52: 7:53
-          switchInt(_2[0 of 4]) -> [0_u32: bb2, otherwise: bb8]; // scope 3 at $DIR/issue-75439.rs:9:12: 9:30
+          StorageDead(_3);                 // scope 2 at $DIR/issue-75439.rs:+2:52: +2:53
+          switchInt(_2[0 of 4]) -> [0_u32: bb2, otherwise: bb8]; // scope 3 at $DIR/issue-75439.rs:+4:12: +4:30
       }
   
       bb2: {
-          switchInt(_2[1 of 4]) -> [0_u32: bb3, otherwise: bb8]; // scope 3 at $DIR/issue-75439.rs:9:12: 9:30
+          switchInt(_2[1 of 4]) -> [0_u32: bb3, otherwise: bb8]; // scope 3 at $DIR/issue-75439.rs:+4:12: +4:30
       }
   
       bb3: {
-          switchInt(_2[2 of 4]) -> [0_u32: bb5, 4294901760_u32: bb6, otherwise: bb8]; // scope 3 at $DIR/issue-75439.rs:9:12: 9:30
+          switchInt(_2[2 of 4]) -> [0_u32: bb5, 4294901760_u32: bb6, otherwise: bb8]; // scope 3 at $DIR/issue-75439.rs:+4:12: +4:30
       }
   
       bb4: {
-          StorageLive(_5);                 // scope 3 at $DIR/issue-75439.rs:10:14: 10:38
-          StorageLive(_6);                 // scope 4 at $DIR/issue-75439.rs:10:33: 10:35
-          _6 = _4;                         // scope 4 at $DIR/issue-75439.rs:10:33: 10:35
-          _5 = transmute::<u32, [u8; 4]>(move _6) -> bb7; // scope 4 at $DIR/issue-75439.rs:10:23: 10:36
+          StorageLive(_5);                 // scope 3 at $DIR/issue-75439.rs:+5:14: +5:38
+          StorageLive(_6);                 // scope 4 at $DIR/issue-75439.rs:+5:33: +5:35
+          _6 = _4;                         // scope 4 at $DIR/issue-75439.rs:+5:33: +5:35
+          _5 = transmute::<u32, [u8; 4]>(move _6) -> bb7; // scope 4 at $DIR/issue-75439.rs:+5:23: +5:36
                                            // mir::Constant
                                            // + span: $DIR/issue-75439.rs:10:23: 10:32
                                            // + literal: Const { ty: unsafe extern "rust-intrinsic" fn(u32) -> [u8; 4] {transmute::<u32, [u8; 4]>}, val: Value(<ZST>) }
       }
   
       bb5: {
-          StorageLive(_4);                 // scope 3 at $DIR/issue-75439.rs:9:27: 9:29
-          _4 = _2[3 of 4];                 // scope 3 at $DIR/issue-75439.rs:9:27: 9:29
-          goto -> bb4;                     // scope 3 at $DIR/issue-75439.rs:9:12: 9:30
+          StorageLive(_4);                 // scope 3 at $DIR/issue-75439.rs:+4:27: +4:29
+          _4 = _2[3 of 4];                 // scope 3 at $DIR/issue-75439.rs:+4:27: +4:29
+          goto -> bb4;                     // scope 3 at $DIR/issue-75439.rs:+4:12: +4:30
       }
   
       bb6: {
-          StorageLive(_4);                 // scope 3 at $DIR/issue-75439.rs:9:27: 9:29
-          _4 = _2[3 of 4];                 // scope 3 at $DIR/issue-75439.rs:9:27: 9:29
-          goto -> bb4;                     // scope 3 at $DIR/issue-75439.rs:9:12: 9:30
+          StorageLive(_4);                 // scope 3 at $DIR/issue-75439.rs:+4:27: +4:29
+          _4 = _2[3 of 4];                 // scope 3 at $DIR/issue-75439.rs:+4:27: +4:29
+          goto -> bb4;                     // scope 3 at $DIR/issue-75439.rs:+4:12: +4:30
       }
   
       bb7: {
-          StorageDead(_6);                 // scope 4 at $DIR/issue-75439.rs:10:35: 10:36
-          Deinit(_0);                      // scope 3 at $DIR/issue-75439.rs:10:9: 10:39
-          ((_0 as Some).0: [u8; 4]) = move _5; // scope 3 at $DIR/issue-75439.rs:10:9: 10:39
-          discriminant(_0) = 1;            // scope 3 at $DIR/issue-75439.rs:10:9: 10:39
-          StorageDead(_5);                 // scope 3 at $DIR/issue-75439.rs:10:38: 10:39
-          StorageDead(_4);                 // scope 1 at $DIR/issue-75439.rs:11:5: 11:6
-          goto -> bb9;                     // scope 1 at $DIR/issue-75439.rs:9:5: 13:6
+          StorageDead(_6);                 // scope 4 at $DIR/issue-75439.rs:+5:35: +5:36
+          Deinit(_0);                      // scope 3 at $DIR/issue-75439.rs:+5:9: +5:39
+          ((_0 as Some).0: [u8; 4]) = move _5; // scope 3 at $DIR/issue-75439.rs:+5:9: +5:39
+          discriminant(_0) = 1;            // scope 3 at $DIR/issue-75439.rs:+5:9: +5:39
+          StorageDead(_5);                 // scope 3 at $DIR/issue-75439.rs:+5:38: +5:39
+          StorageDead(_4);                 // scope 1 at $DIR/issue-75439.rs:+6:5: +6:6
+          goto -> bb9;                     // scope 1 at $DIR/issue-75439.rs:+4:5: +8:6
       }
   
       bb8: {
-          Deinit(_0);                      // scope 1 at $DIR/issue-75439.rs:12:9: 12:13
-          discriminant(_0) = 0;            // scope 1 at $DIR/issue-75439.rs:12:9: 12:13
-          goto -> bb9;                     // scope 1 at $DIR/issue-75439.rs:9:5: 13:6
+          Deinit(_0);                      // scope 1 at $DIR/issue-75439.rs:+7:9: +7:13
+          discriminant(_0) = 0;            // scope 1 at $DIR/issue-75439.rs:+7:9: +7:13
+          goto -> bb9;                     // scope 1 at $DIR/issue-75439.rs:+4:5: +8:6
       }
   
       bb9: {
-          StorageDead(_2);                 // scope 0 at $DIR/issue-75439.rs:14:1: 14:2
-          return;                          // scope 0 at $DIR/issue-75439.rs:14:2: 14:2
+          StorageDead(_2);                 // scope 0 at $DIR/issue-75439.rs:+9:1: +9:2
+          return;                          // scope 0 at $DIR/issue-75439.rs:+9:2: +9:2
       }
   }
   
index 9e91603cee943292e50da84cc5b6f8071c58ebfc..5981ab885f90c9beea07295c5c0ef9e38a95a110 100644 (file)
@@ -1,52 +1,52 @@
 // MIR for `main` after SimplifyCfg-promote-consts
 
 fn main() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/loop_test.rs:6:11: 6:11
-    let _1: ();                          // in scope 0 at $DIR/loop_test.rs:10:5: 12:6
-    let mut _2: bool;                    // in scope 0 at $DIR/loop_test.rs:10:8: 10:12
-    let mut _3: !;                       // in scope 0 at $DIR/loop_test.rs:10:13: 12:6
-    let mut _4: !;                       // in scope 0 at $DIR/loop_test.rs:13:5: 16:6
-    let mut _5: ();                      // in scope 0 at $DIR/loop_test.rs:6:1: 17:2
-    let _6: i32;                         // in scope 0 at $DIR/loop_test.rs:14:13: 14:14
+    let mut _0: ();                      // return place in scope 0 at $DIR/loop_test.rs:+0:11: +0:11
+    let _1: ();                          // in scope 0 at $DIR/loop_test.rs:+4:5: +6:6
+    let mut _2: bool;                    // in scope 0 at $DIR/loop_test.rs:+4:8: +4:12
+    let mut _3: !;                       // in scope 0 at $DIR/loop_test.rs:+4:13: +6:6
+    let mut _4: !;                       // in scope 0 at $DIR/loop_test.rs:+7:5: +10:6
+    let mut _5: ();                      // in scope 0 at $DIR/loop_test.rs:+0:1: +11:2
+    let _6: i32;                         // in scope 0 at $DIR/loop_test.rs:+8:13: +8:14
     scope 1 {
-        debug x => _6;                   // in scope 1 at $DIR/loop_test.rs:14:13: 14:14
+        debug x => _6;                   // in scope 1 at $DIR/loop_test.rs:+8:13: +8:14
     }
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/loop_test.rs:10:5: 12:6
-        StorageLive(_2);                 // scope 0 at $DIR/loop_test.rs:10:8: 10:12
-        _2 = const true;                 // scope 0 at $DIR/loop_test.rs:10:8: 10:12
-        switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/loop_test.rs:10:8: 10:12
+        StorageLive(_1);                 // scope 0 at $DIR/loop_test.rs:+4:5: +6:6
+        StorageLive(_2);                 // scope 0 at $DIR/loop_test.rs:+4:8: +4:12
+        _2 = const true;                 // scope 0 at $DIR/loop_test.rs:+4:8: +4:12
+        switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/loop_test.rs:+4:8: +4:12
     }
 
     bb1: {
-        _0 = const ();                   // scope 0 at $DIR/loop_test.rs:11:9: 11:15
-        StorageDead(_2);                 // scope 0 at $DIR/loop_test.rs:12:5: 12:6
-        StorageDead(_1);                 // scope 0 at $DIR/loop_test.rs:12:5: 12:6
-        return;                          // scope 0 at $DIR/loop_test.rs:17:2: 17:2
+        _0 = const ();                   // scope 0 at $DIR/loop_test.rs:+5:9: +5:15
+        StorageDead(_2);                 // scope 0 at $DIR/loop_test.rs:+6:5: +6:6
+        StorageDead(_1);                 // scope 0 at $DIR/loop_test.rs:+6:5: +6:6
+        return;                          // scope 0 at $DIR/loop_test.rs:+11:2: +11:2
     }
 
     bb2: {
-        _1 = const ();                   // scope 0 at $DIR/loop_test.rs:12:6: 12:6
-        StorageDead(_2);                 // scope 0 at $DIR/loop_test.rs:12:5: 12:6
-        StorageDead(_1);                 // scope 0 at $DIR/loop_test.rs:12:5: 12:6
-        StorageLive(_4);                 // scope 0 at $DIR/loop_test.rs:13:5: 16:6
-        goto -> bb3;                     // scope 0 at $DIR/loop_test.rs:13:5: 16:6
+        _1 = const ();                   // scope 0 at $DIR/loop_test.rs:+6:6: +6:6
+        StorageDead(_2);                 // scope 0 at $DIR/loop_test.rs:+6:5: +6:6
+        StorageDead(_1);                 // scope 0 at $DIR/loop_test.rs:+6:5: +6:6
+        StorageLive(_4);                 // scope 0 at $DIR/loop_test.rs:+7:5: +10:6
+        goto -> bb3;                     // scope 0 at $DIR/loop_test.rs:+7:5: +10:6
     }
 
     bb3: {
-        falseUnwind -> [real: bb4, cleanup: bb5]; // scope 0 at $DIR/loop_test.rs:13:5: 16:6
+        falseUnwind -> [real: bb4, cleanup: bb5]; // scope 0 at $DIR/loop_test.rs:+7:5: +10:6
     }
 
     bb4: {
-        StorageLive(_6);                 // scope 0 at $DIR/loop_test.rs:14:13: 14:14
-        _6 = const 1_i32;                // scope 0 at $DIR/loop_test.rs:14:17: 14:18
-        FakeRead(ForLet(None), _6);      // scope 0 at $DIR/loop_test.rs:14:13: 14:14
-        StorageDead(_6);                 // scope 0 at $DIR/loop_test.rs:16:5: 16:6
+        StorageLive(_6);                 // scope 0 at $DIR/loop_test.rs:+8:13: +8:14
+        _6 = const 1_i32;                // scope 0 at $DIR/loop_test.rs:+8:17: +8:18
+        FakeRead(ForLet(None), _6);      // scope 0 at $DIR/loop_test.rs:+8:13: +8:14
+        StorageDead(_6);                 // scope 0 at $DIR/loop_test.rs:+10:5: +10:6
         goto -> bb3;                     // scope 0 at no-location
     }
 
     bb5 (cleanup): {
-        resume;                          // scope 0 at $DIR/loop_test.rs:6:1: 17:2
+        resume;                          // scope 0 at $DIR/loop_test.rs:+0:1: +11:2
     }
 }
index c7226573d75c52f17eaed715b28b5b2b0651203e..2589c9f282f33676bf9e36803bb1320454c3bdec 100644 (file)
@@ -2,65 +2,65 @@
 + // MIR for `array_bound` after InstCombine
   
   fn array_bound(_1: usize, _2: &[u8; N]) -> u8 {
-      debug index => _1;                   // in scope 0 at $DIR/lower_array_len.rs:6:36: 6:41
-      debug slice => _2;                   // in scope 0 at $DIR/lower_array_len.rs:6:50: 6:55
-      let mut _0: u8;                      // return place in scope 0 at $DIR/lower_array_len.rs:6:70: 6:72
-      let mut _3: bool;                    // in scope 0 at $DIR/lower_array_len.rs:7:8: 7:27
-      let mut _4: usize;                   // in scope 0 at $DIR/lower_array_len.rs:7:8: 7:13
-      let mut _5: usize;                   // in scope 0 at $DIR/lower_array_len.rs:7:16: 7:27
-      let mut _6: &[u8];                   // in scope 0 at $DIR/lower_array_len.rs:7:16: 7:27
-      let mut _7: &[u8; N];                // in scope 0 at $DIR/lower_array_len.rs:7:16: 7:27
-      let _8: usize;                       // in scope 0 at $DIR/lower_array_len.rs:8:15: 8:20
-      let mut _9: usize;                   // in scope 0 at $DIR/lower_array_len.rs:8:9: 8:21
-      let mut _10: bool;                   // in scope 0 at $DIR/lower_array_len.rs:8:9: 8:21
-      let mut _11: &[u8; N];               // in scope 0 at $DIR/lower_array_len.rs:7:16: 7:27
+      debug index => _1;                   // in scope 0 at $DIR/lower_array_len.rs:+0:36: +0:41
+      debug slice => _2;                   // in scope 0 at $DIR/lower_array_len.rs:+0:50: +0:55
+      let mut _0: u8;                      // return place in scope 0 at $DIR/lower_array_len.rs:+0:70: +0:72
+      let mut _3: bool;                    // in scope 0 at $DIR/lower_array_len.rs:+1:8: +1:27
+      let mut _4: usize;                   // in scope 0 at $DIR/lower_array_len.rs:+1:8: +1:13
+      let mut _5: usize;                   // in scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+      let mut _6: &[u8];                   // in scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+      let mut _7: &[u8; N];                // in scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+      let _8: usize;                       // in scope 0 at $DIR/lower_array_len.rs:+2:15: +2:20
+      let mut _9: usize;                   // in scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
+      let mut _10: bool;                   // in scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
+      let mut _11: &[u8; N];               // in scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
   
       bb0: {
-          StorageLive(_3);                 // scope 0 at $DIR/lower_array_len.rs:7:8: 7:27
-          StorageLive(_4);                 // scope 0 at $DIR/lower_array_len.rs:7:8: 7:13
-          _4 = _1;                         // scope 0 at $DIR/lower_array_len.rs:7:8: 7:13
-          StorageLive(_5);                 // scope 0 at $DIR/lower_array_len.rs:7:16: 7:27
-          StorageLive(_6);                 // scope 0 at $DIR/lower_array_len.rs:7:16: 7:27
-          StorageLive(_7);                 // scope 0 at $DIR/lower_array_len.rs:7:16: 7:27
--         _7 = &(*_2);                     // scope 0 at $DIR/lower_array_len.rs:7:16: 7:27
-+         _7 = _2;                         // scope 0 at $DIR/lower_array_len.rs:7:16: 7:27
-          StorageLive(_11);                // scope 0 at $DIR/lower_array_len.rs:7:16: 7:27
-          _11 = _7;                        // scope 0 at $DIR/lower_array_len.rs:7:16: 7:27
-          _6 = move _7 as &[u8] (Pointer(Unsize)); // scope 0 at $DIR/lower_array_len.rs:7:16: 7:27
-          StorageDead(_7);                 // scope 0 at $DIR/lower_array_len.rs:7:20: 7:21
--         _5 = Len((*_11));                // scope 0 at $DIR/lower_array_len.rs:7:16: 7:27
-+         _5 = const N;                    // scope 0 at $DIR/lower_array_len.rs:7:16: 7:27
-          StorageDead(_11);                // scope 0 at $DIR/lower_array_len.rs:7:16: 7:27
-          StorageDead(_6);                 // scope 0 at $DIR/lower_array_len.rs:7:26: 7:27
-          _3 = Lt(move _4, move _5);       // scope 0 at $DIR/lower_array_len.rs:7:8: 7:27
-          StorageDead(_5);                 // scope 0 at $DIR/lower_array_len.rs:7:26: 7:27
-          StorageDead(_4);                 // scope 0 at $DIR/lower_array_len.rs:7:26: 7:27
-          switchInt(move _3) -> [false: bb3, otherwise: bb1]; // scope 0 at $DIR/lower_array_len.rs:7:8: 7:27
+          StorageLive(_3);                 // scope 0 at $DIR/lower_array_len.rs:+1:8: +1:27
+          StorageLive(_4);                 // scope 0 at $DIR/lower_array_len.rs:+1:8: +1:13
+          _4 = _1;                         // scope 0 at $DIR/lower_array_len.rs:+1:8: +1:13
+          StorageLive(_5);                 // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+          StorageLive(_6);                 // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+          StorageLive(_7);                 // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+-         _7 = &(*_2);                     // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
++         _7 = _2;                         // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+          StorageLive(_11);                // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+          _11 = _7;                        // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+          _6 = move _7 as &[u8] (Pointer(Unsize)); // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+          StorageDead(_7);                 // scope 0 at $DIR/lower_array_len.rs:+1:20: +1:21
+-         _5 = Len((*_11));                // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
++         _5 = const N;                    // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+          StorageDead(_11);                // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+          StorageDead(_6);                 // scope 0 at $DIR/lower_array_len.rs:+1:26: +1:27
+          _3 = Lt(move _4, move _5);       // scope 0 at $DIR/lower_array_len.rs:+1:8: +1:27
+          StorageDead(_5);                 // scope 0 at $DIR/lower_array_len.rs:+1:26: +1:27
+          StorageDead(_4);                 // scope 0 at $DIR/lower_array_len.rs:+1:26: +1:27
+          switchInt(move _3) -> [false: bb3, otherwise: bb1]; // scope 0 at $DIR/lower_array_len.rs:+1:8: +1:27
       }
   
       bb1: {
-          StorageLive(_8);                 // scope 0 at $DIR/lower_array_len.rs:8:15: 8:20
-          _8 = _1;                         // scope 0 at $DIR/lower_array_len.rs:8:15: 8:20
--         _9 = Len((*_2));                 // scope 0 at $DIR/lower_array_len.rs:8:9: 8:21
-+         _9 = const N;                    // scope 0 at $DIR/lower_array_len.rs:8:9: 8:21
-          _10 = Lt(_8, _9);                // scope 0 at $DIR/lower_array_len.rs:8:9: 8:21
-          assert(move _10, "index out of bounds: the length is {} but the index is {}", move _9, _8) -> bb2; // scope 0 at $DIR/lower_array_len.rs:8:9: 8:21
+          StorageLive(_8);                 // scope 0 at $DIR/lower_array_len.rs:+2:15: +2:20
+          _8 = _1;                         // scope 0 at $DIR/lower_array_len.rs:+2:15: +2:20
+-         _9 = Len((*_2));                 // scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
++         _9 = const N;                    // scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
+          _10 = Lt(_8, _9);                // scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
+          assert(move _10, "index out of bounds: the length is {} but the index is {}", move _9, _8) -> bb2; // scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
       }
   
       bb2: {
-          _0 = (*_2)[_8];                  // scope 0 at $DIR/lower_array_len.rs:8:9: 8:21
-          StorageDead(_8);                 // scope 0 at $DIR/lower_array_len.rs:9:5: 9:6
-          goto -> bb4;                     // scope 0 at $DIR/lower_array_len.rs:7:5: 11:6
+          _0 = (*_2)[_8];                  // scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
+          StorageDead(_8);                 // scope 0 at $DIR/lower_array_len.rs:+3:5: +3:6
+          goto -> bb4;                     // scope 0 at $DIR/lower_array_len.rs:+1:5: +5:6
       }
   
       bb3: {
-          _0 = const 42_u8;                // scope 0 at $DIR/lower_array_len.rs:10:9: 10:11
-          goto -> bb4;                     // scope 0 at $DIR/lower_array_len.rs:7:5: 11:6
+          _0 = const 42_u8;                // scope 0 at $DIR/lower_array_len.rs:+4:9: +4:11
+          goto -> bb4;                     // scope 0 at $DIR/lower_array_len.rs:+1:5: +5:6
       }
   
       bb4: {
-          StorageDead(_3);                 // scope 0 at $DIR/lower_array_len.rs:11:5: 11:6
-          return;                          // scope 0 at $DIR/lower_array_len.rs:12:2: 12:2
+          StorageDead(_3);                 // scope 0 at $DIR/lower_array_len.rs:+5:5: +5:6
+          return;                          // scope 0 at $DIR/lower_array_len.rs:+6:2: +6:2
       }
   }
   
index d6c1c92cd9177a273a7b11cbefd73ffe7c1c41e9..049bbeac867f90a036751cca8a500e072a8e45d9 100644 (file)
@@ -2,67 +2,67 @@
 + // MIR for `array_bound` after NormalizeArrayLen
   
   fn array_bound(_1: usize, _2: &[u8; N]) -> u8 {
-      debug index => _1;                   // in scope 0 at $DIR/lower_array_len.rs:6:36: 6:41
-      debug slice => _2;                   // in scope 0 at $DIR/lower_array_len.rs:6:50: 6:55
-      let mut _0: u8;                      // return place in scope 0 at $DIR/lower_array_len.rs:6:70: 6:72
-      let mut _3: bool;                    // in scope 0 at $DIR/lower_array_len.rs:7:8: 7:27
-      let mut _4: usize;                   // in scope 0 at $DIR/lower_array_len.rs:7:8: 7:13
-      let mut _5: usize;                   // in scope 0 at $DIR/lower_array_len.rs:7:16: 7:27
-      let mut _6: &[u8];                   // in scope 0 at $DIR/lower_array_len.rs:7:16: 7:27
-      let mut _7: &[u8; N];                // in scope 0 at $DIR/lower_array_len.rs:7:16: 7:27
-      let _8: usize;                       // in scope 0 at $DIR/lower_array_len.rs:8:15: 8:20
-      let mut _9: usize;                   // in scope 0 at $DIR/lower_array_len.rs:8:9: 8:21
-      let mut _10: bool;                   // in scope 0 at $DIR/lower_array_len.rs:8:9: 8:21
-+     let mut _11: &[u8; N];               // in scope 0 at $DIR/lower_array_len.rs:7:16: 7:27
+      debug index => _1;                   // in scope 0 at $DIR/lower_array_len.rs:+0:36: +0:41
+      debug slice => _2;                   // in scope 0 at $DIR/lower_array_len.rs:+0:50: +0:55
+      let mut _0: u8;                      // return place in scope 0 at $DIR/lower_array_len.rs:+0:70: +0:72
+      let mut _3: bool;                    // in scope 0 at $DIR/lower_array_len.rs:+1:8: +1:27
+      let mut _4: usize;                   // in scope 0 at $DIR/lower_array_len.rs:+1:8: +1:13
+      let mut _5: usize;                   // in scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+      let mut _6: &[u8];                   // in scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+      let mut _7: &[u8; N];                // in scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+      let _8: usize;                       // in scope 0 at $DIR/lower_array_len.rs:+2:15: +2:20
+      let mut _9: usize;                   // in scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
+      let mut _10: bool;                   // in scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
++     let mut _11: &[u8; N];               // in scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
   
       bb0: {
-          StorageLive(_3);                 // scope 0 at $DIR/lower_array_len.rs:7:8: 7:27
-          StorageLive(_4);                 // scope 0 at $DIR/lower_array_len.rs:7:8: 7:13
-          _4 = _1;                         // scope 0 at $DIR/lower_array_len.rs:7:8: 7:13
-          StorageLive(_5);                 // scope 0 at $DIR/lower_array_len.rs:7:16: 7:27
-          StorageLive(_6);                 // scope 0 at $DIR/lower_array_len.rs:7:16: 7:27
-          StorageLive(_7);                 // scope 0 at $DIR/lower_array_len.rs:7:16: 7:27
-          _7 = &(*_2);                     // scope 0 at $DIR/lower_array_len.rs:7:16: 7:27
-+         StorageLive(_11);                // scope 0 at $DIR/lower_array_len.rs:7:16: 7:27
-+         _11 = _7;                        // scope 0 at $DIR/lower_array_len.rs:7:16: 7:27
-          _6 = move _7 as &[u8] (Pointer(Unsize)); // scope 0 at $DIR/lower_array_len.rs:7:16: 7:27
-          StorageDead(_7);                 // scope 0 at $DIR/lower_array_len.rs:7:20: 7:21
--         _5 = Len((*_6));                 // scope 0 at $DIR/lower_array_len.rs:7:16: 7:27
-+         _5 = Len((*_11));                // scope 0 at $DIR/lower_array_len.rs:7:16: 7:27
-+         StorageDead(_11);                // scope 0 at $DIR/lower_array_len.rs:7:16: 7:27
-          goto -> bb1;                     // scope 0 at $DIR/lower_array_len.rs:7:16: 7:27
+          StorageLive(_3);                 // scope 0 at $DIR/lower_array_len.rs:+1:8: +1:27
+          StorageLive(_4);                 // scope 0 at $DIR/lower_array_len.rs:+1:8: +1:13
+          _4 = _1;                         // scope 0 at $DIR/lower_array_len.rs:+1:8: +1:13
+          StorageLive(_5);                 // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+          StorageLive(_6);                 // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+          StorageLive(_7);                 // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+          _7 = &(*_2);                     // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
++         StorageLive(_11);                // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
++         _11 = _7;                        // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+          _6 = move _7 as &[u8] (Pointer(Unsize)); // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+          StorageDead(_7);                 // scope 0 at $DIR/lower_array_len.rs:+1:20: +1:21
+-         _5 = Len((*_6));                 // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
++         _5 = Len((*_11));                // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
++         StorageDead(_11);                // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+          goto -> bb1;                     // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
       }
   
       bb1: {
-          StorageDead(_6);                 // scope 0 at $DIR/lower_array_len.rs:7:26: 7:27
-          _3 = Lt(move _4, move _5);       // scope 0 at $DIR/lower_array_len.rs:7:8: 7:27
-          StorageDead(_5);                 // scope 0 at $DIR/lower_array_len.rs:7:26: 7:27
-          StorageDead(_4);                 // scope 0 at $DIR/lower_array_len.rs:7:26: 7:27
-          switchInt(move _3) -> [false: bb4, otherwise: bb2]; // scope 0 at $DIR/lower_array_len.rs:7:8: 7:27
+          StorageDead(_6);                 // scope 0 at $DIR/lower_array_len.rs:+1:26: +1:27
+          _3 = Lt(move _4, move _5);       // scope 0 at $DIR/lower_array_len.rs:+1:8: +1:27
+          StorageDead(_5);                 // scope 0 at $DIR/lower_array_len.rs:+1:26: +1:27
+          StorageDead(_4);                 // scope 0 at $DIR/lower_array_len.rs:+1:26: +1:27
+          switchInt(move _3) -> [false: bb4, otherwise: bb2]; // scope 0 at $DIR/lower_array_len.rs:+1:8: +1:27
       }
   
       bb2: {
-          StorageLive(_8);                 // scope 0 at $DIR/lower_array_len.rs:8:15: 8:20
-          _8 = _1;                         // scope 0 at $DIR/lower_array_len.rs:8:15: 8:20
-          _9 = Len((*_2));                 // scope 0 at $DIR/lower_array_len.rs:8:9: 8:21
-          _10 = Lt(_8, _9);                // scope 0 at $DIR/lower_array_len.rs:8:9: 8:21
-          assert(move _10, "index out of bounds: the length is {} but the index is {}", move _9, _8) -> bb3; // scope 0 at $DIR/lower_array_len.rs:8:9: 8:21
+          StorageLive(_8);                 // scope 0 at $DIR/lower_array_len.rs:+2:15: +2:20
+          _8 = _1;                         // scope 0 at $DIR/lower_array_len.rs:+2:15: +2:20
+          _9 = Len((*_2));                 // scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
+          _10 = Lt(_8, _9);                // scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
+          assert(move _10, "index out of bounds: the length is {} but the index is {}", move _9, _8) -> bb3; // scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
       }
   
       bb3: {
-          _0 = (*_2)[_8];                  // scope 0 at $DIR/lower_array_len.rs:8:9: 8:21
-          StorageDead(_8);                 // scope 0 at $DIR/lower_array_len.rs:9:5: 9:6
-          goto -> bb5;                     // scope 0 at $DIR/lower_array_len.rs:7:5: 11:6
+          _0 = (*_2)[_8];                  // scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
+          StorageDead(_8);                 // scope 0 at $DIR/lower_array_len.rs:+3:5: +3:6
+          goto -> bb5;                     // scope 0 at $DIR/lower_array_len.rs:+1:5: +5:6
       }
   
       bb4: {
-          _0 = const 42_u8;                // scope 0 at $DIR/lower_array_len.rs:10:9: 10:11
-          goto -> bb5;                     // scope 0 at $DIR/lower_array_len.rs:7:5: 11:6
+          _0 = const 42_u8;                // scope 0 at $DIR/lower_array_len.rs:+4:9: +4:11
+          goto -> bb5;                     // scope 0 at $DIR/lower_array_len.rs:+1:5: +5:6
       }
   
       bb5: {
-          StorageDead(_3);                 // scope 0 at $DIR/lower_array_len.rs:11:5: 11:6
-          return;                          // scope 0 at $DIR/lower_array_len.rs:12:2: 12:2
+          StorageDead(_3);                 // scope 0 at $DIR/lower_array_len.rs:+5:5: +5:6
+          return;                          // scope 0 at $DIR/lower_array_len.rs:+6:2: +6:2
       }
   }
   
index 887c7b01f432752543e80dc6a223a7306fc6018a..8312db6b37b350f78e22f1dc7eeca5b5b47141ad 100644 (file)
@@ -2,69 +2,69 @@
 + // MIR for `array_bound` after SimplifyLocals
   
   fn array_bound(_1: usize, _2: &[u8; N]) -> u8 {
-      debug index => _1;                   // in scope 0 at $DIR/lower_array_len.rs:6:36: 6:41
-      debug slice => _2;                   // in scope 0 at $DIR/lower_array_len.rs:6:50: 6:55
-      let mut _0: u8;                      // return place in scope 0 at $DIR/lower_array_len.rs:6:70: 6:72
-      let mut _3: bool;                    // in scope 0 at $DIR/lower_array_len.rs:7:8: 7:27
-      let mut _4: usize;                   // in scope 0 at $DIR/lower_array_len.rs:7:8: 7:13
-      let mut _5: usize;                   // in scope 0 at $DIR/lower_array_len.rs:7:16: 7:27
--     let mut _6: &[u8];                   // in scope 0 at $DIR/lower_array_len.rs:7:16: 7:27
--     let mut _7: &[u8; N];                // in scope 0 at $DIR/lower_array_len.rs:7:16: 7:27
--     let _8: usize;                       // in scope 0 at $DIR/lower_array_len.rs:8:15: 8:20
--     let mut _9: usize;                   // in scope 0 at $DIR/lower_array_len.rs:8:9: 8:21
--     let mut _10: bool;                   // in scope 0 at $DIR/lower_array_len.rs:8:9: 8:21
--     let mut _11: &[u8; N];               // in scope 0 at $DIR/lower_array_len.rs:7:16: 7:27
-+     let _6: usize;                       // in scope 0 at $DIR/lower_array_len.rs:8:15: 8:20
-+     let mut _7: usize;                   // in scope 0 at $DIR/lower_array_len.rs:8:9: 8:21
-+     let mut _8: bool;                    // in scope 0 at $DIR/lower_array_len.rs:8:9: 8:21
+      debug index => _1;                   // in scope 0 at $DIR/lower_array_len.rs:+0:36: +0:41
+      debug slice => _2;                   // in scope 0 at $DIR/lower_array_len.rs:+0:50: +0:55
+      let mut _0: u8;                      // return place in scope 0 at $DIR/lower_array_len.rs:+0:70: +0:72
+      let mut _3: bool;                    // in scope 0 at $DIR/lower_array_len.rs:+1:8: +1:27
+      let mut _4: usize;                   // in scope 0 at $DIR/lower_array_len.rs:+1:8: +1:13
+      let mut _5: usize;                   // in scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+-     let mut _6: &[u8];                   // in scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+-     let mut _7: &[u8; N];                // in scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+-     let _8: usize;                       // in scope 0 at $DIR/lower_array_len.rs:+2:15: +2:20
+-     let mut _9: usize;                   // in scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
+-     let mut _10: bool;                   // in scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
+-     let mut _11: &[u8; N];               // in scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
++     let _6: usize;                       // in scope 0 at $DIR/lower_array_len.rs:+2:15: +2:20
++     let mut _7: usize;                   // in scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
++     let mut _8: bool;                    // in scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
   
       bb0: {
-          StorageLive(_3);                 // scope 0 at $DIR/lower_array_len.rs:7:8: 7:27
-          StorageLive(_4);                 // scope 0 at $DIR/lower_array_len.rs:7:8: 7:13
-          _4 = _1;                         // scope 0 at $DIR/lower_array_len.rs:7:8: 7:13
-          StorageLive(_5);                 // scope 0 at $DIR/lower_array_len.rs:7:16: 7:27
--         StorageLive(_6);                 // scope 0 at $DIR/lower_array_len.rs:7:16: 7:27
--         StorageLive(_7);                 // scope 0 at $DIR/lower_array_len.rs:7:16: 7:27
--         StorageLive(_11);                // scope 0 at $DIR/lower_array_len.rs:7:16: 7:27
--         StorageDead(_7);                 // scope 0 at $DIR/lower_array_len.rs:7:20: 7:21
-          _5 = const N;                    // scope 0 at $DIR/lower_array_len.rs:7:16: 7:27
--         StorageDead(_11);                // scope 0 at $DIR/lower_array_len.rs:7:16: 7:27
--         StorageDead(_6);                 // scope 0 at $DIR/lower_array_len.rs:7:26: 7:27
-          _3 = Lt(move _4, move _5);       // scope 0 at $DIR/lower_array_len.rs:7:8: 7:27
-          StorageDead(_5);                 // scope 0 at $DIR/lower_array_len.rs:7:26: 7:27
-          StorageDead(_4);                 // scope 0 at $DIR/lower_array_len.rs:7:26: 7:27
-          switchInt(move _3) -> [false: bb3, otherwise: bb1]; // scope 0 at $DIR/lower_array_len.rs:7:8: 7:27
+          StorageLive(_3);                 // scope 0 at $DIR/lower_array_len.rs:+1:8: +1:27
+          StorageLive(_4);                 // scope 0 at $DIR/lower_array_len.rs:+1:8: +1:13
+          _4 = _1;                         // scope 0 at $DIR/lower_array_len.rs:+1:8: +1:13
+          StorageLive(_5);                 // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+-         StorageLive(_6);                 // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+-         StorageLive(_7);                 // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+-         StorageLive(_11);                // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+-         StorageDead(_7);                 // scope 0 at $DIR/lower_array_len.rs:+1:20: +1:21
+          _5 = const N;                    // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+-         StorageDead(_11);                // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+-         StorageDead(_6);                 // scope 0 at $DIR/lower_array_len.rs:+1:26: +1:27
+          _3 = Lt(move _4, move _5);       // scope 0 at $DIR/lower_array_len.rs:+1:8: +1:27
+          StorageDead(_5);                 // scope 0 at $DIR/lower_array_len.rs:+1:26: +1:27
+          StorageDead(_4);                 // scope 0 at $DIR/lower_array_len.rs:+1:26: +1:27
+          switchInt(move _3) -> [false: bb3, otherwise: bb1]; // scope 0 at $DIR/lower_array_len.rs:+1:8: +1:27
       }
   
       bb1: {
--         StorageLive(_8);                 // scope 0 at $DIR/lower_array_len.rs:8:15: 8:20
--         _8 = _1;                         // scope 0 at $DIR/lower_array_len.rs:8:15: 8:20
--         _9 = const N;                    // scope 0 at $DIR/lower_array_len.rs:8:9: 8:21
--         _10 = Lt(_8, _9);                // scope 0 at $DIR/lower_array_len.rs:8:9: 8:21
--         assert(move _10, "index out of bounds: the length is {} but the index is {}", move _9, _8) -> bb2; // scope 0 at $DIR/lower_array_len.rs:8:9: 8:21
-+         StorageLive(_6);                 // scope 0 at $DIR/lower_array_len.rs:8:15: 8:20
-+         _6 = _1;                         // scope 0 at $DIR/lower_array_len.rs:8:15: 8:20
-+         _7 = const N;                    // scope 0 at $DIR/lower_array_len.rs:8:9: 8:21
-+         _8 = Lt(_6, _7);                 // scope 0 at $DIR/lower_array_len.rs:8:9: 8:21
-+         assert(move _8, "index out of bounds: the length is {} but the index is {}", move _7, _6) -> bb2; // scope 0 at $DIR/lower_array_len.rs:8:9: 8:21
+-         StorageLive(_8);                 // scope 0 at $DIR/lower_array_len.rs:+2:15: +2:20
+-         _8 = _1;                         // scope 0 at $DIR/lower_array_len.rs:+2:15: +2:20
+-         _9 = const N;                    // scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
+-         _10 = Lt(_8, _9);                // scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
+-         assert(move _10, "index out of bounds: the length is {} but the index is {}", move _9, _8) -> bb2; // scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
++         StorageLive(_6);                 // scope 0 at $DIR/lower_array_len.rs:+2:15: +2:20
++         _6 = _1;                         // scope 0 at $DIR/lower_array_len.rs:+2:15: +2:20
++         _7 = const N;                    // scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
++         _8 = Lt(_6, _7);                 // scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
++         assert(move _8, "index out of bounds: the length is {} but the index is {}", move _7, _6) -> bb2; // scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
       }
   
       bb2: {
--         _0 = (*_2)[_8];                  // scope 0 at $DIR/lower_array_len.rs:8:9: 8:21
--         StorageDead(_8);                 // scope 0 at $DIR/lower_array_len.rs:9:5: 9:6
-+         _0 = (*_2)[_6];                  // scope 0 at $DIR/lower_array_len.rs:8:9: 8:21
-+         StorageDead(_6);                 // scope 0 at $DIR/lower_array_len.rs:9:5: 9:6
-          goto -> bb4;                     // scope 0 at $DIR/lower_array_len.rs:7:5: 11:6
+-         _0 = (*_2)[_8];                  // scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
+-         StorageDead(_8);                 // scope 0 at $DIR/lower_array_len.rs:+3:5: +3:6
++         _0 = (*_2)[_6];                  // scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
++         StorageDead(_6);                 // scope 0 at $DIR/lower_array_len.rs:+3:5: +3:6
+          goto -> bb4;                     // scope 0 at $DIR/lower_array_len.rs:+1:5: +5:6
       }
   
       bb3: {
-          _0 = const 42_u8;                // scope 0 at $DIR/lower_array_len.rs:10:9: 10:11
-          goto -> bb4;                     // scope 0 at $DIR/lower_array_len.rs:7:5: 11:6
+          _0 = const 42_u8;                // scope 0 at $DIR/lower_array_len.rs:+4:9: +4:11
+          goto -> bb4;                     // scope 0 at $DIR/lower_array_len.rs:+1:5: +5:6
       }
   
       bb4: {
-          StorageDead(_3);                 // scope 0 at $DIR/lower_array_len.rs:11:5: 11:6
-          return;                          // scope 0 at $DIR/lower_array_len.rs:12:2: 12:2
+          StorageDead(_3);                 // scope 0 at $DIR/lower_array_len.rs:+5:5: +5:6
+          return;                          // scope 0 at $DIR/lower_array_len.rs:+6:2: +6:2
       }
   }
   
index 5622d48453213636615700b6928fa0140b05b27a..401d4bac61e008f7bf3050eb67bc974736e8cc52 100644 (file)
@@ -2,78 +2,78 @@
 + // MIR for `array_bound_mut` after InstCombine
   
   fn array_bound_mut(_1: usize, _2: &mut [u8; N]) -> u8 {
-      debug index => _1;                   // in scope 0 at $DIR/lower_array_len.rs:17:40: 17:45
-      debug slice => _2;                   // in scope 0 at $DIR/lower_array_len.rs:17:54: 17:59
-      let mut _0: u8;                      // return place in scope 0 at $DIR/lower_array_len.rs:17:78: 17:80
-      let mut _3: bool;                    // in scope 0 at $DIR/lower_array_len.rs:18:8: 18:27
-      let mut _4: usize;                   // in scope 0 at $DIR/lower_array_len.rs:18:8: 18:13
-      let mut _5: usize;                   // in scope 0 at $DIR/lower_array_len.rs:18:16: 18:27
-      let mut _6: &[u8];                   // in scope 0 at $DIR/lower_array_len.rs:18:16: 18:27
-      let mut _7: &[u8; N];                // in scope 0 at $DIR/lower_array_len.rs:18:16: 18:27
-      let _8: usize;                       // in scope 0 at $DIR/lower_array_len.rs:19:15: 19:20
-      let mut _9: usize;                   // in scope 0 at $DIR/lower_array_len.rs:19:9: 19:21
-      let mut _10: bool;                   // in scope 0 at $DIR/lower_array_len.rs:19:9: 19:21
-      let _11: usize;                      // in scope 0 at $DIR/lower_array_len.rs:21:15: 21:16
-      let mut _12: usize;                  // in scope 0 at $DIR/lower_array_len.rs:21:9: 21:17
-      let mut _13: bool;                   // in scope 0 at $DIR/lower_array_len.rs:21:9: 21:17
-      let mut _14: &[u8; N];               // in scope 0 at $DIR/lower_array_len.rs:18:16: 18:27
+      debug index => _1;                   // in scope 0 at $DIR/lower_array_len.rs:+0:40: +0:45
+      debug slice => _2;                   // in scope 0 at $DIR/lower_array_len.rs:+0:54: +0:59
+      let mut _0: u8;                      // return place in scope 0 at $DIR/lower_array_len.rs:+0:78: +0:80
+      let mut _3: bool;                    // in scope 0 at $DIR/lower_array_len.rs:+1:8: +1:27
+      let mut _4: usize;                   // in scope 0 at $DIR/lower_array_len.rs:+1:8: +1:13
+      let mut _5: usize;                   // in scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+      let mut _6: &[u8];                   // in scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+      let mut _7: &[u8; N];                // in scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+      let _8: usize;                       // in scope 0 at $DIR/lower_array_len.rs:+2:15: +2:20
+      let mut _9: usize;                   // in scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
+      let mut _10: bool;                   // in scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
+      let _11: usize;                      // in scope 0 at $DIR/lower_array_len.rs:+4:15: +4:16
+      let mut _12: usize;                  // in scope 0 at $DIR/lower_array_len.rs:+4:9: +4:17
+      let mut _13: bool;                   // in scope 0 at $DIR/lower_array_len.rs:+4:9: +4:17
+      let mut _14: &[u8; N];               // in scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
   
       bb0: {
-          StorageLive(_3);                 // scope 0 at $DIR/lower_array_len.rs:18:8: 18:27
-          StorageLive(_4);                 // scope 0 at $DIR/lower_array_len.rs:18:8: 18:13
-          _4 = _1;                         // scope 0 at $DIR/lower_array_len.rs:18:8: 18:13
-          StorageLive(_5);                 // scope 0 at $DIR/lower_array_len.rs:18:16: 18:27
-          StorageLive(_6);                 // scope 0 at $DIR/lower_array_len.rs:18:16: 18:27
-          StorageLive(_7);                 // scope 0 at $DIR/lower_array_len.rs:18:16: 18:27
-          _7 = &(*_2);                     // scope 0 at $DIR/lower_array_len.rs:18:16: 18:27
-          StorageLive(_14);                // scope 0 at $DIR/lower_array_len.rs:18:16: 18:27
-          _14 = _7;                        // scope 0 at $DIR/lower_array_len.rs:18:16: 18:27
-          _6 = move _7 as &[u8] (Pointer(Unsize)); // scope 0 at $DIR/lower_array_len.rs:18:16: 18:27
-          StorageDead(_7);                 // scope 0 at $DIR/lower_array_len.rs:18:20: 18:21
--         _5 = Len((*_14));                // scope 0 at $DIR/lower_array_len.rs:18:16: 18:27
-+         _5 = const N;                    // scope 0 at $DIR/lower_array_len.rs:18:16: 18:27
-          StorageDead(_14);                // scope 0 at $DIR/lower_array_len.rs:18:16: 18:27
-          StorageDead(_6);                 // scope 0 at $DIR/lower_array_len.rs:18:26: 18:27
-          _3 = Lt(move _4, move _5);       // scope 0 at $DIR/lower_array_len.rs:18:8: 18:27
-          StorageDead(_5);                 // scope 0 at $DIR/lower_array_len.rs:18:26: 18:27
-          StorageDead(_4);                 // scope 0 at $DIR/lower_array_len.rs:18:26: 18:27
-          switchInt(move _3) -> [false: bb3, otherwise: bb1]; // scope 0 at $DIR/lower_array_len.rs:18:8: 18:27
+          StorageLive(_3);                 // scope 0 at $DIR/lower_array_len.rs:+1:8: +1:27
+          StorageLive(_4);                 // scope 0 at $DIR/lower_array_len.rs:+1:8: +1:13
+          _4 = _1;                         // scope 0 at $DIR/lower_array_len.rs:+1:8: +1:13
+          StorageLive(_5);                 // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+          StorageLive(_6);                 // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+          StorageLive(_7);                 // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+          _7 = &(*_2);                     // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+          StorageLive(_14);                // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+          _14 = _7;                        // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+          _6 = move _7 as &[u8] (Pointer(Unsize)); // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+          StorageDead(_7);                 // scope 0 at $DIR/lower_array_len.rs:+1:20: +1:21
+-         _5 = Len((*_14));                // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
++         _5 = const N;                    // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+          StorageDead(_14);                // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+          StorageDead(_6);                 // scope 0 at $DIR/lower_array_len.rs:+1:26: +1:27
+          _3 = Lt(move _4, move _5);       // scope 0 at $DIR/lower_array_len.rs:+1:8: +1:27
+          StorageDead(_5);                 // scope 0 at $DIR/lower_array_len.rs:+1:26: +1:27
+          StorageDead(_4);                 // scope 0 at $DIR/lower_array_len.rs:+1:26: +1:27
+          switchInt(move _3) -> [false: bb3, otherwise: bb1]; // scope 0 at $DIR/lower_array_len.rs:+1:8: +1:27
       }
   
       bb1: {
-          StorageLive(_8);                 // scope 0 at $DIR/lower_array_len.rs:19:15: 19:20
-          _8 = _1;                         // scope 0 at $DIR/lower_array_len.rs:19:15: 19:20
--         _9 = Len((*_2));                 // scope 0 at $DIR/lower_array_len.rs:19:9: 19:21
-+         _9 = const N;                    // scope 0 at $DIR/lower_array_len.rs:19:9: 19:21
-          _10 = Lt(_8, _9);                // scope 0 at $DIR/lower_array_len.rs:19:9: 19:21
-          assert(move _10, "index out of bounds: the length is {} but the index is {}", move _9, _8) -> bb2; // scope 0 at $DIR/lower_array_len.rs:19:9: 19:21
+          StorageLive(_8);                 // scope 0 at $DIR/lower_array_len.rs:+2:15: +2:20
+          _8 = _1;                         // scope 0 at $DIR/lower_array_len.rs:+2:15: +2:20
+-         _9 = Len((*_2));                 // scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
++         _9 = const N;                    // scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
+          _10 = Lt(_8, _9);                // scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
+          assert(move _10, "index out of bounds: the length is {} but the index is {}", move _9, _8) -> bb2; // scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
       }
   
       bb2: {
-          _0 = (*_2)[_8];                  // scope 0 at $DIR/lower_array_len.rs:19:9: 19:21
-          StorageDead(_8);                 // scope 0 at $DIR/lower_array_len.rs:20:5: 20:6
-          goto -> bb5;                     // scope 0 at $DIR/lower_array_len.rs:18:5: 24:6
+          _0 = (*_2)[_8];                  // scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
+          StorageDead(_8);                 // scope 0 at $DIR/lower_array_len.rs:+3:5: +3:6
+          goto -> bb5;                     // scope 0 at $DIR/lower_array_len.rs:+1:5: +7:6
       }
   
       bb3: {
-          StorageLive(_11);                // scope 0 at $DIR/lower_array_len.rs:21:15: 21:16
-          _11 = const 0_usize;             // scope 0 at $DIR/lower_array_len.rs:21:15: 21:16
--         _12 = Len((*_2));                // scope 0 at $DIR/lower_array_len.rs:21:9: 21:17
-+         _12 = const N;                   // scope 0 at $DIR/lower_array_len.rs:21:9: 21:17
-          _13 = Lt(_11, _12);              // scope 0 at $DIR/lower_array_len.rs:21:9: 21:17
-          assert(move _13, "index out of bounds: the length is {} but the index is {}", move _12, _11) -> bb4; // scope 0 at $DIR/lower_array_len.rs:21:9: 21:17
+          StorageLive(_11);                // scope 0 at $DIR/lower_array_len.rs:+4:15: +4:16
+          _11 = const 0_usize;             // scope 0 at $DIR/lower_array_len.rs:+4:15: +4:16
+-         _12 = Len((*_2));                // scope 0 at $DIR/lower_array_len.rs:+4:9: +4:17
++         _12 = const N;                   // scope 0 at $DIR/lower_array_len.rs:+4:9: +4:17
+          _13 = Lt(_11, _12);              // scope 0 at $DIR/lower_array_len.rs:+4:9: +4:17
+          assert(move _13, "index out of bounds: the length is {} but the index is {}", move _12, _11) -> bb4; // scope 0 at $DIR/lower_array_len.rs:+4:9: +4:17
       }
   
       bb4: {
-          (*_2)[_11] = const 42_u8;        // scope 0 at $DIR/lower_array_len.rs:21:9: 21:22
-          StorageDead(_11);                // scope 0 at $DIR/lower_array_len.rs:21:22: 21:23
-          _0 = const 42_u8;                // scope 0 at $DIR/lower_array_len.rs:23:9: 23:11
-          goto -> bb5;                     // scope 0 at $DIR/lower_array_len.rs:18:5: 24:6
+          (*_2)[_11] = const 42_u8;        // scope 0 at $DIR/lower_array_len.rs:+4:9: +4:22
+          StorageDead(_11);                // scope 0 at $DIR/lower_array_len.rs:+4:22: +4:23
+          _0 = const 42_u8;                // scope 0 at $DIR/lower_array_len.rs:+6:9: +6:11
+          goto -> bb5;                     // scope 0 at $DIR/lower_array_len.rs:+1:5: +7:6
       }
   
       bb5: {
-          StorageDead(_3);                 // scope 0 at $DIR/lower_array_len.rs:24:5: 24:6
-          return;                          // scope 0 at $DIR/lower_array_len.rs:25:2: 25:2
+          StorageDead(_3);                 // scope 0 at $DIR/lower_array_len.rs:+7:5: +7:6
+          return;                          // scope 0 at $DIR/lower_array_len.rs:+8:2: +8:2
       }
   }
   
index 11fc20aa693c71c18ffdefdf6fc62e68cac6d5d8..40ec01eeb41a61167fce7775f2ac7287e1fa08b9 100644 (file)
@@ -2,80 +2,80 @@
 + // MIR for `array_bound_mut` after NormalizeArrayLen
   
   fn array_bound_mut(_1: usize, _2: &mut [u8; N]) -> u8 {
-      debug index => _1;                   // in scope 0 at $DIR/lower_array_len.rs:17:40: 17:45
-      debug slice => _2;                   // in scope 0 at $DIR/lower_array_len.rs:17:54: 17:59
-      let mut _0: u8;                      // return place in scope 0 at $DIR/lower_array_len.rs:17:78: 17:80
-      let mut _3: bool;                    // in scope 0 at $DIR/lower_array_len.rs:18:8: 18:27
-      let mut _4: usize;                   // in scope 0 at $DIR/lower_array_len.rs:18:8: 18:13
-      let mut _5: usize;                   // in scope 0 at $DIR/lower_array_len.rs:18:16: 18:27
-      let mut _6: &[u8];                   // in scope 0 at $DIR/lower_array_len.rs:18:16: 18:27
-      let mut _7: &[u8; N];                // in scope 0 at $DIR/lower_array_len.rs:18:16: 18:27
-      let _8: usize;                       // in scope 0 at $DIR/lower_array_len.rs:19:15: 19:20
-      let mut _9: usize;                   // in scope 0 at $DIR/lower_array_len.rs:19:9: 19:21
-      let mut _10: bool;                   // in scope 0 at $DIR/lower_array_len.rs:19:9: 19:21
-      let _11: usize;                      // in scope 0 at $DIR/lower_array_len.rs:21:15: 21:16
-      let mut _12: usize;                  // in scope 0 at $DIR/lower_array_len.rs:21:9: 21:17
-      let mut _13: bool;                   // in scope 0 at $DIR/lower_array_len.rs:21:9: 21:17
-+     let mut _14: &[u8; N];               // in scope 0 at $DIR/lower_array_len.rs:18:16: 18:27
+      debug index => _1;                   // in scope 0 at $DIR/lower_array_len.rs:+0:40: +0:45
+      debug slice => _2;                   // in scope 0 at $DIR/lower_array_len.rs:+0:54: +0:59
+      let mut _0: u8;                      // return place in scope 0 at $DIR/lower_array_len.rs:+0:78: +0:80
+      let mut _3: bool;                    // in scope 0 at $DIR/lower_array_len.rs:+1:8: +1:27
+      let mut _4: usize;                   // in scope 0 at $DIR/lower_array_len.rs:+1:8: +1:13
+      let mut _5: usize;                   // in scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+      let mut _6: &[u8];                   // in scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+      let mut _7: &[u8; N];                // in scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+      let _8: usize;                       // in scope 0 at $DIR/lower_array_len.rs:+2:15: +2:20
+      let mut _9: usize;                   // in scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
+      let mut _10: bool;                   // in scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
+      let _11: usize;                      // in scope 0 at $DIR/lower_array_len.rs:+4:15: +4:16
+      let mut _12: usize;                  // in scope 0 at $DIR/lower_array_len.rs:+4:9: +4:17
+      let mut _13: bool;                   // in scope 0 at $DIR/lower_array_len.rs:+4:9: +4:17
++     let mut _14: &[u8; N];               // in scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
   
       bb0: {
-          StorageLive(_3);                 // scope 0 at $DIR/lower_array_len.rs:18:8: 18:27
-          StorageLive(_4);                 // scope 0 at $DIR/lower_array_len.rs:18:8: 18:13
-          _4 = _1;                         // scope 0 at $DIR/lower_array_len.rs:18:8: 18:13
-          StorageLive(_5);                 // scope 0 at $DIR/lower_array_len.rs:18:16: 18:27
-          StorageLive(_6);                 // scope 0 at $DIR/lower_array_len.rs:18:16: 18:27
-          StorageLive(_7);                 // scope 0 at $DIR/lower_array_len.rs:18:16: 18:27
-          _7 = &(*_2);                     // scope 0 at $DIR/lower_array_len.rs:18:16: 18:27
-+         StorageLive(_14);                // scope 0 at $DIR/lower_array_len.rs:18:16: 18:27
-+         _14 = _7;                        // scope 0 at $DIR/lower_array_len.rs:18:16: 18:27
-          _6 = move _7 as &[u8] (Pointer(Unsize)); // scope 0 at $DIR/lower_array_len.rs:18:16: 18:27
-          StorageDead(_7);                 // scope 0 at $DIR/lower_array_len.rs:18:20: 18:21
--         _5 = Len((*_6));                 // scope 0 at $DIR/lower_array_len.rs:18:16: 18:27
-+         _5 = Len((*_14));                // scope 0 at $DIR/lower_array_len.rs:18:16: 18:27
-+         StorageDead(_14);                // scope 0 at $DIR/lower_array_len.rs:18:16: 18:27
-          goto -> bb1;                     // scope 0 at $DIR/lower_array_len.rs:18:16: 18:27
+          StorageLive(_3);                 // scope 0 at $DIR/lower_array_len.rs:+1:8: +1:27
+          StorageLive(_4);                 // scope 0 at $DIR/lower_array_len.rs:+1:8: +1:13
+          _4 = _1;                         // scope 0 at $DIR/lower_array_len.rs:+1:8: +1:13
+          StorageLive(_5);                 // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+          StorageLive(_6);                 // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+          StorageLive(_7);                 // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+          _7 = &(*_2);                     // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
++         StorageLive(_14);                // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
++         _14 = _7;                        // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+          _6 = move _7 as &[u8] (Pointer(Unsize)); // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+          StorageDead(_7);                 // scope 0 at $DIR/lower_array_len.rs:+1:20: +1:21
+-         _5 = Len((*_6));                 // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
++         _5 = Len((*_14));                // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
++         StorageDead(_14);                // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+          goto -> bb1;                     // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
       }
   
       bb1: {
-          StorageDead(_6);                 // scope 0 at $DIR/lower_array_len.rs:18:26: 18:27
-          _3 = Lt(move _4, move _5);       // scope 0 at $DIR/lower_array_len.rs:18:8: 18:27
-          StorageDead(_5);                 // scope 0 at $DIR/lower_array_len.rs:18:26: 18:27
-          StorageDead(_4);                 // scope 0 at $DIR/lower_array_len.rs:18:26: 18:27
-          switchInt(move _3) -> [false: bb4, otherwise: bb2]; // scope 0 at $DIR/lower_array_len.rs:18:8: 18:27
+          StorageDead(_6);                 // scope 0 at $DIR/lower_array_len.rs:+1:26: +1:27
+          _3 = Lt(move _4, move _5);       // scope 0 at $DIR/lower_array_len.rs:+1:8: +1:27
+          StorageDead(_5);                 // scope 0 at $DIR/lower_array_len.rs:+1:26: +1:27
+          StorageDead(_4);                 // scope 0 at $DIR/lower_array_len.rs:+1:26: +1:27
+          switchInt(move _3) -> [false: bb4, otherwise: bb2]; // scope 0 at $DIR/lower_array_len.rs:+1:8: +1:27
       }
   
       bb2: {
-          StorageLive(_8);                 // scope 0 at $DIR/lower_array_len.rs:19:15: 19:20
-          _8 = _1;                         // scope 0 at $DIR/lower_array_len.rs:19:15: 19:20
-          _9 = Len((*_2));                 // scope 0 at $DIR/lower_array_len.rs:19:9: 19:21
-          _10 = Lt(_8, _9);                // scope 0 at $DIR/lower_array_len.rs:19:9: 19:21
-          assert(move _10, "index out of bounds: the length is {} but the index is {}", move _9, _8) -> bb3; // scope 0 at $DIR/lower_array_len.rs:19:9: 19:21
+          StorageLive(_8);                 // scope 0 at $DIR/lower_array_len.rs:+2:15: +2:20
+          _8 = _1;                         // scope 0 at $DIR/lower_array_len.rs:+2:15: +2:20
+          _9 = Len((*_2));                 // scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
+          _10 = Lt(_8, _9);                // scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
+          assert(move _10, "index out of bounds: the length is {} but the index is {}", move _9, _8) -> bb3; // scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
       }
   
       bb3: {
-          _0 = (*_2)[_8];                  // scope 0 at $DIR/lower_array_len.rs:19:9: 19:21
-          StorageDead(_8);                 // scope 0 at $DIR/lower_array_len.rs:20:5: 20:6
-          goto -> bb6;                     // scope 0 at $DIR/lower_array_len.rs:18:5: 24:6
+          _0 = (*_2)[_8];                  // scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
+          StorageDead(_8);                 // scope 0 at $DIR/lower_array_len.rs:+3:5: +3:6
+          goto -> bb6;                     // scope 0 at $DIR/lower_array_len.rs:+1:5: +7:6
       }
   
       bb4: {
-          StorageLive(_11);                // scope 0 at $DIR/lower_array_len.rs:21:15: 21:16
-          _11 = const 0_usize;             // scope 0 at $DIR/lower_array_len.rs:21:15: 21:16
-          _12 = Len((*_2));                // scope 0 at $DIR/lower_array_len.rs:21:9: 21:17
-          _13 = Lt(_11, _12);              // scope 0 at $DIR/lower_array_len.rs:21:9: 21:17
-          assert(move _13, "index out of bounds: the length is {} but the index is {}", move _12, _11) -> bb5; // scope 0 at $DIR/lower_array_len.rs:21:9: 21:17
+          StorageLive(_11);                // scope 0 at $DIR/lower_array_len.rs:+4:15: +4:16
+          _11 = const 0_usize;             // scope 0 at $DIR/lower_array_len.rs:+4:15: +4:16
+          _12 = Len((*_2));                // scope 0 at $DIR/lower_array_len.rs:+4:9: +4:17
+          _13 = Lt(_11, _12);              // scope 0 at $DIR/lower_array_len.rs:+4:9: +4:17
+          assert(move _13, "index out of bounds: the length is {} but the index is {}", move _12, _11) -> bb5; // scope 0 at $DIR/lower_array_len.rs:+4:9: +4:17
       }
   
       bb5: {
-          (*_2)[_11] = const 42_u8;        // scope 0 at $DIR/lower_array_len.rs:21:9: 21:22
-          StorageDead(_11);                // scope 0 at $DIR/lower_array_len.rs:21:22: 21:23
-          _0 = const 42_u8;                // scope 0 at $DIR/lower_array_len.rs:23:9: 23:11
-          goto -> bb6;                     // scope 0 at $DIR/lower_array_len.rs:18:5: 24:6
+          (*_2)[_11] = const 42_u8;        // scope 0 at $DIR/lower_array_len.rs:+4:9: +4:22
+          StorageDead(_11);                // scope 0 at $DIR/lower_array_len.rs:+4:22: +4:23
+          _0 = const 42_u8;                // scope 0 at $DIR/lower_array_len.rs:+6:9: +6:11
+          goto -> bb6;                     // scope 0 at $DIR/lower_array_len.rs:+1:5: +7:6
       }
   
       bb6: {
-          StorageDead(_3);                 // scope 0 at $DIR/lower_array_len.rs:24:5: 24:6
-          return;                          // scope 0 at $DIR/lower_array_len.rs:25:2: 25:2
+          StorageDead(_3);                 // scope 0 at $DIR/lower_array_len.rs:+7:5: +7:6
+          return;                          // scope 0 at $DIR/lower_array_len.rs:+8:2: +8:2
       }
   }
   
index 51d5f1acdab839683cb3b653d26bf1e94ec9c102..4f241d7c9064b34f3f538a73659c667c33ddbc8c 100644 (file)
@@ -2,92 +2,92 @@
 + // MIR for `array_bound_mut` after SimplifyLocals
   
   fn array_bound_mut(_1: usize, _2: &mut [u8; N]) -> u8 {
-      debug index => _1;                   // in scope 0 at $DIR/lower_array_len.rs:17:40: 17:45
-      debug slice => _2;                   // in scope 0 at $DIR/lower_array_len.rs:17:54: 17:59
-      let mut _0: u8;                      // return place in scope 0 at $DIR/lower_array_len.rs:17:78: 17:80
-      let mut _3: bool;                    // in scope 0 at $DIR/lower_array_len.rs:18:8: 18:27
-      let mut _4: usize;                   // in scope 0 at $DIR/lower_array_len.rs:18:8: 18:13
-      let mut _5: usize;                   // in scope 0 at $DIR/lower_array_len.rs:18:16: 18:27
--     let mut _6: &[u8];                   // in scope 0 at $DIR/lower_array_len.rs:18:16: 18:27
--     let mut _7: &[u8; N];                // in scope 0 at $DIR/lower_array_len.rs:18:16: 18:27
--     let _8: usize;                       // in scope 0 at $DIR/lower_array_len.rs:19:15: 19:20
--     let mut _9: usize;                   // in scope 0 at $DIR/lower_array_len.rs:19:9: 19:21
--     let mut _10: bool;                   // in scope 0 at $DIR/lower_array_len.rs:19:9: 19:21
--     let _11: usize;                      // in scope 0 at $DIR/lower_array_len.rs:21:15: 21:16
--     let mut _12: usize;                  // in scope 0 at $DIR/lower_array_len.rs:21:9: 21:17
--     let mut _13: bool;                   // in scope 0 at $DIR/lower_array_len.rs:21:9: 21:17
--     let mut _14: &[u8; N];               // in scope 0 at $DIR/lower_array_len.rs:18:16: 18:27
-+     let _6: usize;                       // in scope 0 at $DIR/lower_array_len.rs:19:15: 19:20
-+     let mut _7: usize;                   // in scope 0 at $DIR/lower_array_len.rs:19:9: 19:21
-+     let mut _8: bool;                    // in scope 0 at $DIR/lower_array_len.rs:19:9: 19:21
-+     let _9: usize;                       // in scope 0 at $DIR/lower_array_len.rs:21:15: 21:16
-+     let mut _10: usize;                  // in scope 0 at $DIR/lower_array_len.rs:21:9: 21:17
-+     let mut _11: bool;                   // in scope 0 at $DIR/lower_array_len.rs:21:9: 21:17
+      debug index => _1;                   // in scope 0 at $DIR/lower_array_len.rs:+0:40: +0:45
+      debug slice => _2;                   // in scope 0 at $DIR/lower_array_len.rs:+0:54: +0:59
+      let mut _0: u8;                      // return place in scope 0 at $DIR/lower_array_len.rs:+0:78: +0:80
+      let mut _3: bool;                    // in scope 0 at $DIR/lower_array_len.rs:+1:8: +1:27
+      let mut _4: usize;                   // in scope 0 at $DIR/lower_array_len.rs:+1:8: +1:13
+      let mut _5: usize;                   // in scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+-     let mut _6: &[u8];                   // in scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+-     let mut _7: &[u8; N];                // in scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+-     let _8: usize;                       // in scope 0 at $DIR/lower_array_len.rs:+2:15: +2:20
+-     let mut _9: usize;                   // in scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
+-     let mut _10: bool;                   // in scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
+-     let _11: usize;                      // in scope 0 at $DIR/lower_array_len.rs:+4:15: +4:16
+-     let mut _12: usize;                  // in scope 0 at $DIR/lower_array_len.rs:+4:9: +4:17
+-     let mut _13: bool;                   // in scope 0 at $DIR/lower_array_len.rs:+4:9: +4:17
+-     let mut _14: &[u8; N];               // in scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
++     let _6: usize;                       // in scope 0 at $DIR/lower_array_len.rs:+2:15: +2:20
++     let mut _7: usize;                   // in scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
++     let mut _8: bool;                    // in scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
++     let _9: usize;                       // in scope 0 at $DIR/lower_array_len.rs:+4:15: +4:16
++     let mut _10: usize;                  // in scope 0 at $DIR/lower_array_len.rs:+4:9: +4:17
++     let mut _11: bool;                   // in scope 0 at $DIR/lower_array_len.rs:+4:9: +4:17
   
       bb0: {
-          StorageLive(_3);                 // scope 0 at $DIR/lower_array_len.rs:18:8: 18:27
-          StorageLive(_4);                 // scope 0 at $DIR/lower_array_len.rs:18:8: 18:13
-          _4 = _1;                         // scope 0 at $DIR/lower_array_len.rs:18:8: 18:13
-          StorageLive(_5);                 // scope 0 at $DIR/lower_array_len.rs:18:16: 18:27
--         StorageLive(_6);                 // scope 0 at $DIR/lower_array_len.rs:18:16: 18:27
--         StorageLive(_7);                 // scope 0 at $DIR/lower_array_len.rs:18:16: 18:27
--         StorageLive(_14);                // scope 0 at $DIR/lower_array_len.rs:18:16: 18:27
--         StorageDead(_7);                 // scope 0 at $DIR/lower_array_len.rs:18:20: 18:21
-          _5 = const N;                    // scope 0 at $DIR/lower_array_len.rs:18:16: 18:27
--         StorageDead(_14);                // scope 0 at $DIR/lower_array_len.rs:18:16: 18:27
--         StorageDead(_6);                 // scope 0 at $DIR/lower_array_len.rs:18:26: 18:27
-          _3 = Lt(move _4, move _5);       // scope 0 at $DIR/lower_array_len.rs:18:8: 18:27
-          StorageDead(_5);                 // scope 0 at $DIR/lower_array_len.rs:18:26: 18:27
-          StorageDead(_4);                 // scope 0 at $DIR/lower_array_len.rs:18:26: 18:27
-          switchInt(move _3) -> [false: bb3, otherwise: bb1]; // scope 0 at $DIR/lower_array_len.rs:18:8: 18:27
+          StorageLive(_3);                 // scope 0 at $DIR/lower_array_len.rs:+1:8: +1:27
+          StorageLive(_4);                 // scope 0 at $DIR/lower_array_len.rs:+1:8: +1:13
+          _4 = _1;                         // scope 0 at $DIR/lower_array_len.rs:+1:8: +1:13
+          StorageLive(_5);                 // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+-         StorageLive(_6);                 // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+-         StorageLive(_7);                 // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+-         StorageLive(_14);                // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+-         StorageDead(_7);                 // scope 0 at $DIR/lower_array_len.rs:+1:20: +1:21
+          _5 = const N;                    // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+-         StorageDead(_14);                // scope 0 at $DIR/lower_array_len.rs:+1:16: +1:27
+-         StorageDead(_6);                 // scope 0 at $DIR/lower_array_len.rs:+1:26: +1:27
+          _3 = Lt(move _4, move _5);       // scope 0 at $DIR/lower_array_len.rs:+1:8: +1:27
+          StorageDead(_5);                 // scope 0 at $DIR/lower_array_len.rs:+1:26: +1:27
+          StorageDead(_4);                 // scope 0 at $DIR/lower_array_len.rs:+1:26: +1:27
+          switchInt(move _3) -> [false: bb3, otherwise: bb1]; // scope 0 at $DIR/lower_array_len.rs:+1:8: +1:27
       }
   
       bb1: {
--         StorageLive(_8);                 // scope 0 at $DIR/lower_array_len.rs:19:15: 19:20
--         _8 = _1;                         // scope 0 at $DIR/lower_array_len.rs:19:15: 19:20
--         _9 = const N;                    // scope 0 at $DIR/lower_array_len.rs:19:9: 19:21
--         _10 = Lt(_8, _9);                // scope 0 at $DIR/lower_array_len.rs:19:9: 19:21
--         assert(move _10, "index out of bounds: the length is {} but the index is {}", move _9, _8) -> bb2; // scope 0 at $DIR/lower_array_len.rs:19:9: 19:21
-+         StorageLive(_6);                 // scope 0 at $DIR/lower_array_len.rs:19:15: 19:20
-+         _6 = _1;                         // scope 0 at $DIR/lower_array_len.rs:19:15: 19:20
-+         _7 = const N;                    // scope 0 at $DIR/lower_array_len.rs:19:9: 19:21
-+         _8 = Lt(_6, _7);                 // scope 0 at $DIR/lower_array_len.rs:19:9: 19:21
-+         assert(move _8, "index out of bounds: the length is {} but the index is {}", move _7, _6) -> bb2; // scope 0 at $DIR/lower_array_len.rs:19:9: 19:21
+-         StorageLive(_8);                 // scope 0 at $DIR/lower_array_len.rs:+2:15: +2:20
+-         _8 = _1;                         // scope 0 at $DIR/lower_array_len.rs:+2:15: +2:20
+-         _9 = const N;                    // scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
+-         _10 = Lt(_8, _9);                // scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
+-         assert(move _10, "index out of bounds: the length is {} but the index is {}", move _9, _8) -> bb2; // scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
++         StorageLive(_6);                 // scope 0 at $DIR/lower_array_len.rs:+2:15: +2:20
++         _6 = _1;                         // scope 0 at $DIR/lower_array_len.rs:+2:15: +2:20
++         _7 = const N;                    // scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
++         _8 = Lt(_6, _7);                 // scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
++         assert(move _8, "index out of bounds: the length is {} but the index is {}", move _7, _6) -> bb2; // scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
       }
   
       bb2: {
--         _0 = (*_2)[_8];                  // scope 0 at $DIR/lower_array_len.rs:19:9: 19:21
--         StorageDead(_8);                 // scope 0 at $DIR/lower_array_len.rs:20:5: 20:6
-+         _0 = (*_2)[_6];                  // scope 0 at $DIR/lower_array_len.rs:19:9: 19:21
-+         StorageDead(_6);                 // scope 0 at $DIR/lower_array_len.rs:20:5: 20:6
-          goto -> bb5;                     // scope 0 at $DIR/lower_array_len.rs:18:5: 24:6
+-         _0 = (*_2)[_8];                  // scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
+-         StorageDead(_8);                 // scope 0 at $DIR/lower_array_len.rs:+3:5: +3:6
++         _0 = (*_2)[_6];                  // scope 0 at $DIR/lower_array_len.rs:+2:9: +2:21
++         StorageDead(_6);                 // scope 0 at $DIR/lower_array_len.rs:+3:5: +3:6
+          goto -> bb5;                     // scope 0 at $DIR/lower_array_len.rs:+1:5: +7:6
       }
   
       bb3: {
--         StorageLive(_11);                // scope 0 at $DIR/lower_array_len.rs:21:15: 21:16
--         _11 = const 0_usize;             // scope 0 at $DIR/lower_array_len.rs:21:15: 21:16
--         _12 = const N;                   // scope 0 at $DIR/lower_array_len.rs:21:9: 21:17
--         _13 = Lt(const 0_usize, _12);    // scope 0 at $DIR/lower_array_len.rs:21:9: 21:17
--         assert(move _13, "index out of bounds: the length is {} but the index is {}", move _12, const 0_usize) -> bb4; // scope 0 at $DIR/lower_array_len.rs:21:9: 21:17
-+         StorageLive(_9);                 // scope 0 at $DIR/lower_array_len.rs:21:15: 21:16
-+         _9 = const 0_usize;              // scope 0 at $DIR/lower_array_len.rs:21:15: 21:16
-+         _10 = const N;                   // scope 0 at $DIR/lower_array_len.rs:21:9: 21:17
-+         _11 = Lt(const 0_usize, _10);    // scope 0 at $DIR/lower_array_len.rs:21:9: 21:17
-+         assert(move _11, "index out of bounds: the length is {} but the index is {}", move _10, const 0_usize) -> bb4; // scope 0 at $DIR/lower_array_len.rs:21:9: 21:17
+-         StorageLive(_11);                // scope 0 at $DIR/lower_array_len.rs:+4:15: +4:16
+-         _11 = const 0_usize;             // scope 0 at $DIR/lower_array_len.rs:+4:15: +4:16
+-         _12 = const N;                   // scope 0 at $DIR/lower_array_len.rs:+4:9: +4:17
+-         _13 = Lt(const 0_usize, _12);    // scope 0 at $DIR/lower_array_len.rs:+4:9: +4:17
+-         assert(move _13, "index out of bounds: the length is {} but the index is {}", move _12, const 0_usize) -> bb4; // scope 0 at $DIR/lower_array_len.rs:+4:9: +4:17
++         StorageLive(_9);                 // scope 0 at $DIR/lower_array_len.rs:+4:15: +4:16
++         _9 = const 0_usize;              // scope 0 at $DIR/lower_array_len.rs:+4:15: +4:16
++         _10 = const N;                   // scope 0 at $DIR/lower_array_len.rs:+4:9: +4:17
++         _11 = Lt(const 0_usize, _10);    // scope 0 at $DIR/lower_array_len.rs:+4:9: +4:17
++         assert(move _11, "index out of bounds: the length is {} but the index is {}", move _10, const 0_usize) -> bb4; // scope 0 at $DIR/lower_array_len.rs:+4:9: +4:17
       }
   
       bb4: {
--         (*_2)[_11] = const 42_u8;        // scope 0 at $DIR/lower_array_len.rs:21:9: 21:22
--         StorageDead(_11);                // scope 0 at $DIR/lower_array_len.rs:21:22: 21:23
-+         (*_2)[_9] = const 42_u8;         // scope 0 at $DIR/lower_array_len.rs:21:9: 21:22
-+         StorageDead(_9);                 // scope 0 at $DIR/lower_array_len.rs:21:22: 21:23
-          _0 = const 42_u8;                // scope 0 at $DIR/lower_array_len.rs:23:9: 23:11
-          goto -> bb5;                     // scope 0 at $DIR/lower_array_len.rs:18:5: 24:6
+-         (*_2)[_11] = const 42_u8;        // scope 0 at $DIR/lower_array_len.rs:+4:9: +4:22
+-         StorageDead(_11);                // scope 0 at $DIR/lower_array_len.rs:+4:22: +4:23
++         (*_2)[_9] = const 42_u8;         // scope 0 at $DIR/lower_array_len.rs:+4:9: +4:22
++         StorageDead(_9);                 // scope 0 at $DIR/lower_array_len.rs:+4:22: +4:23
+          _0 = const 42_u8;                // scope 0 at $DIR/lower_array_len.rs:+6:9: +6:11
+          goto -> bb5;                     // scope 0 at $DIR/lower_array_len.rs:+1:5: +7:6
       }
   
       bb5: {
-          StorageDead(_3);                 // scope 0 at $DIR/lower_array_len.rs:24:5: 24:6
-          return;                          // scope 0 at $DIR/lower_array_len.rs:25:2: 25:2
+          StorageDead(_3);                 // scope 0 at $DIR/lower_array_len.rs:+7:5: +7:6
+          return;                          // scope 0 at $DIR/lower_array_len.rs:+8:2: +8:2
       }
   }
   
index a818de39bcc8406769768b6ca350dae3b598aa98..26f45be17be6f85b8950b30af0168330aa86b8d4 100644 (file)
@@ -2,26 +2,26 @@
 + // MIR for `array_len` after InstCombine
   
   fn array_len(_1: &[u8; N]) -> usize {
-      debug arr => _1;                     // in scope 0 at $DIR/lower_array_len.rs:30:34: 30:37
-      let mut _0: usize;                   // return place in scope 0 at $DIR/lower_array_len.rs:30:52: 30:57
-      let mut _2: &[u8];                   // in scope 0 at $DIR/lower_array_len.rs:31:5: 31:14
-      let mut _3: &[u8; N];                // in scope 0 at $DIR/lower_array_len.rs:31:5: 31:14
-      let mut _4: &[u8; N];                // in scope 0 at $DIR/lower_array_len.rs:31:5: 31:14
+      debug arr => _1;                     // in scope 0 at $DIR/lower_array_len.rs:+0:34: +0:37
+      let mut _0: usize;                   // return place in scope 0 at $DIR/lower_array_len.rs:+0:52: +0:57
+      let mut _2: &[u8];                   // in scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+      let mut _3: &[u8; N];                // in scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+      let mut _4: &[u8; N];                // in scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/lower_array_len.rs:31:5: 31:14
-          StorageLive(_3);                 // scope 0 at $DIR/lower_array_len.rs:31:5: 31:14
--         _3 = &(*_1);                     // scope 0 at $DIR/lower_array_len.rs:31:5: 31:14
-+         _3 = _1;                         // scope 0 at $DIR/lower_array_len.rs:31:5: 31:14
-          StorageLive(_4);                 // scope 0 at $DIR/lower_array_len.rs:31:5: 31:14
-          _4 = _3;                         // scope 0 at $DIR/lower_array_len.rs:31:5: 31:14
-          _2 = move _3 as &[u8] (Pointer(Unsize)); // scope 0 at $DIR/lower_array_len.rs:31:5: 31:14
-          StorageDead(_3);                 // scope 0 at $DIR/lower_array_len.rs:31:7: 31:8
--         _0 = Len((*_4));                 // scope 0 at $DIR/lower_array_len.rs:31:5: 31:14
-+         _0 = const N;                    // scope 0 at $DIR/lower_array_len.rs:31:5: 31:14
-          StorageDead(_4);                 // scope 0 at $DIR/lower_array_len.rs:31:5: 31:14
-          StorageDead(_2);                 // scope 0 at $DIR/lower_array_len.rs:31:13: 31:14
-          return;                          // scope 0 at $DIR/lower_array_len.rs:32:2: 32:2
+          StorageLive(_2);                 // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+          StorageLive(_3);                 // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+-         _3 = &(*_1);                     // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
++         _3 = _1;                         // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+          StorageLive(_4);                 // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+          _4 = _3;                         // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+          _2 = move _3 as &[u8] (Pointer(Unsize)); // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+          StorageDead(_3);                 // scope 0 at $DIR/lower_array_len.rs:+1:7: +1:8
+-         _0 = Len((*_4));                 // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
++         _0 = const N;                    // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+          StorageDead(_4);                 // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+          StorageDead(_2);                 // scope 0 at $DIR/lower_array_len.rs:+1:13: +1:14
+          return;                          // scope 0 at $DIR/lower_array_len.rs:+2:2: +2:2
       }
   }
   
index 892fdda818ebd1694eeec93f89235b3f50c1bd4b..3ed68f5f7256872070e47f02585ce5771aa492cf 100644 (file)
@@ -2,29 +2,29 @@
 + // MIR for `array_len` after NormalizeArrayLen
   
   fn array_len(_1: &[u8; N]) -> usize {
-      debug arr => _1;                     // in scope 0 at $DIR/lower_array_len.rs:30:34: 30:37
-      let mut _0: usize;                   // return place in scope 0 at $DIR/lower_array_len.rs:30:52: 30:57
-      let mut _2: &[u8];                   // in scope 0 at $DIR/lower_array_len.rs:31:5: 31:14
-      let mut _3: &[u8; N];                // in scope 0 at $DIR/lower_array_len.rs:31:5: 31:14
-+     let mut _4: &[u8; N];                // in scope 0 at $DIR/lower_array_len.rs:31:5: 31:14
+      debug arr => _1;                     // in scope 0 at $DIR/lower_array_len.rs:+0:34: +0:37
+      let mut _0: usize;                   // return place in scope 0 at $DIR/lower_array_len.rs:+0:52: +0:57
+      let mut _2: &[u8];                   // in scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+      let mut _3: &[u8; N];                // in scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
++     let mut _4: &[u8; N];                // in scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/lower_array_len.rs:31:5: 31:14
-          StorageLive(_3);                 // scope 0 at $DIR/lower_array_len.rs:31:5: 31:14
-          _3 = &(*_1);                     // scope 0 at $DIR/lower_array_len.rs:31:5: 31:14
-+         StorageLive(_4);                 // scope 0 at $DIR/lower_array_len.rs:31:5: 31:14
-+         _4 = _3;                         // scope 0 at $DIR/lower_array_len.rs:31:5: 31:14
-          _2 = move _3 as &[u8] (Pointer(Unsize)); // scope 0 at $DIR/lower_array_len.rs:31:5: 31:14
-          StorageDead(_3);                 // scope 0 at $DIR/lower_array_len.rs:31:7: 31:8
--         _0 = Len((*_2));                 // scope 0 at $DIR/lower_array_len.rs:31:5: 31:14
-+         _0 = Len((*_4));                 // scope 0 at $DIR/lower_array_len.rs:31:5: 31:14
-+         StorageDead(_4);                 // scope 0 at $DIR/lower_array_len.rs:31:5: 31:14
-          goto -> bb1;                     // scope 0 at $DIR/lower_array_len.rs:31:5: 31:14
+          StorageLive(_2);                 // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+          StorageLive(_3);                 // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+          _3 = &(*_1);                     // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
++         StorageLive(_4);                 // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
++         _4 = _3;                         // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+          _2 = move _3 as &[u8] (Pointer(Unsize)); // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+          StorageDead(_3);                 // scope 0 at $DIR/lower_array_len.rs:+1:7: +1:8
+-         _0 = Len((*_2));                 // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
++         _0 = Len((*_4));                 // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
++         StorageDead(_4);                 // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+          goto -> bb1;                     // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
       }
   
       bb1: {
-          StorageDead(_2);                 // scope 0 at $DIR/lower_array_len.rs:31:13: 31:14
-          return;                          // scope 0 at $DIR/lower_array_len.rs:32:2: 32:2
+          StorageDead(_2);                 // scope 0 at $DIR/lower_array_len.rs:+1:13: +1:14
+          return;                          // scope 0 at $DIR/lower_array_len.rs:+2:2: +2:2
       }
   }
   
index 3c26cf32a76c7391fa240c536a1c63c5637e9571..09d571d20a369771fb35fea15735584a789b51b0 100644 (file)
@@ -2,21 +2,21 @@
 + // MIR for `array_len` after SimplifyLocals
   
   fn array_len(_1: &[u8; N]) -> usize {
-      debug arr => _1;                     // in scope 0 at $DIR/lower_array_len.rs:30:34: 30:37
-      let mut _0: usize;                   // return place in scope 0 at $DIR/lower_array_len.rs:30:52: 30:57
--     let mut _2: &[u8];                   // in scope 0 at $DIR/lower_array_len.rs:31:5: 31:14
--     let mut _3: &[u8; N];                // in scope 0 at $DIR/lower_array_len.rs:31:5: 31:14
--     let mut _4: &[u8; N];                // in scope 0 at $DIR/lower_array_len.rs:31:5: 31:14
+      debug arr => _1;                     // in scope 0 at $DIR/lower_array_len.rs:+0:34: +0:37
+      let mut _0: usize;                   // return place in scope 0 at $DIR/lower_array_len.rs:+0:52: +0:57
+-     let mut _2: &[u8];                   // in scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+-     let mut _3: &[u8; N];                // in scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+-     let mut _4: &[u8; N];                // in scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
   
       bb0: {
--         StorageLive(_2);                 // scope 0 at $DIR/lower_array_len.rs:31:5: 31:14
--         StorageLive(_3);                 // scope 0 at $DIR/lower_array_len.rs:31:5: 31:14
--         StorageLive(_4);                 // scope 0 at $DIR/lower_array_len.rs:31:5: 31:14
--         StorageDead(_3);                 // scope 0 at $DIR/lower_array_len.rs:31:7: 31:8
-          _0 = const N;                    // scope 0 at $DIR/lower_array_len.rs:31:5: 31:14
--         StorageDead(_4);                 // scope 0 at $DIR/lower_array_len.rs:31:5: 31:14
--         StorageDead(_2);                 // scope 0 at $DIR/lower_array_len.rs:31:13: 31:14
-          return;                          // scope 0 at $DIR/lower_array_len.rs:32:2: 32:2
+-         StorageLive(_2);                 // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+-         StorageLive(_3);                 // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+-         StorageLive(_4);                 // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+-         StorageDead(_3);                 // scope 0 at $DIR/lower_array_len.rs:+1:7: +1:8
+          _0 = const N;                    // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+-         StorageDead(_4);                 // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+-         StorageDead(_2);                 // scope 0 at $DIR/lower_array_len.rs:+1:13: +1:14
+          return;                          // scope 0 at $DIR/lower_array_len.rs:+2:2: +2:2
       }
   }
   
index ce12531e84bbf24fc2328e93095e6951c31de7b7..843da758deb1c3cea8b244c8cb116e41d8e737df 100644 (file)
@@ -2,25 +2,25 @@
 + // MIR for `array_len_by_value` after InstCombine
   
   fn array_len_by_value(_1: [u8; N]) -> usize {
-      debug arr => _1;                     // in scope 0 at $DIR/lower_array_len.rs:37:43: 37:46
-      let mut _0: usize;                   // return place in scope 0 at $DIR/lower_array_len.rs:37:60: 37:65
-      let mut _2: &[u8];                   // in scope 0 at $DIR/lower_array_len.rs:38:5: 38:14
-      let mut _3: &[u8; N];                // in scope 0 at $DIR/lower_array_len.rs:38:5: 38:14
-      let mut _4: &[u8; N];                // in scope 0 at $DIR/lower_array_len.rs:38:5: 38:14
+      debug arr => _1;                     // in scope 0 at $DIR/lower_array_len.rs:+0:43: +0:46
+      let mut _0: usize;                   // return place in scope 0 at $DIR/lower_array_len.rs:+0:60: +0:65
+      let mut _2: &[u8];                   // in scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+      let mut _3: &[u8; N];                // in scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+      let mut _4: &[u8; N];                // in scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/lower_array_len.rs:38:5: 38:14
-          StorageLive(_3);                 // scope 0 at $DIR/lower_array_len.rs:38:5: 38:14
-          _3 = &_1;                        // scope 0 at $DIR/lower_array_len.rs:38:5: 38:14
-          StorageLive(_4);                 // scope 0 at $DIR/lower_array_len.rs:38:5: 38:14
-          _4 = _3;                         // scope 0 at $DIR/lower_array_len.rs:38:5: 38:14
-          _2 = move _3 as &[u8] (Pointer(Unsize)); // scope 0 at $DIR/lower_array_len.rs:38:5: 38:14
-          StorageDead(_3);                 // scope 0 at $DIR/lower_array_len.rs:38:7: 38:8
--         _0 = Len((*_4));                 // scope 0 at $DIR/lower_array_len.rs:38:5: 38:14
-+         _0 = const N;                    // scope 0 at $DIR/lower_array_len.rs:38:5: 38:14
-          StorageDead(_4);                 // scope 0 at $DIR/lower_array_len.rs:38:5: 38:14
-          StorageDead(_2);                 // scope 0 at $DIR/lower_array_len.rs:38:13: 38:14
-          return;                          // scope 0 at $DIR/lower_array_len.rs:39:2: 39:2
+          StorageLive(_2);                 // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+          StorageLive(_3);                 // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+          _3 = &_1;                        // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+          StorageLive(_4);                 // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+          _4 = _3;                         // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+          _2 = move _3 as &[u8] (Pointer(Unsize)); // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+          StorageDead(_3);                 // scope 0 at $DIR/lower_array_len.rs:+1:7: +1:8
+-         _0 = Len((*_4));                 // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
++         _0 = const N;                    // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+          StorageDead(_4);                 // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+          StorageDead(_2);                 // scope 0 at $DIR/lower_array_len.rs:+1:13: +1:14
+          return;                          // scope 0 at $DIR/lower_array_len.rs:+2:2: +2:2
       }
   }
   
index 201fffbf0d45a5752960262c671d39009d88f8b5..f0e0cdcfdc0e4e2f85e6f28d31b8d2c681bf628b 100644 (file)
@@ -2,29 +2,29 @@
 + // MIR for `array_len_by_value` after NormalizeArrayLen
   
   fn array_len_by_value(_1: [u8; N]) -> usize {
-      debug arr => _1;                     // in scope 0 at $DIR/lower_array_len.rs:37:43: 37:46
-      let mut _0: usize;                   // return place in scope 0 at $DIR/lower_array_len.rs:37:60: 37:65
-      let mut _2: &[u8];                   // in scope 0 at $DIR/lower_array_len.rs:38:5: 38:14
-      let mut _3: &[u8; N];                // in scope 0 at $DIR/lower_array_len.rs:38:5: 38:14
-+     let mut _4: &[u8; N];                // in scope 0 at $DIR/lower_array_len.rs:38:5: 38:14
+      debug arr => _1;                     // in scope 0 at $DIR/lower_array_len.rs:+0:43: +0:46
+      let mut _0: usize;                   // return place in scope 0 at $DIR/lower_array_len.rs:+0:60: +0:65
+      let mut _2: &[u8];                   // in scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+      let mut _3: &[u8; N];                // in scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
++     let mut _4: &[u8; N];                // in scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/lower_array_len.rs:38:5: 38:14
-          StorageLive(_3);                 // scope 0 at $DIR/lower_array_len.rs:38:5: 38:14
-          _3 = &_1;                        // scope 0 at $DIR/lower_array_len.rs:38:5: 38:14
-+         StorageLive(_4);                 // scope 0 at $DIR/lower_array_len.rs:38:5: 38:14
-+         _4 = _3;                         // scope 0 at $DIR/lower_array_len.rs:38:5: 38:14
-          _2 = move _3 as &[u8] (Pointer(Unsize)); // scope 0 at $DIR/lower_array_len.rs:38:5: 38:14
-          StorageDead(_3);                 // scope 0 at $DIR/lower_array_len.rs:38:7: 38:8
--         _0 = Len((*_2));                 // scope 0 at $DIR/lower_array_len.rs:38:5: 38:14
-+         _0 = Len((*_4));                 // scope 0 at $DIR/lower_array_len.rs:38:5: 38:14
-+         StorageDead(_4);                 // scope 0 at $DIR/lower_array_len.rs:38:5: 38:14
-          goto -> bb1;                     // scope 0 at $DIR/lower_array_len.rs:38:5: 38:14
+          StorageLive(_2);                 // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+          StorageLive(_3);                 // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+          _3 = &_1;                        // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
++         StorageLive(_4);                 // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
++         _4 = _3;                         // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+          _2 = move _3 as &[u8] (Pointer(Unsize)); // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+          StorageDead(_3);                 // scope 0 at $DIR/lower_array_len.rs:+1:7: +1:8
+-         _0 = Len((*_2));                 // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
++         _0 = Len((*_4));                 // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
++         StorageDead(_4);                 // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+          goto -> bb1;                     // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
       }
   
       bb1: {
-          StorageDead(_2);                 // scope 0 at $DIR/lower_array_len.rs:38:13: 38:14
-          return;                          // scope 0 at $DIR/lower_array_len.rs:39:2: 39:2
+          StorageDead(_2);                 // scope 0 at $DIR/lower_array_len.rs:+1:13: +1:14
+          return;                          // scope 0 at $DIR/lower_array_len.rs:+2:2: +2:2
       }
   }
   
index 7a94217fa8b096fdef8e800c67fb1f484d1764da..dc1c00b69c138403b43069cf0227879ba77a8c69 100644 (file)
@@ -2,21 +2,21 @@
 + // MIR for `array_len_by_value` after SimplifyLocals
   
   fn array_len_by_value(_1: [u8; N]) -> usize {
-      debug arr => _1;                     // in scope 0 at $DIR/lower_array_len.rs:37:43: 37:46
-      let mut _0: usize;                   // return place in scope 0 at $DIR/lower_array_len.rs:37:60: 37:65
--     let mut _2: &[u8];                   // in scope 0 at $DIR/lower_array_len.rs:38:5: 38:14
--     let mut _3: &[u8; N];                // in scope 0 at $DIR/lower_array_len.rs:38:5: 38:14
--     let mut _4: &[u8; N];                // in scope 0 at $DIR/lower_array_len.rs:38:5: 38:14
+      debug arr => _1;                     // in scope 0 at $DIR/lower_array_len.rs:+0:43: +0:46
+      let mut _0: usize;                   // return place in scope 0 at $DIR/lower_array_len.rs:+0:60: +0:65
+-     let mut _2: &[u8];                   // in scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+-     let mut _3: &[u8; N];                // in scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+-     let mut _4: &[u8; N];                // in scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
   
       bb0: {
--         StorageLive(_2);                 // scope 0 at $DIR/lower_array_len.rs:38:5: 38:14
--         StorageLive(_3);                 // scope 0 at $DIR/lower_array_len.rs:38:5: 38:14
--         StorageLive(_4);                 // scope 0 at $DIR/lower_array_len.rs:38:5: 38:14
--         StorageDead(_3);                 // scope 0 at $DIR/lower_array_len.rs:38:7: 38:8
-          _0 = const N;                    // scope 0 at $DIR/lower_array_len.rs:38:5: 38:14
--         StorageDead(_4);                 // scope 0 at $DIR/lower_array_len.rs:38:5: 38:14
--         StorageDead(_2);                 // scope 0 at $DIR/lower_array_len.rs:38:13: 38:14
-          return;                          // scope 0 at $DIR/lower_array_len.rs:39:2: 39:2
+-         StorageLive(_2);                 // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+-         StorageLive(_3);                 // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+-         StorageLive(_4);                 // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+-         StorageDead(_3);                 // scope 0 at $DIR/lower_array_len.rs:+1:7: +1:8
+          _0 = const N;                    // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+-         StorageDead(_4);                 // scope 0 at $DIR/lower_array_len.rs:+1:5: +1:14
+-         StorageDead(_2);                 // scope 0 at $DIR/lower_array_len.rs:+1:13: +1:14
+          return;                          // scope 0 at $DIR/lower_array_len.rs:+2:2: +2:2
       }
   }
   
index 1b9e46c6a6d0aec5b2128e7fcbaf93a63ffc32ca..6866bcf9b8a7f17da6c0bc65e80803e15bd7677b 100644 (file)
@@ -2,23 +2,23 @@
 + // MIR for `align_of` after LowerIntrinsics
   
   fn align_of() -> usize {
-      let mut _0: usize;                   // return place in scope 0 at $DIR/lower_intrinsics.rs:18:25: 18:30
+      let mut _0: usize;                   // return place in scope 0 at $DIR/lower_intrinsics.rs:+0:25: +0:30
   
       bb0: {
--         _0 = std::intrinsics::min_align_of::<T>() -> bb1; // scope 0 at $DIR/lower_intrinsics.rs:19:5: 19:42
+-         _0 = std::intrinsics::min_align_of::<T>() -> bb1; // scope 0 at $DIR/lower_intrinsics.rs:+1:5: +1:42
 -                                          // mir::Constant
 -                                          // + span: $DIR/lower_intrinsics.rs:19:5: 19:40
 -                                          // + literal: Const { ty: extern "rust-intrinsic" fn() -> usize {std::intrinsics::min_align_of::<T>}, val: Value(<ZST>) }
-+         _0 = AlignOf(T);                 // scope 0 at $DIR/lower_intrinsics.rs:19:5: 19:42
-+         goto -> bb1;                     // scope 0 at $DIR/lower_intrinsics.rs:19:5: 19:42
++         _0 = AlignOf(T);                 // scope 0 at $DIR/lower_intrinsics.rs:+1:5: +1:42
++         goto -> bb1;                     // scope 0 at $DIR/lower_intrinsics.rs:+1:5: +1:42
       }
   
       bb1: {
-          return;                          // scope 0 at $DIR/lower_intrinsics.rs:20:2: 20:2
+          return;                          // scope 0 at $DIR/lower_intrinsics.rs:+2:2: +2:2
       }
   
       bb2 (cleanup): {
-          resume;                          // scope 0 at $DIR/lower_intrinsics.rs:18:1: 20:2
+          resume;                          // scope 0 at $DIR/lower_intrinsics.rs:+0:1: +2:2
       }
   }
   
index 9bda88ce2c7e8a2de1968ba0e8b1eb61aaefa436..032a6a01b7fe2f9b93d966b05800e018452019bf 100644 (file)
 + // MIR for `discriminant` after LowerIntrinsics
   
   fn discriminant(_1: T) -> () {
-      debug t => _1;                       // in scope 0 at $DIR/lower_intrinsics.rs:73:24: 73:25
-      let mut _0: ();                      // return place in scope 0 at $DIR/lower_intrinsics.rs:73:30: 73:30
-      let _2: <T as std::marker::DiscriminantKind>::Discriminant; // in scope 0 at $DIR/lower_intrinsics.rs:74:5: 74:45
-      let mut _3: &T;                      // in scope 0 at $DIR/lower_intrinsics.rs:74:42: 74:44
-      let _4: &T;                          // in scope 0 at $DIR/lower_intrinsics.rs:74:42: 74:44
-      let _5: u8;                          // in scope 0 at $DIR/lower_intrinsics.rs:75:5: 75:45
-      let mut _6: &i32;                    // in scope 0 at $DIR/lower_intrinsics.rs:75:42: 75:44
-      let _7: &i32;                        // in scope 0 at $DIR/lower_intrinsics.rs:75:42: 75:44
-      let _8: i32;                         // in scope 0 at $DIR/lower_intrinsics.rs:75:43: 75:44
-      let _9: u8;                          // in scope 0 at $DIR/lower_intrinsics.rs:76:5: 76:46
-      let mut _10: &();                    // in scope 0 at $DIR/lower_intrinsics.rs:76:42: 76:45
-      let _11: &();                        // in scope 0 at $DIR/lower_intrinsics.rs:76:42: 76:45
-      let _12: ();                         // in scope 0 at $DIR/lower_intrinsics.rs:76:43: 76:45
-      let _13: isize;                      // in scope 0 at $DIR/lower_intrinsics.rs:77:5: 77:48
-      let mut _14: &E;                     // in scope 0 at $DIR/lower_intrinsics.rs:77:42: 77:47
-      let _15: &E;                         // in scope 0 at $DIR/lower_intrinsics.rs:77:42: 77:47
-      let _16: E;                          // in scope 0 at $DIR/lower_intrinsics.rs:77:43: 77:47
-      let mut _17: &E;                     // in scope 0 at $DIR/lower_intrinsics.rs:77:42: 77:47
-      let mut _18: &();                    // in scope 0 at $DIR/lower_intrinsics.rs:76:42: 76:45
-      let mut _19: &i32;                   // in scope 0 at $DIR/lower_intrinsics.rs:75:42: 75:44
+      debug t => _1;                       // in scope 0 at $DIR/lower_intrinsics.rs:+0:24: +0:25
+      let mut _0: ();                      // return place in scope 0 at $DIR/lower_intrinsics.rs:+0:30: +0:30
+      let _2: <T as std::marker::DiscriminantKind>::Discriminant; // in scope 0 at $DIR/lower_intrinsics.rs:+1:5: +1:45
+      let mut _3: &T;                      // in scope 0 at $DIR/lower_intrinsics.rs:+1:42: +1:44
+      let _4: &T;                          // in scope 0 at $DIR/lower_intrinsics.rs:+1:42: +1:44
+      let _5: u8;                          // in scope 0 at $DIR/lower_intrinsics.rs:+2:5: +2:45
+      let mut _6: &i32;                    // in scope 0 at $DIR/lower_intrinsics.rs:+2:42: +2:44
+      let _7: &i32;                        // in scope 0 at $DIR/lower_intrinsics.rs:+2:42: +2:44
+      let _8: i32;                         // in scope 0 at $DIR/lower_intrinsics.rs:+2:43: +2:44
+      let _9: u8;                          // in scope 0 at $DIR/lower_intrinsics.rs:+3:5: +3:46
+      let mut _10: &();                    // in scope 0 at $DIR/lower_intrinsics.rs:+3:42: +3:45
+      let _11: &();                        // in scope 0 at $DIR/lower_intrinsics.rs:+3:42: +3:45
+      let _12: ();                         // in scope 0 at $DIR/lower_intrinsics.rs:+3:43: +3:45
+      let _13: isize;                      // in scope 0 at $DIR/lower_intrinsics.rs:+4:5: +4:48
+      let mut _14: &E;                     // in scope 0 at $DIR/lower_intrinsics.rs:+4:42: +4:47
+      let _15: &E;                         // in scope 0 at $DIR/lower_intrinsics.rs:+4:42: +4:47
+      let _16: E;                          // in scope 0 at $DIR/lower_intrinsics.rs:+4:43: +4:47
+      let mut _17: &E;                     // in scope 0 at $DIR/lower_intrinsics.rs:+4:42: +4:47
+      let mut _18: &();                    // in scope 0 at $DIR/lower_intrinsics.rs:+3:42: +3:45
+      let mut _19: &i32;                   // in scope 0 at $DIR/lower_intrinsics.rs:+2:42: +2:44
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/lower_intrinsics.rs:74:5: 74:45
-          StorageLive(_3);                 // scope 0 at $DIR/lower_intrinsics.rs:74:42: 74:44
-          StorageLive(_4);                 // scope 0 at $DIR/lower_intrinsics.rs:74:42: 74:44
-          _4 = &_1;                        // scope 0 at $DIR/lower_intrinsics.rs:74:42: 74:44
-          _3 = &(*_4);                     // scope 0 at $DIR/lower_intrinsics.rs:74:42: 74:44
--         _2 = discriminant_value::<T>(move _3) -> bb1; // scope 0 at $DIR/lower_intrinsics.rs:74:5: 74:45
+          StorageLive(_2);                 // scope 0 at $DIR/lower_intrinsics.rs:+1:5: +1:45
+          StorageLive(_3);                 // scope 0 at $DIR/lower_intrinsics.rs:+1:42: +1:44
+          StorageLive(_4);                 // scope 0 at $DIR/lower_intrinsics.rs:+1:42: +1:44
+          _4 = &_1;                        // scope 0 at $DIR/lower_intrinsics.rs:+1:42: +1:44
+          _3 = &(*_4);                     // scope 0 at $DIR/lower_intrinsics.rs:+1:42: +1:44
+-         _2 = discriminant_value::<T>(move _3) -> bb1; // scope 0 at $DIR/lower_intrinsics.rs:+1:5: +1:45
 -                                          // mir::Constant
 -                                          // + span: $DIR/lower_intrinsics.rs:74:5: 74:41
 -                                          // + literal: Const { ty: for<'r> extern "rust-intrinsic" fn(&'r T) -> <T as DiscriminantKind>::Discriminant {discriminant_value::<T>}, val: Value(<ZST>) }
-+         _2 = discriminant((*_3));        // scope 0 at $DIR/lower_intrinsics.rs:74:5: 74:45
-+         goto -> bb1;                     // scope 0 at $DIR/lower_intrinsics.rs:74:5: 74:45
++         _2 = discriminant((*_3));        // scope 0 at $DIR/lower_intrinsics.rs:+1:5: +1:45
++         goto -> bb1;                     // scope 0 at $DIR/lower_intrinsics.rs:+1:5: +1:45
       }
   
       bb1: {
-          StorageDead(_3);                 // scope 0 at $DIR/lower_intrinsics.rs:74:44: 74:45
-          StorageDead(_4);                 // scope 0 at $DIR/lower_intrinsics.rs:74:45: 74:46
-          StorageDead(_2);                 // scope 0 at $DIR/lower_intrinsics.rs:74:45: 74:46
-          StorageLive(_5);                 // scope 0 at $DIR/lower_intrinsics.rs:75:5: 75:45
-          StorageLive(_6);                 // scope 0 at $DIR/lower_intrinsics.rs:75:42: 75:44
-          StorageLive(_7);                 // scope 0 at $DIR/lower_intrinsics.rs:75:42: 75:44
-          _19 = const discriminant::<T>::promoted[2]; // scope 0 at $DIR/lower_intrinsics.rs:75:42: 75:44
+          StorageDead(_3);                 // scope 0 at $DIR/lower_intrinsics.rs:+1:44: +1:45
+          StorageDead(_4);                 // scope 0 at $DIR/lower_intrinsics.rs:+1:45: +1:46
+          StorageDead(_2);                 // scope 0 at $DIR/lower_intrinsics.rs:+1:45: +1:46
+          StorageLive(_5);                 // scope 0 at $DIR/lower_intrinsics.rs:+2:5: +2:45
+          StorageLive(_6);                 // scope 0 at $DIR/lower_intrinsics.rs:+2:42: +2:44
+          StorageLive(_7);                 // scope 0 at $DIR/lower_intrinsics.rs:+2:42: +2:44
+          _19 = const discriminant::<T>::promoted[2]; // scope 0 at $DIR/lower_intrinsics.rs:+2:42: +2:44
                                            // mir::Constant
                                            // + span: $DIR/lower_intrinsics.rs:75:42: 75:44
                                            // + literal: Const { ty: &i32, val: Unevaluated(discriminant, [T], Some(promoted[2])) }
-          _7 = &(*_19);                    // scope 0 at $DIR/lower_intrinsics.rs:75:42: 75:44
-          _6 = &(*_7);                     // scope 0 at $DIR/lower_intrinsics.rs:75:42: 75:44
--         _5 = discriminant_value::<i32>(move _6) -> bb2; // scope 0 at $DIR/lower_intrinsics.rs:75:5: 75:45
+          _7 = &(*_19);                    // scope 0 at $DIR/lower_intrinsics.rs:+2:42: +2:44
+          _6 = &(*_7);                     // scope 0 at $DIR/lower_intrinsics.rs:+2:42: +2:44
+-         _5 = discriminant_value::<i32>(move _6) -> bb2; // scope 0 at $DIR/lower_intrinsics.rs:+2:5: +2:45
 -                                          // mir::Constant
 -                                          // + span: $DIR/lower_intrinsics.rs:75:5: 75:41
 -                                          // + literal: Const { ty: for<'r> extern "rust-intrinsic" fn(&'r i32) -> <i32 as DiscriminantKind>::Discriminant {discriminant_value::<i32>}, val: Value(<ZST>) }
-+         _5 = discriminant((*_6));        // scope 0 at $DIR/lower_intrinsics.rs:75:5: 75:45
-+         goto -> bb2;                     // scope 0 at $DIR/lower_intrinsics.rs:75:5: 75:45
++         _5 = discriminant((*_6));        // scope 0 at $DIR/lower_intrinsics.rs:+2:5: +2:45
++         goto -> bb2;                     // scope 0 at $DIR/lower_intrinsics.rs:+2:5: +2:45
       }
   
       bb2: {
-          StorageDead(_6);                 // scope 0 at $DIR/lower_intrinsics.rs:75:44: 75:45
-          StorageDead(_7);                 // scope 0 at $DIR/lower_intrinsics.rs:75:45: 75:46
-          StorageDead(_5);                 // scope 0 at $DIR/lower_intrinsics.rs:75:45: 75:46
-          StorageLive(_9);                 // scope 0 at $DIR/lower_intrinsics.rs:76:5: 76:46
-          StorageLive(_10);                // scope 0 at $DIR/lower_intrinsics.rs:76:42: 76:45
-          StorageLive(_11);                // scope 0 at $DIR/lower_intrinsics.rs:76:42: 76:45
-          _18 = const discriminant::<T>::promoted[1]; // scope 0 at $DIR/lower_intrinsics.rs:76:42: 76:45
+          StorageDead(_6);                 // scope 0 at $DIR/lower_intrinsics.rs:+2:44: +2:45
+          StorageDead(_7);                 // scope 0 at $DIR/lower_intrinsics.rs:+2:45: +2:46
+          StorageDead(_5);                 // scope 0 at $DIR/lower_intrinsics.rs:+2:45: +2:46
+          StorageLive(_9);                 // scope 0 at $DIR/lower_intrinsics.rs:+3:5: +3:46
+          StorageLive(_10);                // scope 0 at $DIR/lower_intrinsics.rs:+3:42: +3:45
+          StorageLive(_11);                // scope 0 at $DIR/lower_intrinsics.rs:+3:42: +3:45
+          _18 = const discriminant::<T>::promoted[1]; // scope 0 at $DIR/lower_intrinsics.rs:+3:42: +3:45
                                            // mir::Constant
                                            // + span: $DIR/lower_intrinsics.rs:76:42: 76:45
                                            // + literal: Const { ty: &(), val: Unevaluated(discriminant, [T], Some(promoted[1])) }
-          _11 = &(*_18);                   // scope 0 at $DIR/lower_intrinsics.rs:76:42: 76:45
-          _10 = &(*_11);                   // scope 0 at $DIR/lower_intrinsics.rs:76:42: 76:45
--         _9 = discriminant_value::<()>(move _10) -> bb3; // scope 0 at $DIR/lower_intrinsics.rs:76:5: 76:46
+          _11 = &(*_18);                   // scope 0 at $DIR/lower_intrinsics.rs:+3:42: +3:45
+          _10 = &(*_11);                   // scope 0 at $DIR/lower_intrinsics.rs:+3:42: +3:45
+-         _9 = discriminant_value::<()>(move _10) -> bb3; // scope 0 at $DIR/lower_intrinsics.rs:+3:5: +3:46
 -                                          // mir::Constant
 -                                          // + span: $DIR/lower_intrinsics.rs:76:5: 76:41
 -                                          // + literal: Const { ty: for<'r> extern "rust-intrinsic" fn(&'r ()) -> <() as DiscriminantKind>::Discriminant {discriminant_value::<()>}, val: Value(<ZST>) }
-+         _9 = discriminant((*_10));       // scope 0 at $DIR/lower_intrinsics.rs:76:5: 76:46
-+         goto -> bb3;                     // scope 0 at $DIR/lower_intrinsics.rs:76:5: 76:46
++         _9 = discriminant((*_10));       // scope 0 at $DIR/lower_intrinsics.rs:+3:5: +3:46
++         goto -> bb3;                     // scope 0 at $DIR/lower_intrinsics.rs:+3:5: +3:46
       }
   
       bb3: {
-          StorageDead(_10);                // scope 0 at $DIR/lower_intrinsics.rs:76:45: 76:46
-          StorageDead(_11);                // scope 0 at $DIR/lower_intrinsics.rs:76:46: 76:47
-          StorageDead(_9);                 // scope 0 at $DIR/lower_intrinsics.rs:76:46: 76:47
-          StorageLive(_13);                // scope 0 at $DIR/lower_intrinsics.rs:77:5: 77:48
-          StorageLive(_14);                // scope 0 at $DIR/lower_intrinsics.rs:77:42: 77:47
-          StorageLive(_15);                // scope 0 at $DIR/lower_intrinsics.rs:77:42: 77:47
-          _17 = const discriminant::<T>::promoted[0]; // scope 0 at $DIR/lower_intrinsics.rs:77:42: 77:47
+          StorageDead(_10);                // scope 0 at $DIR/lower_intrinsics.rs:+3:45: +3:46
+          StorageDead(_11);                // scope 0 at $DIR/lower_intrinsics.rs:+3:46: +3:47
+          StorageDead(_9);                 // scope 0 at $DIR/lower_intrinsics.rs:+3:46: +3:47
+          StorageLive(_13);                // scope 0 at $DIR/lower_intrinsics.rs:+4:5: +4:48
+          StorageLive(_14);                // scope 0 at $DIR/lower_intrinsics.rs:+4:42: +4:47
+          StorageLive(_15);                // scope 0 at $DIR/lower_intrinsics.rs:+4:42: +4:47
+          _17 = const discriminant::<T>::promoted[0]; // scope 0 at $DIR/lower_intrinsics.rs:+4:42: +4:47
                                            // mir::Constant
                                            // + span: $DIR/lower_intrinsics.rs:77:42: 77:47
                                            // + literal: Const { ty: &E, val: Unevaluated(discriminant, [T], Some(promoted[0])) }
-          _15 = &(*_17);                   // scope 0 at $DIR/lower_intrinsics.rs:77:42: 77:47
-          _14 = &(*_15);                   // scope 0 at $DIR/lower_intrinsics.rs:77:42: 77:47
--         _13 = discriminant_value::<E>(move _14) -> bb4; // scope 0 at $DIR/lower_intrinsics.rs:77:5: 77:48
+          _15 = &(*_17);                   // scope 0 at $DIR/lower_intrinsics.rs:+4:42: +4:47
+          _14 = &(*_15);                   // scope 0 at $DIR/lower_intrinsics.rs:+4:42: +4:47
+-         _13 = discriminant_value::<E>(move _14) -> bb4; // scope 0 at $DIR/lower_intrinsics.rs:+4:5: +4:48
 -                                          // mir::Constant
 -                                          // + span: $DIR/lower_intrinsics.rs:77:5: 77:41
 -                                          // + literal: Const { ty: for<'r> extern "rust-intrinsic" fn(&'r E) -> <E as DiscriminantKind>::Discriminant {discriminant_value::<E>}, val: Value(<ZST>) }
-+         _13 = discriminant((*_14));      // scope 0 at $DIR/lower_intrinsics.rs:77:5: 77:48
-+         goto -> bb4;                     // scope 0 at $DIR/lower_intrinsics.rs:77:5: 77:48
++         _13 = discriminant((*_14));      // scope 0 at $DIR/lower_intrinsics.rs:+4:5: +4:48
++         goto -> bb4;                     // scope 0 at $DIR/lower_intrinsics.rs:+4:5: +4:48
       }
   
       bb4: {
-          StorageDead(_14);                // scope 0 at $DIR/lower_intrinsics.rs:77:47: 77:48
-          StorageDead(_15);                // scope 0 at $DIR/lower_intrinsics.rs:77:48: 77:49
-          StorageDead(_13);                // scope 0 at $DIR/lower_intrinsics.rs:77:48: 77:49
-          _0 = const ();                   // scope 0 at $DIR/lower_intrinsics.rs:73:30: 78:2
-          drop(_1) -> bb5;                 // scope 0 at $DIR/lower_intrinsics.rs:78:1: 78:2
+          StorageDead(_14);                // scope 0 at $DIR/lower_intrinsics.rs:+4:47: +4:48
+          StorageDead(_15);                // scope 0 at $DIR/lower_intrinsics.rs:+4:48: +4:49
+          StorageDead(_13);                // scope 0 at $DIR/lower_intrinsics.rs:+4:48: +4:49
+          _0 = const ();                   // scope 0 at $DIR/lower_intrinsics.rs:+0:30: +5:2
+          drop(_1) -> bb5;                 // scope 0 at $DIR/lower_intrinsics.rs:+5:1: +5:2
       }
   
       bb5: {
-          return;                          // scope 0 at $DIR/lower_intrinsics.rs:78:2: 78:2
+          return;                          // scope 0 at $DIR/lower_intrinsics.rs:+5:2: +5:2
       }
   
       bb6 (cleanup): {
-          resume;                          // scope 0 at $DIR/lower_intrinsics.rs:73:1: 78:2
+          resume;                          // scope 0 at $DIR/lower_intrinsics.rs:+0:1: +5:2
       }
   }
   
index a12aa1d6686a9b4a600cd6c06d86c632f222049c..9e4de2ac068e585d4224b3913dc25162b3adc682 100644 (file)
@@ -1,32 +1,32 @@
 // MIR for `f_u64` before PreCodegen
 
 fn f_u64() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/lower_intrinsics.rs:39:16: 39:16
-    let mut _1: u64;                     // in scope 0 at $DIR/lower_intrinsics.rs:40:5: 40:21
+    let mut _0: ();                      // return place in scope 0 at $DIR/lower_intrinsics.rs:+0:16: +0:16
+    let mut _1: u64;                     // in scope 0 at $DIR/lower_intrinsics.rs:+1:5: +1:21
     scope 1 (inlined f_dispatch::<u64>) { // at $DIR/lower_intrinsics.rs:40:5: 40:21
-        debug t => _1;                   // in scope 1 at $DIR/lower_intrinsics.rs:44:22: 44:23
-        let _2: ();                      // in scope 1 at $DIR/lower_intrinsics.rs:48:9: 48:21
-        let mut _3: u64;                 // in scope 1 at $DIR/lower_intrinsics.rs:48:19: 48:20
+        debug t => _1;                   // in scope 1 at $DIR/lower_intrinsics.rs:+5:22: +5:23
+        let _2: ();                      // in scope 1 at $DIR/lower_intrinsics.rs:+9:9: +9:21
+        let mut _3: u64;                 // in scope 1 at $DIR/lower_intrinsics.rs:+9:19: +9:20
         scope 2 (inlined std::mem::size_of::<u64>) { // at $DIR/lower_intrinsics.rs:45:8: 45:32
         }
     }
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/lower_intrinsics.rs:40:5: 40:21
-        _1 = const 0_u64;                // scope 0 at $DIR/lower_intrinsics.rs:40:5: 40:21
-        StorageLive(_2);                 // scope 1 at $DIR/lower_intrinsics.rs:48:9: 48:21
-        StorageLive(_3);                 // scope 1 at $DIR/lower_intrinsics.rs:48:19: 48:20
-        _3 = move _1;                    // scope 1 at $DIR/lower_intrinsics.rs:48:19: 48:20
-        _2 = f_non_zst::<u64>(move _3) -> bb1; // scope 1 at $DIR/lower_intrinsics.rs:48:9: 48:21
+        StorageLive(_1);                 // scope 0 at $DIR/lower_intrinsics.rs:+1:5: +1:21
+        _1 = const 0_u64;                // scope 0 at $DIR/lower_intrinsics.rs:+1:5: +1:21
+        StorageLive(_2);                 // scope 1 at $DIR/lower_intrinsics.rs:+9:9: +9:21
+        StorageLive(_3);                 // scope 1 at $DIR/lower_intrinsics.rs:+9:19: +9:20
+        _3 = move _1;                    // scope 1 at $DIR/lower_intrinsics.rs:+9:19: +9:20
+        _2 = f_non_zst::<u64>(move _3) -> bb1; // scope 1 at $DIR/lower_intrinsics.rs:+9:9: +9:21
                                          // mir::Constant
                                          // + span: $DIR/lower_intrinsics.rs:48:9: 48:18
                                          // + literal: Const { ty: fn(u64) {f_non_zst::<u64>}, val: Value(<ZST>) }
     }
 
     bb1: {
-        StorageDead(_3);                 // scope 1 at $DIR/lower_intrinsics.rs:48:20: 48:21
-        StorageDead(_2);                 // scope 1 at $DIR/lower_intrinsics.rs:48:21: 48:22
-        StorageDead(_1);                 // scope 0 at $DIR/lower_intrinsics.rs:40:5: 40:21
-        return;                          // scope 0 at $DIR/lower_intrinsics.rs:41:2: 41:2
+        StorageDead(_3);                 // scope 1 at $DIR/lower_intrinsics.rs:+9:20: +9:21
+        StorageDead(_2);                 // scope 1 at $DIR/lower_intrinsics.rs:+9:21: +9:22
+        StorageDead(_1);                 // scope 0 at $DIR/lower_intrinsics.rs:+1:5: +1:21
+        return;                          // scope 0 at $DIR/lower_intrinsics.rs:+2:2: +2:2
     }
 }
index 49e3b9144a59aa925f51bb8d64c6f4d062e0c38b..9a6c0457f92c90a3e939ec475837760aef44f514 100644 (file)
@@ -1,30 +1,30 @@
 // MIR for `f_unit` before PreCodegen
 
 fn f_unit() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/lower_intrinsics.rs:33:17: 33:17
-    let mut _1: ();                      // in scope 0 at $DIR/lower_intrinsics.rs:34:16: 34:18
+    let mut _0: ();                      // return place in scope 0 at $DIR/lower_intrinsics.rs:+0:17: +0:17
+    let mut _1: ();                      // in scope 0 at $DIR/lower_intrinsics.rs:+1:16: +1:18
     scope 1 (inlined f_dispatch::<()>) { // at $DIR/lower_intrinsics.rs:34:5: 34:19
-        debug t => _1;                   // in scope 1 at $DIR/lower_intrinsics.rs:44:22: 44:23
-        let _2: ();                      // in scope 1 at $DIR/lower_intrinsics.rs:46:9: 46:17
-        let mut _3: ();                  // in scope 1 at $DIR/lower_intrinsics.rs:46:15: 46:16
+        debug t => _1;                   // in scope 1 at $DIR/lower_intrinsics.rs:+11:22: +11:23
+        let _2: ();                      // in scope 1 at $DIR/lower_intrinsics.rs:+13:9: +13:17
+        let mut _3: ();                  // in scope 1 at $DIR/lower_intrinsics.rs:+13:15: +13:16
         scope 2 (inlined std::mem::size_of::<()>) { // at $DIR/lower_intrinsics.rs:45:8: 45:32
         }
     }
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/lower_intrinsics.rs:34:16: 34:18
-        StorageLive(_2);                 // scope 1 at $DIR/lower_intrinsics.rs:46:9: 46:17
-        StorageLive(_3);                 // scope 1 at $DIR/lower_intrinsics.rs:46:15: 46:16
-        _2 = f_zst::<()>(move _3) -> bb1; // scope 1 at $DIR/lower_intrinsics.rs:46:9: 46:17
+        StorageLive(_1);                 // scope 0 at $DIR/lower_intrinsics.rs:+1:16: +1:18
+        StorageLive(_2);                 // scope 1 at $DIR/lower_intrinsics.rs:+13:9: +13:17
+        StorageLive(_3);                 // scope 1 at $DIR/lower_intrinsics.rs:+13:15: +13:16
+        _2 = f_zst::<()>(move _3) -> bb1; // scope 1 at $DIR/lower_intrinsics.rs:+13:9: +13:17
                                          // mir::Constant
                                          // + span: $DIR/lower_intrinsics.rs:46:9: 46:14
                                          // + literal: Const { ty: fn(()) {f_zst::<()>}, val: Value(<ZST>) }
     }
 
     bb1: {
-        StorageDead(_3);                 // scope 1 at $DIR/lower_intrinsics.rs:46:16: 46:17
-        StorageDead(_2);                 // scope 1 at $DIR/lower_intrinsics.rs:46:17: 46:18
-        StorageDead(_1);                 // scope 0 at $DIR/lower_intrinsics.rs:34:18: 34:19
-        return;                          // scope 0 at $DIR/lower_intrinsics.rs:35:2: 35:2
+        StorageDead(_3);                 // scope 1 at $DIR/lower_intrinsics.rs:+13:16: +13:17
+        StorageDead(_2);                 // scope 1 at $DIR/lower_intrinsics.rs:+13:17: +13:18
+        StorageDead(_1);                 // scope 0 at $DIR/lower_intrinsics.rs:+1:18: +1:19
+        return;                          // scope 0 at $DIR/lower_intrinsics.rs:+2:2: +2:2
     }
 }
index 6c99e1b7ca6cb1ed48b718414d052f43020a2e74..50c86e61949dd52725b7ff638b078d7718afd514 100644 (file)
@@ -2,32 +2,32 @@
 + // MIR for `forget` after LowerIntrinsics
   
   fn forget(_1: T) -> () {
-      debug t => _1;                       // in scope 0 at $DIR/lower_intrinsics.rs:23:18: 23:19
-      let mut _0: ();                      // return place in scope 0 at $DIR/lower_intrinsics.rs:23:24: 23:24
-      let mut _2: T;                       // in scope 0 at $DIR/lower_intrinsics.rs:24:30: 24:31
+      debug t => _1;                       // in scope 0 at $DIR/lower_intrinsics.rs:+0:18: +0:19
+      let mut _0: ();                      // return place in scope 0 at $DIR/lower_intrinsics.rs:+0:24: +0:24
+      let mut _2: T;                       // in scope 0 at $DIR/lower_intrinsics.rs:+1:30: +1:31
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/lower_intrinsics.rs:24:30: 24:31
-          _2 = move _1;                    // scope 0 at $DIR/lower_intrinsics.rs:24:30: 24:31
--         _0 = std::intrinsics::forget::<T>(move _2) -> bb1; // scope 0 at $DIR/lower_intrinsics.rs:24:5: 24:32
+          StorageLive(_2);                 // scope 0 at $DIR/lower_intrinsics.rs:+1:30: +1:31
+          _2 = move _1;                    // scope 0 at $DIR/lower_intrinsics.rs:+1:30: +1:31
+-         _0 = std::intrinsics::forget::<T>(move _2) -> bb1; // scope 0 at $DIR/lower_intrinsics.rs:+1:5: +1:32
 -                                          // mir::Constant
 -                                          // + span: $DIR/lower_intrinsics.rs:24:5: 24:29
 -                                          // + literal: Const { ty: extern "rust-intrinsic" fn(T) {std::intrinsics::forget::<T>}, val: Value(<ZST>) }
-+         _0 = const ();                   // scope 0 at $DIR/lower_intrinsics.rs:24:5: 24:32
-+         goto -> bb1;                     // scope 0 at $DIR/lower_intrinsics.rs:24:5: 24:32
++         _0 = const ();                   // scope 0 at $DIR/lower_intrinsics.rs:+1:5: +1:32
++         goto -> bb1;                     // scope 0 at $DIR/lower_intrinsics.rs:+1:5: +1:32
       }
   
       bb1: {
-          StorageDead(_2);                 // scope 0 at $DIR/lower_intrinsics.rs:24:31: 24:32
-          goto -> bb2;                     // scope 0 at $DIR/lower_intrinsics.rs:25:1: 25:2
+          StorageDead(_2);                 // scope 0 at $DIR/lower_intrinsics.rs:+1:31: +1:32
+          goto -> bb2;                     // scope 0 at $DIR/lower_intrinsics.rs:+2:1: +2:2
       }
   
       bb2: {
-          return;                          // scope 0 at $DIR/lower_intrinsics.rs:25:2: 25:2
+          return;                          // scope 0 at $DIR/lower_intrinsics.rs:+2:2: +2:2
       }
   
       bb3 (cleanup): {
-          resume;                          // scope 0 at $DIR/lower_intrinsics.rs:23:1: 25:2
+          resume;                          // scope 0 at $DIR/lower_intrinsics.rs:+0:1: +2:2
       }
   }
   
index 41dac17dcb6400037cbd3134f6a82b8aa683e672..01591e17624d785e091031f8536c737e072781fd 100644 (file)
@@ -2,34 +2,34 @@
 + // MIR for `non_const` after LowerIntrinsics
   
   fn non_const() -> usize {
-      let mut _0: usize;                   // return place in scope 0 at $DIR/lower_intrinsics.rs:60:26: 60:31
-      let _1: extern "rust-intrinsic" fn() -> usize {std::intrinsics::size_of::<T>}; // in scope 0 at $DIR/lower_intrinsics.rs:62:9: 62:18
-      let mut _2: extern "rust-intrinsic" fn() -> usize {std::intrinsics::size_of::<T>}; // in scope 0 at $DIR/lower_intrinsics.rs:63:5: 63:14
+      let mut _0: usize;                   // return place in scope 0 at $DIR/lower_intrinsics.rs:+0:26: +0:31
+      let _1: extern "rust-intrinsic" fn() -> usize {std::intrinsics::size_of::<T>}; // in scope 0 at $DIR/lower_intrinsics.rs:+2:9: +2:18
+      let mut _2: extern "rust-intrinsic" fn() -> usize {std::intrinsics::size_of::<T>}; // in scope 0 at $DIR/lower_intrinsics.rs:+3:5: +3:14
       scope 1 {
-          debug size_of_t => _1;           // in scope 1 at $DIR/lower_intrinsics.rs:62:9: 62:18
+          debug size_of_t => _1;           // in scope 1 at $DIR/lower_intrinsics.rs:+2:9: +2:18
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/lower_intrinsics.rs:62:9: 62:18
-          _1 = std::intrinsics::size_of::<T>; // scope 0 at $DIR/lower_intrinsics.rs:62:21: 62:51
+          StorageLive(_1);                 // scope 0 at $DIR/lower_intrinsics.rs:+2:9: +2:18
+          _1 = std::intrinsics::size_of::<T>; // scope 0 at $DIR/lower_intrinsics.rs:+2:21: +2:51
                                            // mir::Constant
                                            // + span: $DIR/lower_intrinsics.rs:62:21: 62:51
                                            // + literal: Const { ty: extern "rust-intrinsic" fn() -> usize {std::intrinsics::size_of::<T>}, val: Value(<ZST>) }
-          StorageLive(_2);                 // scope 1 at $DIR/lower_intrinsics.rs:63:5: 63:14
-          _2 = _1;                         // scope 1 at $DIR/lower_intrinsics.rs:63:5: 63:14
--         _0 = move _2() -> bb1;           // scope 1 at $DIR/lower_intrinsics.rs:63:5: 63:16
-+         _0 = SizeOf(T);                  // scope 1 at $DIR/lower_intrinsics.rs:63:5: 63:16
-+         goto -> bb1;                     // scope 1 at $DIR/lower_intrinsics.rs:63:5: 63:16
+          StorageLive(_2);                 // scope 1 at $DIR/lower_intrinsics.rs:+3:5: +3:14
+          _2 = _1;                         // scope 1 at $DIR/lower_intrinsics.rs:+3:5: +3:14
+-         _0 = move _2() -> bb1;           // scope 1 at $DIR/lower_intrinsics.rs:+3:5: +3:16
++         _0 = SizeOf(T);                  // scope 1 at $DIR/lower_intrinsics.rs:+3:5: +3:16
++         goto -> bb1;                     // scope 1 at $DIR/lower_intrinsics.rs:+3:5: +3:16
       }
   
       bb1: {
-          StorageDead(_2);                 // scope 1 at $DIR/lower_intrinsics.rs:63:15: 63:16
-          StorageDead(_1);                 // scope 0 at $DIR/lower_intrinsics.rs:64:1: 64:2
-          return;                          // scope 0 at $DIR/lower_intrinsics.rs:64:2: 64:2
+          StorageDead(_2);                 // scope 1 at $DIR/lower_intrinsics.rs:+3:15: +3:16
+          StorageDead(_1);                 // scope 0 at $DIR/lower_intrinsics.rs:+4:1: +4:2
+          return;                          // scope 0 at $DIR/lower_intrinsics.rs:+4:2: +4:2
       }
   
       bb2 (cleanup): {
-          resume;                          // scope 0 at $DIR/lower_intrinsics.rs:60:1: 64:2
+          resume;                          // scope 0 at $DIR/lower_intrinsics.rs:+0:1: +4:2
       }
   }
   
index cd6da6f1dc745a62c16c985d324ca670f47a567d..7bc24fe7d673fbec3e46a66970ffd744413646d6 100644 (file)
@@ -2,23 +2,23 @@
 + // MIR for `size_of` after LowerIntrinsics
   
   fn size_of() -> usize {
-      let mut _0: usize;                   // return place in scope 0 at $DIR/lower_intrinsics.rs:13:24: 13:29
+      let mut _0: usize;                   // return place in scope 0 at $DIR/lower_intrinsics.rs:+0:24: +0:29
   
       bb0: {
--         _0 = std::intrinsics::size_of::<T>() -> bb1; // scope 0 at $DIR/lower_intrinsics.rs:14:5: 14:37
+-         _0 = std::intrinsics::size_of::<T>() -> bb1; // scope 0 at $DIR/lower_intrinsics.rs:+1:5: +1:37
 -                                          // mir::Constant
 -                                          // + span: $DIR/lower_intrinsics.rs:14:5: 14:35
 -                                          // + literal: Const { ty: extern "rust-intrinsic" fn() -> usize {std::intrinsics::size_of::<T>}, val: Value(<ZST>) }
-+         _0 = SizeOf(T);                  // scope 0 at $DIR/lower_intrinsics.rs:14:5: 14:37
-+         goto -> bb1;                     // scope 0 at $DIR/lower_intrinsics.rs:14:5: 14:37
++         _0 = SizeOf(T);                  // scope 0 at $DIR/lower_intrinsics.rs:+1:5: +1:37
++         goto -> bb1;                     // scope 0 at $DIR/lower_intrinsics.rs:+1:5: +1:37
       }
   
       bb1: {
-          return;                          // scope 0 at $DIR/lower_intrinsics.rs:15:2: 15:2
+          return;                          // scope 0 at $DIR/lower_intrinsics.rs:+2:2: +2:2
       }
   
       bb2 (cleanup): {
-          resume;                          // scope 0 at $DIR/lower_intrinsics.rs:13:1: 15:2
+          resume;                          // scope 0 at $DIR/lower_intrinsics.rs:+0:1: +2:2
       }
   }
   
index 0ce8d85070c70723a9d3f63b26a42aec607be638..581926ab163e8276aff7a13674b2f6dc88c5cff3 100644 (file)
@@ -2,25 +2,25 @@
 + // MIR for `unreachable` after LowerIntrinsics
   
   fn unreachable() -> ! {
-      let mut _0: !;                       // return place in scope 0 at $DIR/lower_intrinsics.rs:28:25: 28:26
-      let mut _1: !;                       // in scope 0 at $DIR/lower_intrinsics.rs:28:27: 30:2
-      let _2: ();                          // in scope 0 at $DIR/lower_intrinsics.rs:29:14: 29:45
-      let mut _3: !;                       // in scope 0 at $DIR/lower_intrinsics.rs:29:14: 29:45
+      let mut _0: !;                       // return place in scope 0 at $DIR/lower_intrinsics.rs:+0:25: +0:26
+      let mut _1: !;                       // in scope 0 at $DIR/lower_intrinsics.rs:+0:27: +2:2
+      let _2: ();                          // in scope 0 at $DIR/lower_intrinsics.rs:+1:14: +1:45
+      let mut _3: !;                       // in scope 0 at $DIR/lower_intrinsics.rs:+1:14: +1:45
       scope 1 {
       }
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/lower_intrinsics.rs:29:5: 29:47
-          StorageLive(_3);                 // scope 1 at $DIR/lower_intrinsics.rs:29:14: 29:45
--         _3 = std::intrinsics::unreachable(); // scope 1 at $DIR/lower_intrinsics.rs:29:14: 29:45
+          StorageLive(_2);                 // scope 0 at $DIR/lower_intrinsics.rs:+1:5: +1:47
+          StorageLive(_3);                 // scope 1 at $DIR/lower_intrinsics.rs:+1:14: +1:45
+-         _3 = std::intrinsics::unreachable(); // scope 1 at $DIR/lower_intrinsics.rs:+1:14: +1:45
 -                                          // mir::Constant
 -                                          // + span: $DIR/lower_intrinsics.rs:29:14: 29:43
 -                                          // + literal: Const { ty: unsafe extern "rust-intrinsic" fn() -> ! {std::intrinsics::unreachable}, val: Value(<ZST>) }
-+         unreachable;                     // scope 1 at $DIR/lower_intrinsics.rs:29:14: 29:45
++         unreachable;                     // scope 1 at $DIR/lower_intrinsics.rs:+1:14: +1:45
       }
   
       bb1 (cleanup): {
-          resume;                          // scope 0 at $DIR/lower_intrinsics.rs:28:1: 30:2
+          resume;                          // scope 0 at $DIR/lower_intrinsics.rs:+0:1: +2:2
       }
   }
   
index ebe240121cc5fcb76c4337145ed6ad09bb0ea877..b0fa55bdd4c6db17de58bb24d8b531d1028447ac 100644 (file)
@@ -2,86 +2,86 @@
 + // MIR for `wrapping` after LowerIntrinsics
   
   fn wrapping(_1: i32, _2: i32) -> () {
-      debug a => _1;                       // in scope 0 at $DIR/lower_intrinsics.rs:6:17: 6:18
-      debug b => _2;                       // in scope 0 at $DIR/lower_intrinsics.rs:6:25: 6:26
-      let mut _0: ();                      // return place in scope 0 at $DIR/lower_intrinsics.rs:6:33: 6:33
-      let _3: i32;                         // in scope 0 at $DIR/lower_intrinsics.rs:7:9: 7:11
-      let mut _4: i32;                     // in scope 0 at $DIR/lower_intrinsics.rs:7:45: 7:46
-      let mut _5: i32;                     // in scope 0 at $DIR/lower_intrinsics.rs:7:48: 7:49
-      let mut _7: i32;                     // in scope 0 at $DIR/lower_intrinsics.rs:8:45: 8:46
-      let mut _8: i32;                     // in scope 0 at $DIR/lower_intrinsics.rs:8:48: 8:49
-      let mut _10: i32;                    // in scope 0 at $DIR/lower_intrinsics.rs:9:45: 9:46
-      let mut _11: i32;                    // in scope 0 at $DIR/lower_intrinsics.rs:9:48: 9:49
+      debug a => _1;                       // in scope 0 at $DIR/lower_intrinsics.rs:+0:17: +0:18
+      debug b => _2;                       // in scope 0 at $DIR/lower_intrinsics.rs:+0:25: +0:26
+      let mut _0: ();                      // return place in scope 0 at $DIR/lower_intrinsics.rs:+0:33: +0:33
+      let _3: i32;                         // in scope 0 at $DIR/lower_intrinsics.rs:+1:9: +1:11
+      let mut _4: i32;                     // in scope 0 at $DIR/lower_intrinsics.rs:+1:45: +1:46
+      let mut _5: i32;                     // in scope 0 at $DIR/lower_intrinsics.rs:+1:48: +1:49
+      let mut _7: i32;                     // in scope 0 at $DIR/lower_intrinsics.rs:+2:45: +2:46
+      let mut _8: i32;                     // in scope 0 at $DIR/lower_intrinsics.rs:+2:48: +2:49
+      let mut _10: i32;                    // in scope 0 at $DIR/lower_intrinsics.rs:+3:45: +3:46
+      let mut _11: i32;                    // in scope 0 at $DIR/lower_intrinsics.rs:+3:48: +3:49
       scope 1 {
-          debug _x => _3;                  // in scope 1 at $DIR/lower_intrinsics.rs:7:9: 7:11
-          let _6: i32;                     // in scope 1 at $DIR/lower_intrinsics.rs:8:9: 8:11
+          debug _x => _3;                  // in scope 1 at $DIR/lower_intrinsics.rs:+1:9: +1:11
+          let _6: i32;                     // in scope 1 at $DIR/lower_intrinsics.rs:+2:9: +2:11
           scope 2 {
-              debug _y => _6;              // in scope 2 at $DIR/lower_intrinsics.rs:8:9: 8:11
-              let _9: i32;                 // in scope 2 at $DIR/lower_intrinsics.rs:9:9: 9:11
+              debug _y => _6;              // in scope 2 at $DIR/lower_intrinsics.rs:+2:9: +2:11
+              let _9: i32;                 // in scope 2 at $DIR/lower_intrinsics.rs:+3:9: +3:11
               scope 3 {
-                  debug _z => _9;          // in scope 3 at $DIR/lower_intrinsics.rs:9:9: 9:11
+                  debug _z => _9;          // in scope 3 at $DIR/lower_intrinsics.rs:+3:9: +3:11
               }
           }
       }
   
       bb0: {
-          StorageLive(_3);                 // scope 0 at $DIR/lower_intrinsics.rs:7:9: 7:11
-          StorageLive(_4);                 // scope 0 at $DIR/lower_intrinsics.rs:7:45: 7:46
-          _4 = _1;                         // scope 0 at $DIR/lower_intrinsics.rs:7:45: 7:46
-          StorageLive(_5);                 // scope 0 at $DIR/lower_intrinsics.rs:7:48: 7:49
-          _5 = _2;                         // scope 0 at $DIR/lower_intrinsics.rs:7:48: 7:49
--         _3 = wrapping_add::<i32>(move _4, move _5) -> bb1; // scope 0 at $DIR/lower_intrinsics.rs:7:14: 7:50
+          StorageLive(_3);                 // scope 0 at $DIR/lower_intrinsics.rs:+1:9: +1:11
+          StorageLive(_4);                 // scope 0 at $DIR/lower_intrinsics.rs:+1:45: +1:46
+          _4 = _1;                         // scope 0 at $DIR/lower_intrinsics.rs:+1:45: +1:46
+          StorageLive(_5);                 // scope 0 at $DIR/lower_intrinsics.rs:+1:48: +1:49
+          _5 = _2;                         // scope 0 at $DIR/lower_intrinsics.rs:+1:48: +1:49
+-         _3 = wrapping_add::<i32>(move _4, move _5) -> bb1; // scope 0 at $DIR/lower_intrinsics.rs:+1:14: +1:50
 -                                          // mir::Constant
 -                                          // + span: $DIR/lower_intrinsics.rs:7:14: 7:44
 -                                          // + literal: Const { ty: extern "rust-intrinsic" fn(i32, i32) -> i32 {wrapping_add::<i32>}, val: Value(<ZST>) }
-+         _3 = Add(move _4, move _5);      // scope 0 at $DIR/lower_intrinsics.rs:7:14: 7:50
-+         goto -> bb1;                     // scope 0 at $DIR/lower_intrinsics.rs:7:14: 7:50
++         _3 = Add(move _4, move _5);      // scope 0 at $DIR/lower_intrinsics.rs:+1:14: +1:50
++         goto -> bb1;                     // scope 0 at $DIR/lower_intrinsics.rs:+1:14: +1:50
       }
   
       bb1: {
-          StorageDead(_5);                 // scope 0 at $DIR/lower_intrinsics.rs:7:49: 7:50
-          StorageDead(_4);                 // scope 0 at $DIR/lower_intrinsics.rs:7:49: 7:50
-          StorageLive(_6);                 // scope 1 at $DIR/lower_intrinsics.rs:8:9: 8:11
-          StorageLive(_7);                 // scope 1 at $DIR/lower_intrinsics.rs:8:45: 8:46
-          _7 = _1;                         // scope 1 at $DIR/lower_intrinsics.rs:8:45: 8:46
-          StorageLive(_8);                 // scope 1 at $DIR/lower_intrinsics.rs:8:48: 8:49
-          _8 = _2;                         // scope 1 at $DIR/lower_intrinsics.rs:8:48: 8:49
--         _6 = wrapping_sub::<i32>(move _7, move _8) -> bb2; // scope 1 at $DIR/lower_intrinsics.rs:8:14: 8:50
+          StorageDead(_5);                 // scope 0 at $DIR/lower_intrinsics.rs:+1:49: +1:50
+          StorageDead(_4);                 // scope 0 at $DIR/lower_intrinsics.rs:+1:49: +1:50
+          StorageLive(_6);                 // scope 1 at $DIR/lower_intrinsics.rs:+2:9: +2:11
+          StorageLive(_7);                 // scope 1 at $DIR/lower_intrinsics.rs:+2:45: +2:46
+          _7 = _1;                         // scope 1 at $DIR/lower_intrinsics.rs:+2:45: +2:46
+          StorageLive(_8);                 // scope 1 at $DIR/lower_intrinsics.rs:+2:48: +2:49
+          _8 = _2;                         // scope 1 at $DIR/lower_intrinsics.rs:+2:48: +2:49
+-         _6 = wrapping_sub::<i32>(move _7, move _8) -> bb2; // scope 1 at $DIR/lower_intrinsics.rs:+2:14: +2:50
 -                                          // mir::Constant
 -                                          // + span: $DIR/lower_intrinsics.rs:8:14: 8:44
 -                                          // + literal: Const { ty: extern "rust-intrinsic" fn(i32, i32) -> i32 {wrapping_sub::<i32>}, val: Value(<ZST>) }
-+         _6 = Sub(move _7, move _8);      // scope 1 at $DIR/lower_intrinsics.rs:8:14: 8:50
-+         goto -> bb2;                     // scope 1 at $DIR/lower_intrinsics.rs:8:14: 8:50
++         _6 = Sub(move _7, move _8);      // scope 1 at $DIR/lower_intrinsics.rs:+2:14: +2:50
++         goto -> bb2;                     // scope 1 at $DIR/lower_intrinsics.rs:+2:14: +2:50
       }
   
       bb2: {
-          StorageDead(_8);                 // scope 1 at $DIR/lower_intrinsics.rs:8:49: 8:50
-          StorageDead(_7);                 // scope 1 at $DIR/lower_intrinsics.rs:8:49: 8:50
-          StorageLive(_9);                 // scope 2 at $DIR/lower_intrinsics.rs:9:9: 9:11
-          StorageLive(_10);                // scope 2 at $DIR/lower_intrinsics.rs:9:45: 9:46
-          _10 = _1;                        // scope 2 at $DIR/lower_intrinsics.rs:9:45: 9:46
-          StorageLive(_11);                // scope 2 at $DIR/lower_intrinsics.rs:9:48: 9:49
-          _11 = _2;                        // scope 2 at $DIR/lower_intrinsics.rs:9:48: 9:49
--         _9 = wrapping_mul::<i32>(move _10, move _11) -> bb3; // scope 2 at $DIR/lower_intrinsics.rs:9:14: 9:50
+          StorageDead(_8);                 // scope 1 at $DIR/lower_intrinsics.rs:+2:49: +2:50
+          StorageDead(_7);                 // scope 1 at $DIR/lower_intrinsics.rs:+2:49: +2:50
+          StorageLive(_9);                 // scope 2 at $DIR/lower_intrinsics.rs:+3:9: +3:11
+          StorageLive(_10);                // scope 2 at $DIR/lower_intrinsics.rs:+3:45: +3:46
+          _10 = _1;                        // scope 2 at $DIR/lower_intrinsics.rs:+3:45: +3:46
+          StorageLive(_11);                // scope 2 at $DIR/lower_intrinsics.rs:+3:48: +3:49
+          _11 = _2;                        // scope 2 at $DIR/lower_intrinsics.rs:+3:48: +3:49
+-         _9 = wrapping_mul::<i32>(move _10, move _11) -> bb3; // scope 2 at $DIR/lower_intrinsics.rs:+3:14: +3:50
 -                                          // mir::Constant
 -                                          // + span: $DIR/lower_intrinsics.rs:9:14: 9:44
 -                                          // + literal: Const { ty: extern "rust-intrinsic" fn(i32, i32) -> i32 {wrapping_mul::<i32>}, val: Value(<ZST>) }
-+         _9 = Mul(move _10, move _11);    // scope 2 at $DIR/lower_intrinsics.rs:9:14: 9:50
-+         goto -> bb3;                     // scope 2 at $DIR/lower_intrinsics.rs:9:14: 9:50
++         _9 = Mul(move _10, move _11);    // scope 2 at $DIR/lower_intrinsics.rs:+3:14: +3:50
++         goto -> bb3;                     // scope 2 at $DIR/lower_intrinsics.rs:+3:14: +3:50
       }
   
       bb3: {
-          StorageDead(_11);                // scope 2 at $DIR/lower_intrinsics.rs:9:49: 9:50
-          StorageDead(_10);                // scope 2 at $DIR/lower_intrinsics.rs:9:49: 9:50
-          _0 = const ();                   // scope 0 at $DIR/lower_intrinsics.rs:6:33: 10:2
-          StorageDead(_9);                 // scope 2 at $DIR/lower_intrinsics.rs:10:1: 10:2
-          StorageDead(_6);                 // scope 1 at $DIR/lower_intrinsics.rs:10:1: 10:2
-          StorageDead(_3);                 // scope 0 at $DIR/lower_intrinsics.rs:10:1: 10:2
-          return;                          // scope 0 at $DIR/lower_intrinsics.rs:10:2: 10:2
+          StorageDead(_11);                // scope 2 at $DIR/lower_intrinsics.rs:+3:49: +3:50
+          StorageDead(_10);                // scope 2 at $DIR/lower_intrinsics.rs:+3:49: +3:50
+          _0 = const ();                   // scope 0 at $DIR/lower_intrinsics.rs:+0:33: +4:2
+          StorageDead(_9);                 // scope 2 at $DIR/lower_intrinsics.rs:+4:1: +4:2
+          StorageDead(_6);                 // scope 1 at $DIR/lower_intrinsics.rs:+4:1: +4:2
+          StorageDead(_3);                 // scope 0 at $DIR/lower_intrinsics.rs:+4:1: +4:2
+          return;                          // scope 0 at $DIR/lower_intrinsics.rs:+4:2: +4:2
       }
   
       bb4 (cleanup): {
-          resume;                          // scope 0 at $DIR/lower_intrinsics.rs:6:1: 10:2
+          resume;                          // scope 0 at $DIR/lower_intrinsics.rs:+0:1: +4:2
       }
   }
   
index 96404f0506cf266d5ffe4c8e4987172fec3b41ad..46fccba56f7c88ccbd8eb30b1d13058be793e401 100644 (file)
@@ -2,62 +2,62 @@
 + // MIR for `bound` after LowerSliceLenCalls
   
   fn bound(_1: usize, _2: &[u8]) -> u8 {
-      debug index => _1;                   // in scope 0 at $DIR/lower_slice_len.rs:4:14: 4:19
-      debug slice => _2;                   // in scope 0 at $DIR/lower_slice_len.rs:4:28: 4:33
-      let mut _0: u8;                      // return place in scope 0 at $DIR/lower_slice_len.rs:4:45: 4:47
-      let mut _3: bool;                    // in scope 0 at $DIR/lower_slice_len.rs:5:8: 5:27
-      let mut _4: usize;                   // in scope 0 at $DIR/lower_slice_len.rs:5:8: 5:13
-      let mut _5: usize;                   // in scope 0 at $DIR/lower_slice_len.rs:5:16: 5:27
-      let mut _6: &[u8];                   // in scope 0 at $DIR/lower_slice_len.rs:5:16: 5:27
-      let _7: usize;                       // in scope 0 at $DIR/lower_slice_len.rs:6:15: 6:20
-      let mut _8: usize;                   // in scope 0 at $DIR/lower_slice_len.rs:6:9: 6:21
-      let mut _9: bool;                    // in scope 0 at $DIR/lower_slice_len.rs:6:9: 6:21
+      debug index => _1;                   // in scope 0 at $DIR/lower_slice_len.rs:+0:14: +0:19
+      debug slice => _2;                   // in scope 0 at $DIR/lower_slice_len.rs:+0:28: +0:33
+      let mut _0: u8;                      // return place in scope 0 at $DIR/lower_slice_len.rs:+0:45: +0:47
+      let mut _3: bool;                    // in scope 0 at $DIR/lower_slice_len.rs:+1:8: +1:27
+      let mut _4: usize;                   // in scope 0 at $DIR/lower_slice_len.rs:+1:8: +1:13
+      let mut _5: usize;                   // in scope 0 at $DIR/lower_slice_len.rs:+1:16: +1:27
+      let mut _6: &[u8];                   // in scope 0 at $DIR/lower_slice_len.rs:+1:16: +1:27
+      let _7: usize;                       // in scope 0 at $DIR/lower_slice_len.rs:+2:15: +2:20
+      let mut _8: usize;                   // in scope 0 at $DIR/lower_slice_len.rs:+2:9: +2:21
+      let mut _9: bool;                    // in scope 0 at $DIR/lower_slice_len.rs:+2:9: +2:21
   
       bb0: {
-          StorageLive(_3);                 // scope 0 at $DIR/lower_slice_len.rs:5:8: 5:27
-          StorageLive(_4);                 // scope 0 at $DIR/lower_slice_len.rs:5:8: 5:13
-          _4 = _1;                         // scope 0 at $DIR/lower_slice_len.rs:5:8: 5:13
-          StorageLive(_5);                 // scope 0 at $DIR/lower_slice_len.rs:5:16: 5:27
-          StorageLive(_6);                 // scope 0 at $DIR/lower_slice_len.rs:5:16: 5:27
-          _6 = &(*_2);                     // scope 0 at $DIR/lower_slice_len.rs:5:16: 5:27
--         _5 = core::slice::<impl [u8]>::len(move _6) -> bb1; // scope 0 at $DIR/lower_slice_len.rs:5:16: 5:27
+          StorageLive(_3);                 // scope 0 at $DIR/lower_slice_len.rs:+1:8: +1:27
+          StorageLive(_4);                 // scope 0 at $DIR/lower_slice_len.rs:+1:8: +1:13
+          _4 = _1;                         // scope 0 at $DIR/lower_slice_len.rs:+1:8: +1:13
+          StorageLive(_5);                 // scope 0 at $DIR/lower_slice_len.rs:+1:16: +1:27
+          StorageLive(_6);                 // scope 0 at $DIR/lower_slice_len.rs:+1:16: +1:27
+          _6 = &(*_2);                     // scope 0 at $DIR/lower_slice_len.rs:+1:16: +1:27
+-         _5 = core::slice::<impl [u8]>::len(move _6) -> bb1; // scope 0 at $DIR/lower_slice_len.rs:+1:16: +1:27
 -                                          // mir::Constant
 -                                          // + span: $DIR/lower_slice_len.rs:5:22: 5:25
 -                                          // + literal: Const { ty: for<'r> fn(&'r [u8]) -> usize {core::slice::<impl [u8]>::len}, val: Value(<ZST>) }
-+         _5 = Len((*_6));                 // scope 0 at $DIR/lower_slice_len.rs:5:16: 5:27
-+         goto -> bb1;                     // scope 0 at $DIR/lower_slice_len.rs:5:16: 5:27
++         _5 = Len((*_6));                 // scope 0 at $DIR/lower_slice_len.rs:+1:16: +1:27
++         goto -> bb1;                     // scope 0 at $DIR/lower_slice_len.rs:+1:16: +1:27
       }
   
       bb1: {
-          StorageDead(_6);                 // scope 0 at $DIR/lower_slice_len.rs:5:26: 5:27
-          _3 = Lt(move _4, move _5);       // scope 0 at $DIR/lower_slice_len.rs:5:8: 5:27
-          StorageDead(_5);                 // scope 0 at $DIR/lower_slice_len.rs:5:26: 5:27
-          StorageDead(_4);                 // scope 0 at $DIR/lower_slice_len.rs:5:26: 5:27
-          switchInt(move _3) -> [false: bb4, otherwise: bb2]; // scope 0 at $DIR/lower_slice_len.rs:5:8: 5:27
+          StorageDead(_6);                 // scope 0 at $DIR/lower_slice_len.rs:+1:26: +1:27
+          _3 = Lt(move _4, move _5);       // scope 0 at $DIR/lower_slice_len.rs:+1:8: +1:27
+          StorageDead(_5);                 // scope 0 at $DIR/lower_slice_len.rs:+1:26: +1:27
+          StorageDead(_4);                 // scope 0 at $DIR/lower_slice_len.rs:+1:26: +1:27
+          switchInt(move _3) -> [false: bb4, otherwise: bb2]; // scope 0 at $DIR/lower_slice_len.rs:+1:8: +1:27
       }
   
       bb2: {
-          StorageLive(_7);                 // scope 0 at $DIR/lower_slice_len.rs:6:15: 6:20
-          _7 = _1;                         // scope 0 at $DIR/lower_slice_len.rs:6:15: 6:20
-          _8 = Len((*_2));                 // scope 0 at $DIR/lower_slice_len.rs:6:9: 6:21
-          _9 = Lt(_7, _8);                 // scope 0 at $DIR/lower_slice_len.rs:6:9: 6:21
-          assert(move _9, "index out of bounds: the length is {} but the index is {}", move _8, _7) -> bb3; // scope 0 at $DIR/lower_slice_len.rs:6:9: 6:21
+          StorageLive(_7);                 // scope 0 at $DIR/lower_slice_len.rs:+2:15: +2:20
+          _7 = _1;                         // scope 0 at $DIR/lower_slice_len.rs:+2:15: +2:20
+          _8 = Len((*_2));                 // scope 0 at $DIR/lower_slice_len.rs:+2:9: +2:21
+          _9 = Lt(_7, _8);                 // scope 0 at $DIR/lower_slice_len.rs:+2:9: +2:21
+          assert(move _9, "index out of bounds: the length is {} but the index is {}", move _8, _7) -> bb3; // scope 0 at $DIR/lower_slice_len.rs:+2:9: +2:21
       }
   
       bb3: {
-          _0 = (*_2)[_7];                  // scope 0 at $DIR/lower_slice_len.rs:6:9: 6:21
-          StorageDead(_7);                 // scope 0 at $DIR/lower_slice_len.rs:7:5: 7:6
-          goto -> bb5;                     // scope 0 at $DIR/lower_slice_len.rs:5:5: 9:6
+          _0 = (*_2)[_7];                  // scope 0 at $DIR/lower_slice_len.rs:+2:9: +2:21
+          StorageDead(_7);                 // scope 0 at $DIR/lower_slice_len.rs:+3:5: +3:6
+          goto -> bb5;                     // scope 0 at $DIR/lower_slice_len.rs:+1:5: +5:6
       }
   
       bb4: {
-          _0 = const 42_u8;                // scope 0 at $DIR/lower_slice_len.rs:8:9: 8:11
-          goto -> bb5;                     // scope 0 at $DIR/lower_slice_len.rs:5:5: 9:6
+          _0 = const 42_u8;                // scope 0 at $DIR/lower_slice_len.rs:+4:9: +4:11
+          goto -> bb5;                     // scope 0 at $DIR/lower_slice_len.rs:+1:5: +5:6
       }
   
       bb5: {
-          StorageDead(_3);                 // scope 0 at $DIR/lower_slice_len.rs:9:5: 9:6
-          return;                          // scope 0 at $DIR/lower_slice_len.rs:10:2: 10:2
+          StorageDead(_3);                 // scope 0 at $DIR/lower_slice_len.rs:+5:5: +5:6
+          return;                          // scope 0 at $DIR/lower_slice_len.rs:+6:2: +6:2
       }
   }
   
index c2e422f80025042d5fa852af81866f4feabd1753..25ab0c9f7f4c0410db47dd3605d355813128facd 100644 (file)
 + // MIR for `complicated_match` after ElaborateDrops
   
   fn complicated_match(_1: bool, _2: (bool, bool, String)) -> i32 {
-      debug cond => _1;                    // in scope 0 at $DIR/match-arm-scopes.rs:13:22: 13:26
-      debug items => _2;                   // in scope 0 at $DIR/match-arm-scopes.rs:13:34: 13:39
-      let mut _0: i32;                     // return place in scope 0 at $DIR/match-arm-scopes.rs:13:66: 13:69
-      let mut _3: &bool;                   // in scope 0 at $DIR/match-arm-scopes.rs:14:11: 14:16
-      let mut _4: &bool;                   // in scope 0 at $DIR/match-arm-scopes.rs:14:11: 14:16
-      let _5: bool;                        // in scope 0 at $DIR/match-arm-scopes.rs:15:17: 15:18
-      let _6: &bool;                       // in scope 0 at $DIR/match-arm-scopes.rs:15:17: 15:18
-      let _7: std::string::String;         // in scope 0 at $DIR/match-arm-scopes.rs:15:20: 15:21
-      let _8: &std::string::String;        // in scope 0 at $DIR/match-arm-scopes.rs:15:20: 15:21
-      let mut _9: bool;                    // in scope 0 at $DIR/match-arm-scopes.rs:15:42: 15:73
-      let mut _10: bool;                   // in scope 0 at $DIR/match-arm-scopes.rs:15:45: 15:49
-      let mut _11: !;                      // in scope 0 at $DIR/match-arm-scopes.rs:15:52: 15:60
-      let mut _12: bool;                   // in scope 0 at $DIR/match-arm-scopes.rs:15:42: 15:73
-      let mut _13: bool;                   // in scope 0 at $DIR/match-arm-scopes.rs:15:45: 15:49
-      let mut _14: !;                      // in scope 0 at $DIR/match-arm-scopes.rs:15:52: 15:60
-      let _15: bool;                       // in scope 0 at $DIR/match-arm-scopes.rs:16:16: 16:17
-      let _16: std::string::String;        // in scope 0 at $DIR/match-arm-scopes.rs:16:19: 16:20
+      debug cond => _1;                    // in scope 0 at $DIR/match-arm-scopes.rs:+0:22: +0:26
+      debug items => _2;                   // in scope 0 at $DIR/match-arm-scopes.rs:+0:34: +0:39
+      let mut _0: i32;                     // return place in scope 0 at $DIR/match-arm-scopes.rs:+0:66: +0:69
+      let mut _3: &bool;                   // in scope 0 at $DIR/match-arm-scopes.rs:+1:11: +1:16
+      let mut _4: &bool;                   // in scope 0 at $DIR/match-arm-scopes.rs:+1:11: +1:16
+      let _5: bool;                        // in scope 0 at $DIR/match-arm-scopes.rs:+2:17: +2:18
+      let _6: &bool;                       // in scope 0 at $DIR/match-arm-scopes.rs:+2:17: +2:18
+      let _7: std::string::String;         // in scope 0 at $DIR/match-arm-scopes.rs:+2:20: +2:21
+      let _8: &std::string::String;        // in scope 0 at $DIR/match-arm-scopes.rs:+2:20: +2:21
+      let mut _9: bool;                    // in scope 0 at $DIR/match-arm-scopes.rs:+2:42: +2:73
+      let mut _10: bool;                   // in scope 0 at $DIR/match-arm-scopes.rs:+2:45: +2:49
+      let mut _11: !;                      // in scope 0 at $DIR/match-arm-scopes.rs:+2:52: +2:60
+      let mut _12: bool;                   // in scope 0 at $DIR/match-arm-scopes.rs:+2:42: +2:73
+      let mut _13: bool;                   // in scope 0 at $DIR/match-arm-scopes.rs:+2:45: +2:49
+      let mut _14: !;                      // in scope 0 at $DIR/match-arm-scopes.rs:+2:52: +2:60
+      let _15: bool;                       // in scope 0 at $DIR/match-arm-scopes.rs:+3:16: +3:17
+      let _16: std::string::String;        // in scope 0 at $DIR/match-arm-scopes.rs:+3:19: +3:20
       scope 1 {
-          debug a => _5;                   // in scope 1 at $DIR/match-arm-scopes.rs:15:17: 15:18
-          debug a => _6;                   // in scope 1 at $DIR/match-arm-scopes.rs:15:17: 15:18
-          debug s => _7;                   // in scope 1 at $DIR/match-arm-scopes.rs:15:20: 15:21
-          debug s => _8;                   // in scope 1 at $DIR/match-arm-scopes.rs:15:20: 15:21
+          debug a => _5;                   // in scope 1 at $DIR/match-arm-scopes.rs:+2:17: +2:18
+          debug a => _6;                   // in scope 1 at $DIR/match-arm-scopes.rs:+2:17: +2:18
+          debug s => _7;                   // in scope 1 at $DIR/match-arm-scopes.rs:+2:20: +2:21
+          debug s => _8;                   // in scope 1 at $DIR/match-arm-scopes.rs:+2:20: +2:21
       }
       scope 2 {
-          debug b => _15;                  // in scope 2 at $DIR/match-arm-scopes.rs:16:16: 16:17
-          debug t => _16;                  // in scope 2 at $DIR/match-arm-scopes.rs:16:19: 16:20
+          debug b => _15;                  // in scope 2 at $DIR/match-arm-scopes.rs:+3:16: +3:17
+          debug t => _16;                  // in scope 2 at $DIR/match-arm-scopes.rs:+3:19: +3:20
       }
   
       bb0: {
--         FakeRead(ForMatchedPlace(None), _2); // scope 0 at $DIR/match-arm-scopes.rs:14:11: 14:16
--         switchInt((_2.0: bool)) -> [false: bb1, otherwise: bb2]; // scope 0 at $DIR/match-arm-scopes.rs:14:5: 14:16
-+         switchInt((_2.0: bool)) -> [false: bb5, otherwise: bb1]; // scope 0 at $DIR/match-arm-scopes.rs:14:5: 14:16
+-         FakeRead(ForMatchedPlace(None), _2); // scope 0 at $DIR/match-arm-scopes.rs:+1:11: +1:16
+-         switchInt((_2.0: bool)) -> [false: bb1, otherwise: bb2]; // scope 0 at $DIR/match-arm-scopes.rs:+1:5: +1:16
++         switchInt((_2.0: bool)) -> [false: bb5, otherwise: bb1]; // scope 0 at $DIR/match-arm-scopes.rs:+1:5: +1:16
       }
   
       bb1: {
--         falseEdge -> [real: bb8, imaginary: bb3]; // scope 0 at $DIR/match-arm-scopes.rs:15:9: 15:22
-+         switchInt((_2.1: bool)) -> [false: bb10, otherwise: bb2]; // scope 0 at $DIR/match-arm-scopes.rs:14:5: 14:16
+-         falseEdge -> [real: bb8, imaginary: bb3]; // scope 0 at $DIR/match-arm-scopes.rs:+2:9: +2:22
++         switchInt((_2.1: bool)) -> [false: bb10, otherwise: bb2]; // scope 0 at $DIR/match-arm-scopes.rs:+1:5: +1:16
       }
   
       bb2: {
--         switchInt((_2.1: bool)) -> [false: bb3, otherwise: bb4]; // scope 0 at $DIR/match-arm-scopes.rs:14:5: 14:16
-+         switchInt((_2.0: bool)) -> [false: bb3, otherwise: bb17]; // scope 0 at $DIR/match-arm-scopes.rs:14:5: 14:16
+-         switchInt((_2.1: bool)) -> [false: bb3, otherwise: bb4]; // scope 0 at $DIR/match-arm-scopes.rs:+1:5: +1:16
++         switchInt((_2.0: bool)) -> [false: bb3, otherwise: bb17]; // scope 0 at $DIR/match-arm-scopes.rs:+1:5: +1:16
       }
   
       bb3: {
--         falseEdge -> [real: bb13, imaginary: bb5]; // scope 0 at $DIR/match-arm-scopes.rs:15:25: 15:38
+-         falseEdge -> [real: bb13, imaginary: bb5]; // scope 0 at $DIR/match-arm-scopes.rs:+2:25: +2:38
 -     }
 - 
 -     bb4: {
--         switchInt((_2.0: bool)) -> [false: bb6, otherwise: bb5]; // scope 0 at $DIR/match-arm-scopes.rs:14:5: 14:16
+-         switchInt((_2.0: bool)) -> [false: bb6, otherwise: bb5]; // scope 0 at $DIR/match-arm-scopes.rs:+1:5: +1:16
 -     }
 - 
 -     bb5: {
--         falseEdge -> [real: bb20, imaginary: bb6]; // scope 0 at $DIR/match-arm-scopes.rs:16:9: 16:21
+-         falseEdge -> [real: bb20, imaginary: bb6]; // scope 0 at $DIR/match-arm-scopes.rs:+3:9: +3:21
 -     }
 - 
 -     bb6: {
-          StorageLive(_15);                // scope 0 at $DIR/match-arm-scopes.rs:16:32: 16:33
-          _15 = (_2.1: bool);              // scope 0 at $DIR/match-arm-scopes.rs:16:32: 16:33
-          StorageLive(_16);                // scope 0 at $DIR/match-arm-scopes.rs:16:35: 16:36
-          _16 = move (_2.2: std::string::String); // scope 0 at $DIR/match-arm-scopes.rs:16:35: 16:36
--         goto -> bb19;                    // scope 0 at $DIR/match-arm-scopes.rs:14:5: 17:6
-+         goto -> bb16;                    // scope 0 at $DIR/match-arm-scopes.rs:14:5: 17:6
+          StorageLive(_15);                // scope 0 at $DIR/match-arm-scopes.rs:+3:32: +3:33
+          _15 = (_2.1: bool);              // scope 0 at $DIR/match-arm-scopes.rs:+3:32: +3:33
+          StorageLive(_16);                // scope 0 at $DIR/match-arm-scopes.rs:+3:35: +3:36
+          _16 = move (_2.2: std::string::String); // scope 0 at $DIR/match-arm-scopes.rs:+3:35: +3:36
+-         goto -> bb19;                    // scope 0 at $DIR/match-arm-scopes.rs:+1:5: +4:6
++         goto -> bb16;                    // scope 0 at $DIR/match-arm-scopes.rs:+1:5: +4:6
       }
   
 -     bb7: {
 +     bb4: {
-          _0 = const 1_i32;                // scope 1 at $DIR/match-arm-scopes.rs:15:77: 15:78
--         drop(_7) -> [return: bb18, unwind: bb25]; // scope 0 at $DIR/match-arm-scopes.rs:15:77: 15:78
-+         drop(_7) -> [return: bb15, unwind: bb22]; // scope 0 at $DIR/match-arm-scopes.rs:15:77: 15:78
+          _0 = const 1_i32;                // scope 1 at $DIR/match-arm-scopes.rs:+2:77: +2:78
+-         drop(_7) -> [return: bb18, unwind: bb25]; // scope 0 at $DIR/match-arm-scopes.rs:+2:77: +2:78
++         drop(_7) -> [return: bb15, unwind: bb22]; // scope 0 at $DIR/match-arm-scopes.rs:+2:77: +2:78
       }
   
 -     bb8: {
 +     bb5: {
-          StorageLive(_6);                 // scope 0 at $DIR/match-arm-scopes.rs:15:17: 15:18
-          _6 = &(_2.1: bool);              // scope 0 at $DIR/match-arm-scopes.rs:15:17: 15:18
-          StorageLive(_8);                 // scope 0 at $DIR/match-arm-scopes.rs:15:20: 15:21
-          _8 = &(_2.2: std::string::String); // scope 0 at $DIR/match-arm-scopes.rs:15:20: 15:21
--         _3 = &shallow (_2.0: bool);      // scope 0 at $DIR/match-arm-scopes.rs:14:11: 14:16
--         _4 = &shallow (_2.1: bool);      // scope 0 at $DIR/match-arm-scopes.rs:14:11: 14:16
-          StorageLive(_9);                 // scope 0 at $DIR/match-arm-scopes.rs:15:42: 15:73
-          StorageLive(_10);                // scope 0 at $DIR/match-arm-scopes.rs:15:45: 15:49
-          _10 = _1;                        // scope 0 at $DIR/match-arm-scopes.rs:15:45: 15:49
--         switchInt(move _10) -> [false: bb10, otherwise: bb9]; // scope 0 at $DIR/match-arm-scopes.rs:15:45: 15:49
-+         switchInt(move _10) -> [false: bb7, otherwise: bb6]; // scope 0 at $DIR/match-arm-scopes.rs:15:45: 15:49
+          StorageLive(_6);                 // scope 0 at $DIR/match-arm-scopes.rs:+2:17: +2:18
+          _6 = &(_2.1: bool);              // scope 0 at $DIR/match-arm-scopes.rs:+2:17: +2:18
+          StorageLive(_8);                 // scope 0 at $DIR/match-arm-scopes.rs:+2:20: +2:21
+          _8 = &(_2.2: std::string::String); // scope 0 at $DIR/match-arm-scopes.rs:+2:20: +2:21
+-         _3 = &shallow (_2.0: bool);      // scope 0 at $DIR/match-arm-scopes.rs:+1:11: +1:16
+-         _4 = &shallow (_2.1: bool);      // scope 0 at $DIR/match-arm-scopes.rs:+1:11: +1:16
+          StorageLive(_9);                 // scope 0 at $DIR/match-arm-scopes.rs:+2:42: +2:73
+          StorageLive(_10);                // scope 0 at $DIR/match-arm-scopes.rs:+2:45: +2:49
+          _10 = _1;                        // scope 0 at $DIR/match-arm-scopes.rs:+2:45: +2:49
+-         switchInt(move _10) -> [false: bb10, otherwise: bb9]; // scope 0 at $DIR/match-arm-scopes.rs:+2:45: +2:49
++         switchInt(move _10) -> [false: bb7, otherwise: bb6]; // scope 0 at $DIR/match-arm-scopes.rs:+2:45: +2:49
       }
   
 -     bb9: {
 +     bb6: {
-          _0 = const 3_i32;                // scope 0 at $DIR/match-arm-scopes.rs:15:59: 15:60
-          StorageDead(_10);                // scope 0 at $DIR/match-arm-scopes.rs:15:72: 15:73
-          StorageDead(_9);                 // scope 0 at $DIR/match-arm-scopes.rs:15:72: 15:73
+          _0 = const 3_i32;                // scope 0 at $DIR/match-arm-scopes.rs:+2:59: +2:60
+          StorageDead(_10);                // scope 0 at $DIR/match-arm-scopes.rs:+2:72: +2:73
+          StorageDead(_9);                 // scope 0 at $DIR/match-arm-scopes.rs:+2:72: +2:73
 -         goto -> bb23;                    // scope 0 at no-location
 +         goto -> bb20;                    // scope 0 at no-location
       }
   
 -     bb10: {
 +     bb7: {
-          _9 = (*_6);                      // scope 0 at $DIR/match-arm-scopes.rs:15:70: 15:71
--         switchInt(move _9) -> [false: bb12, otherwise: bb11]; // scope 0 at $DIR/match-arm-scopes.rs:15:42: 15:73
-+         switchInt(move _9) -> [false: bb9, otherwise: bb8]; // scope 0 at $DIR/match-arm-scopes.rs:15:42: 15:73
+          _9 = (*_6);                      // scope 0 at $DIR/match-arm-scopes.rs:+2:70: +2:71
+-         switchInt(move _9) -> [false: bb12, otherwise: bb11]; // scope 0 at $DIR/match-arm-scopes.rs:+2:42: +2:73
++         switchInt(move _9) -> [false: bb9, otherwise: bb8]; // scope 0 at $DIR/match-arm-scopes.rs:+2:42: +2:73
       }
   
 -     bb11: {
 +     bb8: {
-          StorageDead(_10);                // scope 0 at $DIR/match-arm-scopes.rs:15:72: 15:73
-          StorageDead(_9);                 // scope 0 at $DIR/match-arm-scopes.rs:15:72: 15:73
--         FakeRead(ForMatchGuard, _3);     // scope 0 at $DIR/match-arm-scopes.rs:15:72: 15:73
--         FakeRead(ForMatchGuard, _4);     // scope 0 at $DIR/match-arm-scopes.rs:15:72: 15:73
--         FakeRead(ForGuardBinding, _6);   // scope 0 at $DIR/match-arm-scopes.rs:15:72: 15:73
--         FakeRead(ForGuardBinding, _8);   // scope 0 at $DIR/match-arm-scopes.rs:15:72: 15:73
-          StorageLive(_5);                 // scope 0 at $DIR/match-arm-scopes.rs:15:17: 15:18
-          _5 = (_2.1: bool);               // scope 0 at $DIR/match-arm-scopes.rs:15:17: 15:18
-          StorageLive(_7);                 // scope 0 at $DIR/match-arm-scopes.rs:15:20: 15:21
-          _7 = move (_2.2: std::string::String); // scope 0 at $DIR/match-arm-scopes.rs:15:20: 15:21
--         goto -> bb7;                     // scope 0 at $DIR/match-arm-scopes.rs:14:5: 17:6
-+         goto -> bb4;                     // scope 0 at $DIR/match-arm-scopes.rs:14:5: 17:6
+          StorageDead(_10);                // scope 0 at $DIR/match-arm-scopes.rs:+2:72: +2:73
+          StorageDead(_9);                 // scope 0 at $DIR/match-arm-scopes.rs:+2:72: +2:73
+-         FakeRead(ForMatchGuard, _3);     // scope 0 at $DIR/match-arm-scopes.rs:+2:72: +2:73
+-         FakeRead(ForMatchGuard, _4);     // scope 0 at $DIR/match-arm-scopes.rs:+2:72: +2:73
+-         FakeRead(ForGuardBinding, _6);   // scope 0 at $DIR/match-arm-scopes.rs:+2:72: +2:73
+-         FakeRead(ForGuardBinding, _8);   // scope 0 at $DIR/match-arm-scopes.rs:+2:72: +2:73
+          StorageLive(_5);                 // scope 0 at $DIR/match-arm-scopes.rs:+2:17: +2:18
+          _5 = (_2.1: bool);               // scope 0 at $DIR/match-arm-scopes.rs:+2:17: +2:18
+          StorageLive(_7);                 // scope 0 at $DIR/match-arm-scopes.rs:+2:20: +2:21
+          _7 = move (_2.2: std::string::String); // scope 0 at $DIR/match-arm-scopes.rs:+2:20: +2:21
+-         goto -> bb7;                     // scope 0 at $DIR/match-arm-scopes.rs:+1:5: +4:6
++         goto -> bb4;                     // scope 0 at $DIR/match-arm-scopes.rs:+1:5: +4:6
       }
   
 -     bb12: {
 +     bb9: {
-          StorageDead(_10);                // scope 0 at $DIR/match-arm-scopes.rs:15:72: 15:73
-          StorageDead(_9);                 // scope 0 at $DIR/match-arm-scopes.rs:15:72: 15:73
-          StorageDead(_8);                 // scope 0 at $DIR/match-arm-scopes.rs:15:77: 15:78
-          StorageDead(_6);                 // scope 0 at $DIR/match-arm-scopes.rs:15:77: 15:78
--         falseEdge -> [real: bb2, imaginary: bb3]; // scope 0 at $DIR/match-arm-scopes.rs:15:42: 15:73
-+         goto -> bb1;                     // scope 0 at $DIR/match-arm-scopes.rs:15:42: 15:73
+          StorageDead(_10);                // scope 0 at $DIR/match-arm-scopes.rs:+2:72: +2:73
+          StorageDead(_9);                 // scope 0 at $DIR/match-arm-scopes.rs:+2:72: +2:73
+          StorageDead(_8);                 // scope 0 at $DIR/match-arm-scopes.rs:+2:77: +2:78
+          StorageDead(_6);                 // scope 0 at $DIR/match-arm-scopes.rs:+2:77: +2:78
+-         falseEdge -> [real: bb2, imaginary: bb3]; // scope 0 at $DIR/match-arm-scopes.rs:+2:42: +2:73
++         goto -> bb1;                     // scope 0 at $DIR/match-arm-scopes.rs:+2:42: +2:73
       }
   
 -     bb13: {
 +     bb10: {
-          StorageLive(_6);                 // scope 0 at $DIR/match-arm-scopes.rs:15:26: 15:27
-          _6 = &(_2.0: bool);              // scope 0 at $DIR/match-arm-scopes.rs:15:26: 15:27
-          StorageLive(_8);                 // scope 0 at $DIR/match-arm-scopes.rs:15:36: 15:37
-          _8 = &(_2.2: std::string::String); // scope 0 at $DIR/match-arm-scopes.rs:15:36: 15:37
--         _3 = &shallow (_2.0: bool);      // scope 0 at $DIR/match-arm-scopes.rs:14:11: 14:16
--         _4 = &shallow (_2.1: bool);      // scope 0 at $DIR/match-arm-scopes.rs:14:11: 14:16
-          StorageLive(_12);                // scope 0 at $DIR/match-arm-scopes.rs:15:42: 15:73
-          StorageLive(_13);                // scope 0 at $DIR/match-arm-scopes.rs:15:45: 15:49
-          _13 = _1;                        // scope 0 at $DIR/match-arm-scopes.rs:15:45: 15:49
--         switchInt(move _13) -> [false: bb15, otherwise: bb14]; // scope 0 at $DIR/match-arm-scopes.rs:15:45: 15:49
-+         switchInt(move _13) -> [false: bb12, otherwise: bb11]; // scope 0 at $DIR/match-arm-scopes.rs:15:45: 15:49
+          StorageLive(_6);                 // scope 0 at $DIR/match-arm-scopes.rs:+2:26: +2:27
+          _6 = &(_2.0: bool);              // scope 0 at $DIR/match-arm-scopes.rs:+2:26: +2:27
+          StorageLive(_8);                 // scope 0 at $DIR/match-arm-scopes.rs:+2:36: +2:37
+          _8 = &(_2.2: std::string::String); // scope 0 at $DIR/match-arm-scopes.rs:+2:36: +2:37
+-         _3 = &shallow (_2.0: bool);      // scope 0 at $DIR/match-arm-scopes.rs:+1:11: +1:16
+-         _4 = &shallow (_2.1: bool);      // scope 0 at $DIR/match-arm-scopes.rs:+1:11: +1:16
+          StorageLive(_12);                // scope 0 at $DIR/match-arm-scopes.rs:+2:42: +2:73
+          StorageLive(_13);                // scope 0 at $DIR/match-arm-scopes.rs:+2:45: +2:49
+          _13 = _1;                        // scope 0 at $DIR/match-arm-scopes.rs:+2:45: +2:49
+-         switchInt(move _13) -> [false: bb15, otherwise: bb14]; // scope 0 at $DIR/match-arm-scopes.rs:+2:45: +2:49
++         switchInt(move _13) -> [false: bb12, otherwise: bb11]; // scope 0 at $DIR/match-arm-scopes.rs:+2:45: +2:49
       }
   
 -     bb14: {
 +     bb11: {
-          _0 = const 3_i32;                // scope 0 at $DIR/match-arm-scopes.rs:15:59: 15:60
-          StorageDead(_13);                // scope 0 at $DIR/match-arm-scopes.rs:15:72: 15:73
-          StorageDead(_12);                // scope 0 at $DIR/match-arm-scopes.rs:15:72: 15:73
+          _0 = const 3_i32;                // scope 0 at $DIR/match-arm-scopes.rs:+2:59: +2:60
+          StorageDead(_13);                // scope 0 at $DIR/match-arm-scopes.rs:+2:72: +2:73
+          StorageDead(_12);                // scope 0 at $DIR/match-arm-scopes.rs:+2:72: +2:73
 -         goto -> bb23;                    // scope 0 at no-location
 +         goto -> bb20;                    // scope 0 at no-location
       }
   
 -     bb15: {
 +     bb12: {
-          _12 = (*_6);                     // scope 0 at $DIR/match-arm-scopes.rs:15:70: 15:71
--         switchInt(move _12) -> [false: bb17, otherwise: bb16]; // scope 0 at $DIR/match-arm-scopes.rs:15:42: 15:73
-+         switchInt(move _12) -> [false: bb14, otherwise: bb13]; // scope 0 at $DIR/match-arm-scopes.rs:15:42: 15:73
+          _12 = (*_6);                     // scope 0 at $DIR/match-arm-scopes.rs:+2:70: +2:71
+-         switchInt(move _12) -> [false: bb17, otherwise: bb16]; // scope 0 at $DIR/match-arm-scopes.rs:+2:42: +2:73
++         switchInt(move _12) -> [false: bb14, otherwise: bb13]; // scope 0 at $DIR/match-arm-scopes.rs:+2:42: +2:73
       }
   
 -     bb16: {
 +     bb13: {
-          StorageDead(_13);                // scope 0 at $DIR/match-arm-scopes.rs:15:72: 15:73
-          StorageDead(_12);                // scope 0 at $DIR/match-arm-scopes.rs:15:72: 15:73
--         FakeRead(ForMatchGuard, _3);     // scope 0 at $DIR/match-arm-scopes.rs:15:72: 15:73
--         FakeRead(ForMatchGuard, _4);     // scope 0 at $DIR/match-arm-scopes.rs:15:72: 15:73
--         FakeRead(ForGuardBinding, _6);   // scope 0 at $DIR/match-arm-scopes.rs:15:72: 15:73
--         FakeRead(ForGuardBinding, _8);   // scope 0 at $DIR/match-arm-scopes.rs:15:72: 15:73
-          StorageLive(_5);                 // scope 0 at $DIR/match-arm-scopes.rs:15:26: 15:27
-          _5 = (_2.0: bool);               // scope 0 at $DIR/match-arm-scopes.rs:15:26: 15:27
-          StorageLive(_7);                 // scope 0 at $DIR/match-arm-scopes.rs:15:36: 15:37
-          _7 = move (_2.2: std::string::String); // scope 0 at $DIR/match-arm-scopes.rs:15:36: 15:37
--         goto -> bb7;                     // scope 0 at $DIR/match-arm-scopes.rs:14:5: 17:6
-+         goto -> bb4;                     // scope 0 at $DIR/match-arm-scopes.rs:14:5: 17:6
+          StorageDead(_13);                // scope 0 at $DIR/match-arm-scopes.rs:+2:72: +2:73
+          StorageDead(_12);                // scope 0 at $DIR/match-arm-scopes.rs:+2:72: +2:73
+-         FakeRead(ForMatchGuard, _3);     // scope 0 at $DIR/match-arm-scopes.rs:+2:72: +2:73
+-         FakeRead(ForMatchGuard, _4);     // scope 0 at $DIR/match-arm-scopes.rs:+2:72: +2:73
+-         FakeRead(ForGuardBinding, _6);   // scope 0 at $DIR/match-arm-scopes.rs:+2:72: +2:73
+-         FakeRead(ForGuardBinding, _8);   // scope 0 at $DIR/match-arm-scopes.rs:+2:72: +2:73
+          StorageLive(_5);                 // scope 0 at $DIR/match-arm-scopes.rs:+2:26: +2:27
+          _5 = (_2.0: bool);               // scope 0 at $DIR/match-arm-scopes.rs:+2:26: +2:27
+          StorageLive(_7);                 // scope 0 at $DIR/match-arm-scopes.rs:+2:36: +2:37
+          _7 = move (_2.2: std::string::String); // scope 0 at $DIR/match-arm-scopes.rs:+2:36: +2:37
+-         goto -> bb7;                     // scope 0 at $DIR/match-arm-scopes.rs:+1:5: +4:6
++         goto -> bb4;                     // scope 0 at $DIR/match-arm-scopes.rs:+1:5: +4:6
       }
   
 -     bb17: {
 +     bb14: {
-          StorageDead(_13);                // scope 0 at $DIR/match-arm-scopes.rs:15:72: 15:73
-          StorageDead(_12);                // scope 0 at $DIR/match-arm-scopes.rs:15:72: 15:73
-          StorageDead(_8);                 // scope 0 at $DIR/match-arm-scopes.rs:15:77: 15:78
-          StorageDead(_6);                 // scope 0 at $DIR/match-arm-scopes.rs:15:77: 15:78
--         falseEdge -> [real: bb4, imaginary: bb5]; // scope 0 at $DIR/match-arm-scopes.rs:15:42: 15:73
-+         goto -> bb2;                     // scope 0 at $DIR/match-arm-scopes.rs:15:42: 15:73
+          StorageDead(_13);                // scope 0 at $DIR/match-arm-scopes.rs:+2:72: +2:73
+          StorageDead(_12);                // scope 0 at $DIR/match-arm-scopes.rs:+2:72: +2:73
+          StorageDead(_8);                 // scope 0 at $DIR/match-arm-scopes.rs:+2:77: +2:78
+          StorageDead(_6);                 // scope 0 at $DIR/match-arm-scopes.rs:+2:77: +2:78
+-         falseEdge -> [real: bb4, imaginary: bb5]; // scope 0 at $DIR/match-arm-scopes.rs:+2:42: +2:73
++         goto -> bb2;                     // scope 0 at $DIR/match-arm-scopes.rs:+2:42: +2:73
       }
   
 -     bb18: {
 +     bb15: {
-          StorageDead(_7);                 // scope 0 at $DIR/match-arm-scopes.rs:15:77: 15:78
-          StorageDead(_5);                 // scope 0 at $DIR/match-arm-scopes.rs:15:77: 15:78
-          StorageDead(_8);                 // scope 0 at $DIR/match-arm-scopes.rs:15:77: 15:78
-          StorageDead(_6);                 // scope 0 at $DIR/match-arm-scopes.rs:15:77: 15:78
--         goto -> bb22;                    // scope 0 at $DIR/match-arm-scopes.rs:15:77: 15:78
-+         goto -> bb19;                    // scope 0 at $DIR/match-arm-scopes.rs:15:77: 15:78
+          StorageDead(_7);                 // scope 0 at $DIR/match-arm-scopes.rs:+2:77: +2:78
+          StorageDead(_5);                 // scope 0 at $DIR/match-arm-scopes.rs:+2:77: +2:78
+          StorageDead(_8);                 // scope 0 at $DIR/match-arm-scopes.rs:+2:77: +2:78
+          StorageDead(_6);                 // scope 0 at $DIR/match-arm-scopes.rs:+2:77: +2:78
+-         goto -> bb22;                    // scope 0 at $DIR/match-arm-scopes.rs:+2:77: +2:78
++         goto -> bb19;                    // scope 0 at $DIR/match-arm-scopes.rs:+2:77: +2:78
       }
   
 -     bb19: {
 +     bb16: {
-          _0 = const 2_i32;                // scope 2 at $DIR/match-arm-scopes.rs:16:41: 16:42
--         drop(_16) -> [return: bb21, unwind: bb25]; // scope 0 at $DIR/match-arm-scopes.rs:16:41: 16:42
-+         drop(_16) -> [return: bb18, unwind: bb22]; // scope 0 at $DIR/match-arm-scopes.rs:16:41: 16:42
+          _0 = const 2_i32;                // scope 2 at $DIR/match-arm-scopes.rs:+3:41: +3:42
+-         drop(_16) -> [return: bb21, unwind: bb25]; // scope 0 at $DIR/match-arm-scopes.rs:+3:41: +3:42
++         drop(_16) -> [return: bb18, unwind: bb22]; // scope 0 at $DIR/match-arm-scopes.rs:+3:41: +3:42
       }
   
 -     bb20: {
 +     bb17: {
-          StorageLive(_15);                // scope 0 at $DIR/match-arm-scopes.rs:16:16: 16:17
-          _15 = (_2.1: bool);              // scope 0 at $DIR/match-arm-scopes.rs:16:16: 16:17
-          StorageLive(_16);                // scope 0 at $DIR/match-arm-scopes.rs:16:19: 16:20
-          _16 = move (_2.2: std::string::String); // scope 0 at $DIR/match-arm-scopes.rs:16:19: 16:20
--         goto -> bb19;                    // scope 0 at $DIR/match-arm-scopes.rs:14:5: 17:6
-+         goto -> bb16;                    // scope 0 at $DIR/match-arm-scopes.rs:14:5: 17:6
+          StorageLive(_15);                // scope 0 at $DIR/match-arm-scopes.rs:+3:16: +3:17
+          _15 = (_2.1: bool);              // scope 0 at $DIR/match-arm-scopes.rs:+3:16: +3:17
+          StorageLive(_16);                // scope 0 at $DIR/match-arm-scopes.rs:+3:19: +3:20
+          _16 = move (_2.2: std::string::String); // scope 0 at $DIR/match-arm-scopes.rs:+3:19: +3:20
+-         goto -> bb19;                    // scope 0 at $DIR/match-arm-scopes.rs:+1:5: +4:6
++         goto -> bb16;                    // scope 0 at $DIR/match-arm-scopes.rs:+1:5: +4:6
       }
   
 -     bb21: {
 +     bb18: {
-          StorageDead(_16);                // scope 0 at $DIR/match-arm-scopes.rs:16:41: 16:42
-          StorageDead(_15);                // scope 0 at $DIR/match-arm-scopes.rs:16:41: 16:42
--         goto -> bb22;                    // scope 0 at $DIR/match-arm-scopes.rs:16:41: 16:42
-+         goto -> bb19;                    // scope 0 at $DIR/match-arm-scopes.rs:16:41: 16:42
+          StorageDead(_16);                // scope 0 at $DIR/match-arm-scopes.rs:+3:41: +3:42
+          StorageDead(_15);                // scope 0 at $DIR/match-arm-scopes.rs:+3:41: +3:42
+-         goto -> bb22;                    // scope 0 at $DIR/match-arm-scopes.rs:+3:41: +3:42
++         goto -> bb19;                    // scope 0 at $DIR/match-arm-scopes.rs:+3:41: +3:42
       }
   
 -     bb22: {
--         drop(_2) -> [return: bb24, unwind: bb26]; // scope 0 at $DIR/match-arm-scopes.rs:18:1: 18:2
+-         drop(_2) -> [return: bb24, unwind: bb26]; // scope 0 at $DIR/match-arm-scopes.rs:+5:1: +5:2
 +     bb19: {
-+         goto -> bb26;                    // scope 0 at $DIR/match-arm-scopes.rs:18:1: 18:2
++         goto -> bb26;                    // scope 0 at $DIR/match-arm-scopes.rs:+5:1: +5:2
       }
   
 -     bb23: {
 +     bb20: {
-          StorageDead(_8);                 // scope 0 at $DIR/match-arm-scopes.rs:15:77: 15:78
-          StorageDead(_6);                 // scope 0 at $DIR/match-arm-scopes.rs:15:77: 15:78
--         drop(_2) -> [return: bb24, unwind: bb26]; // scope 0 at $DIR/match-arm-scopes.rs:18:1: 18:2
-+         drop(_2) -> [return: bb21, unwind: bb23]; // scope 0 at $DIR/match-arm-scopes.rs:18:1: 18:2
+          StorageDead(_8);                 // scope 0 at $DIR/match-arm-scopes.rs:+2:77: +2:78
+          StorageDead(_6);                 // scope 0 at $DIR/match-arm-scopes.rs:+2:77: +2:78
+-         drop(_2) -> [return: bb24, unwind: bb26]; // scope 0 at $DIR/match-arm-scopes.rs:+5:1: +5:2
++         drop(_2) -> [return: bb21, unwind: bb23]; // scope 0 at $DIR/match-arm-scopes.rs:+5:1: +5:2
       }
   
 -     bb24: {
 +     bb21: {
-          return;                          // scope 0 at $DIR/match-arm-scopes.rs:18:2: 18:2
+          return;                          // scope 0 at $DIR/match-arm-scopes.rs:+5:2: +5:2
       }
   
 -     bb25 (cleanup): {
--         drop(_2) -> bb26;                // scope 0 at $DIR/match-arm-scopes.rs:18:1: 18:2
+-         drop(_2) -> bb26;                // scope 0 at $DIR/match-arm-scopes.rs:+5:1: +5:2
 +     bb22 (cleanup): {
-+         goto -> bb27;                    // scope 0 at $DIR/match-arm-scopes.rs:18:1: 18:2
++         goto -> bb27;                    // scope 0 at $DIR/match-arm-scopes.rs:+5:1: +5:2
       }
   
 -     bb26 (cleanup): {
 +     bb23 (cleanup): {
-          resume;                          // scope 0 at $DIR/match-arm-scopes.rs:13:1: 18:2
+          resume;                          // scope 0 at $DIR/match-arm-scopes.rs:+0:1: +5:2
 +     }
 + 
 +     bb24: {
-+         goto -> bb21;                    // scope 0 at $DIR/match-arm-scopes.rs:18:1: 18:2
++         goto -> bb21;                    // scope 0 at $DIR/match-arm-scopes.rs:+5:1: +5:2
 +     }
 + 
 +     bb25 (cleanup): {
-+         goto -> bb23;                    // scope 0 at $DIR/match-arm-scopes.rs:18:1: 18:2
++         goto -> bb23;                    // scope 0 at $DIR/match-arm-scopes.rs:+5:1: +5:2
 +     }
 + 
 +     bb26: {
-+         goto -> bb24;                    // scope 0 at $DIR/match-arm-scopes.rs:18:1: 18:2
++         goto -> bb24;                    // scope 0 at $DIR/match-arm-scopes.rs:+5:1: +5:2
 +     }
 + 
 +     bb27 (cleanup): {
-+         goto -> bb23;                    // scope 0 at $DIR/match-arm-scopes.rs:18:1: 18:2
++         goto -> bb23;                    // scope 0 at $DIR/match-arm-scopes.rs:+5:1: +5:2
       }
   }
   
index 722097630f79b7a0abf8756f849429d4f3e2c225..c05ed00f7539bb2ab112e37ef39bf9219692cae2 100644 (file)
 // MIR for `full_tested_match` after PromoteTemps
 
 fn full_tested_match() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/match_false_edges.rs:12:28: 12:28
-    let mut _1: (i32, i32);              // in scope 0 at $DIR/match_false_edges.rs:13:13: 17:6
-    let mut _2: std::option::Option<i32>; // in scope 0 at $DIR/match_false_edges.rs:13:19: 13:27
-    let mut _3: isize;                   // in scope 0 at $DIR/match_false_edges.rs:14:9: 14:16
-    let mut _4: &std::option::Option<i32>; // in scope 0 at $DIR/match_false_edges.rs:13:19: 13:27
-    let _5: i32;                         // in scope 0 at $DIR/match_false_edges.rs:14:14: 14:15
-    let _6: &i32;                        // in scope 0 at $DIR/match_false_edges.rs:14:14: 14:15
-    let mut _7: bool;                    // in scope 0 at $DIR/match_false_edges.rs:14:20: 14:27
-    let mut _8: i32;                     // in scope 0 at $DIR/match_false_edges.rs:14:35: 14:36
-    let _9: i32;                         // in scope 0 at $DIR/match_false_edges.rs:15:14: 15:15
-    let mut _10: i32;                    // in scope 0 at $DIR/match_false_edges.rs:15:24: 15:25
-    let mut _11: &std::option::Option<i32>; // in scope 0 at $DIR/match_false_edges.rs:14:14: 14:15
+    let mut _0: ();                      // return place in scope 0 at $DIR/match_false_edges.rs:+0:28: +0:28
+    let mut _1: (i32, i32);              // in scope 0 at $DIR/match_false_edges.rs:+1:13: +5:6
+    let mut _2: std::option::Option<i32>; // in scope 0 at $DIR/match_false_edges.rs:+1:19: +1:27
+    let mut _3: isize;                   // in scope 0 at $DIR/match_false_edges.rs:+2:9: +2:16
+    let mut _4: &std::option::Option<i32>; // in scope 0 at $DIR/match_false_edges.rs:+1:19: +1:27
+    let _5: i32;                         // in scope 0 at $DIR/match_false_edges.rs:+2:14: +2:15
+    let _6: &i32;                        // in scope 0 at $DIR/match_false_edges.rs:+2:14: +2:15
+    let mut _7: bool;                    // in scope 0 at $DIR/match_false_edges.rs:+2:20: +2:27
+    let mut _8: i32;                     // in scope 0 at $DIR/match_false_edges.rs:+2:35: +2:36
+    let _9: i32;                         // in scope 0 at $DIR/match_false_edges.rs:+3:14: +3:15
+    let mut _10: i32;                    // in scope 0 at $DIR/match_false_edges.rs:+3:24: +3:25
+    let mut _11: &std::option::Option<i32>; // in scope 0 at $DIR/match_false_edges.rs:+2:14: +2:15
     scope 1 {
     }
     scope 2 {
-        debug x => _5;                   // in scope 2 at $DIR/match_false_edges.rs:14:14: 14:15
-        debug x => _6;                   // in scope 2 at $DIR/match_false_edges.rs:14:14: 14:15
+        debug x => _5;                   // in scope 2 at $DIR/match_false_edges.rs:+2:14: +2:15
+        debug x => _6;                   // in scope 2 at $DIR/match_false_edges.rs:+2:14: +2:15
     }
     scope 3 {
-        debug y => _9;                   // in scope 3 at $DIR/match_false_edges.rs:15:14: 15:15
+        debug y => _9;                   // in scope 3 at $DIR/match_false_edges.rs:+3:14: +3:15
     }
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/match_false_edges.rs:13:13: 17:6
-        StorageLive(_2);                 // scope 0 at $DIR/match_false_edges.rs:13:19: 13:27
-        _2 = Option::<i32>::Some(const 42_i32); // scope 0 at $DIR/match_false_edges.rs:13:19: 13:27
-        FakeRead(ForMatchedPlace(None), _2); // scope 0 at $DIR/match_false_edges.rs:13:19: 13:27
-        _3 = discriminant(_2);           // scope 0 at $DIR/match_false_edges.rs:13:19: 13:27
-        switchInt(move _3) -> [0_isize: bb1, 1_isize: bb2, otherwise: bb4]; // scope 0 at $DIR/match_false_edges.rs:13:13: 13:27
+        StorageLive(_1);                 // scope 0 at $DIR/match_false_edges.rs:+1:13: +5:6
+        StorageLive(_2);                 // scope 0 at $DIR/match_false_edges.rs:+1:19: +1:27
+        _2 = Option::<i32>::Some(const 42_i32); // scope 0 at $DIR/match_false_edges.rs:+1:19: +1:27
+        FakeRead(ForMatchedPlace(None), _2); // scope 0 at $DIR/match_false_edges.rs:+1:19: +1:27
+        _3 = discriminant(_2);           // scope 0 at $DIR/match_false_edges.rs:+1:19: +1:27
+        switchInt(move _3) -> [0_isize: bb1, 1_isize: bb2, otherwise: bb4]; // scope 0 at $DIR/match_false_edges.rs:+1:13: +1:27
     }
 
     bb1: {
-        _1 = (const 3_i32, const 3_i32); // scope 0 at $DIR/match_false_edges.rs:16:17: 16:23
-        goto -> bb10;                    // scope 0 at $DIR/match_false_edges.rs:16:17: 16:23
+        _1 = (const 3_i32, const 3_i32); // scope 0 at $DIR/match_false_edges.rs:+4:17: +4:23
+        goto -> bb10;                    // scope 0 at $DIR/match_false_edges.rs:+4:17: +4:23
     }
 
     bb2: {
-        falseEdge -> [real: bb5, imaginary: bb3]; // scope 0 at $DIR/match_false_edges.rs:14:9: 14:16
+        falseEdge -> [real: bb5, imaginary: bb3]; // scope 0 at $DIR/match_false_edges.rs:+2:9: +2:16
     }
 
     bb3: {
-        falseEdge -> [real: bb9, imaginary: bb1]; // scope 0 at $DIR/match_false_edges.rs:15:9: 15:16
+        falseEdge -> [real: bb9, imaginary: bb1]; // scope 0 at $DIR/match_false_edges.rs:+3:9: +3:16
     }
 
     bb4: {
-        unreachable;                     // scope 0 at $DIR/match_false_edges.rs:13:19: 13:27
+        unreachable;                     // scope 0 at $DIR/match_false_edges.rs:+1:19: +1:27
     }
 
     bb5: {
-        StorageLive(_6);                 // scope 0 at $DIR/match_false_edges.rs:14:14: 14:15
-        _11 = const full_tested_match::promoted[0]; // scope 0 at $DIR/match_false_edges.rs:14:14: 14:15
+        StorageLive(_6);                 // scope 0 at $DIR/match_false_edges.rs:+2:14: +2:15
+        _11 = const full_tested_match::promoted[0]; // scope 0 at $DIR/match_false_edges.rs:+2:14: +2:15
                                          // mir::Constant
                                          // + span: $DIR/match_false_edges.rs:14:14: 14:15
                                          // + literal: Const { ty: &Option<i32>, val: Unevaluated(full_tested_match, [], Some(promoted[0])) }
-        _6 = &(((*_11) as Some).0: i32); // scope 0 at $DIR/match_false_edges.rs:14:14: 14:15
-        _4 = &shallow _2;                // scope 0 at $DIR/match_false_edges.rs:13:19: 13:27
-        StorageLive(_7);                 // scope 0 at $DIR/match_false_edges.rs:14:20: 14:27
-        _7 = guard() -> [return: bb6, unwind: bb11]; // scope 0 at $DIR/match_false_edges.rs:14:20: 14:27
+        _6 = &(((*_11) as Some).0: i32); // scope 0 at $DIR/match_false_edges.rs:+2:14: +2:15
+        _4 = &shallow _2;                // scope 0 at $DIR/match_false_edges.rs:+1:19: +1:27
+        StorageLive(_7);                 // scope 0 at $DIR/match_false_edges.rs:+2:20: +2:27
+        _7 = guard() -> [return: bb6, unwind: bb11]; // scope 0 at $DIR/match_false_edges.rs:+2:20: +2:27
                                          // mir::Constant
                                          // + span: $DIR/match_false_edges.rs:14:20: 14:25
                                          // + literal: Const { ty: fn() -> bool {guard}, val: Value(<ZST>) }
     }
 
     bb6: {
-        switchInt(move _7) -> [false: bb8, otherwise: bb7]; // scope 0 at $DIR/match_false_edges.rs:14:20: 14:27
+        switchInt(move _7) -> [false: bb8, otherwise: bb7]; // scope 0 at $DIR/match_false_edges.rs:+2:20: +2:27
     }
 
     bb7: {
-        StorageDead(_7);                 // scope 0 at $DIR/match_false_edges.rs:14:26: 14:27
-        FakeRead(ForMatchGuard, _4);     // scope 0 at $DIR/match_false_edges.rs:14:26: 14:27
-        FakeRead(ForGuardBinding, _6);   // scope 0 at $DIR/match_false_edges.rs:14:26: 14:27
-        StorageLive(_5);                 // scope 0 at $DIR/match_false_edges.rs:14:14: 14:15
-        _5 = ((_2 as Some).0: i32);      // scope 0 at $DIR/match_false_edges.rs:14:14: 14:15
-        StorageLive(_8);                 // scope 2 at $DIR/match_false_edges.rs:14:35: 14:36
-        _8 = _5;                         // scope 2 at $DIR/match_false_edges.rs:14:35: 14:36
-        _1 = (const 1_i32, move _8);     // scope 2 at $DIR/match_false_edges.rs:14:31: 14:37
-        StorageDead(_8);                 // scope 2 at $DIR/match_false_edges.rs:14:36: 14:37
-        StorageDead(_5);                 // scope 0 at $DIR/match_false_edges.rs:14:36: 14:37
-        StorageDead(_6);                 // scope 0 at $DIR/match_false_edges.rs:14:36: 14:37
-        goto -> bb10;                    // scope 0 at $DIR/match_false_edges.rs:14:36: 14:37
+        StorageDead(_7);                 // scope 0 at $DIR/match_false_edges.rs:+2:26: +2:27
+        FakeRead(ForMatchGuard, _4);     // scope 0 at $DIR/match_false_edges.rs:+2:26: +2:27
+        FakeRead(ForGuardBinding, _6);   // scope 0 at $DIR/match_false_edges.rs:+2:26: +2:27
+        StorageLive(_5);                 // scope 0 at $DIR/match_false_edges.rs:+2:14: +2:15
+        _5 = ((_2 as Some).0: i32);      // scope 0 at $DIR/match_false_edges.rs:+2:14: +2:15
+        StorageLive(_8);                 // scope 2 at $DIR/match_false_edges.rs:+2:35: +2:36
+        _8 = _5;                         // scope 2 at $DIR/match_false_edges.rs:+2:35: +2:36
+        _1 = (const 1_i32, move _8);     // scope 2 at $DIR/match_false_edges.rs:+2:31: +2:37
+        StorageDead(_8);                 // scope 2 at $DIR/match_false_edges.rs:+2:36: +2:37
+        StorageDead(_5);                 // scope 0 at $DIR/match_false_edges.rs:+2:36: +2:37
+        StorageDead(_6);                 // scope 0 at $DIR/match_false_edges.rs:+2:36: +2:37
+        goto -> bb10;                    // scope 0 at $DIR/match_false_edges.rs:+2:36: +2:37
     }
 
     bb8: {
-        StorageDead(_7);                 // scope 0 at $DIR/match_false_edges.rs:14:26: 14:27
-        StorageDead(_6);                 // scope 0 at $DIR/match_false_edges.rs:14:36: 14:37
-        goto -> bb3;                     // scope 0 at $DIR/match_false_edges.rs:14:20: 14:27
+        StorageDead(_7);                 // scope 0 at $DIR/match_false_edges.rs:+2:26: +2:27
+        StorageDead(_6);                 // scope 0 at $DIR/match_false_edges.rs:+2:36: +2:37
+        goto -> bb3;                     // scope 0 at $DIR/match_false_edges.rs:+2:20: +2:27
     }
 
     bb9: {
-        StorageLive(_9);                 // scope 0 at $DIR/match_false_edges.rs:15:14: 15:15
-        _9 = ((_2 as Some).0: i32);      // scope 0 at $DIR/match_false_edges.rs:15:14: 15:15
-        StorageLive(_10);                // scope 3 at $DIR/match_false_edges.rs:15:24: 15:25
-        _10 = _9;                        // scope 3 at $DIR/match_false_edges.rs:15:24: 15:25
-        _1 = (const 2_i32, move _10);    // scope 3 at $DIR/match_false_edges.rs:15:20: 15:26
-        StorageDead(_10);                // scope 3 at $DIR/match_false_edges.rs:15:25: 15:26
-        StorageDead(_9);                 // scope 0 at $DIR/match_false_edges.rs:15:25: 15:26
-        goto -> bb10;                    // scope 0 at $DIR/match_false_edges.rs:15:25: 15:26
+        StorageLive(_9);                 // scope 0 at $DIR/match_false_edges.rs:+3:14: +3:15
+        _9 = ((_2 as Some).0: i32);      // scope 0 at $DIR/match_false_edges.rs:+3:14: +3:15
+        StorageLive(_10);                // scope 3 at $DIR/match_false_edges.rs:+3:24: +3:25
+        _10 = _9;                        // scope 3 at $DIR/match_false_edges.rs:+3:24: +3:25
+        _1 = (const 2_i32, move _10);    // scope 3 at $DIR/match_false_edges.rs:+3:20: +3:26
+        StorageDead(_10);                // scope 3 at $DIR/match_false_edges.rs:+3:25: +3:26
+        StorageDead(_9);                 // scope 0 at $DIR/match_false_edges.rs:+3:25: +3:26
+        goto -> bb10;                    // scope 0 at $DIR/match_false_edges.rs:+3:25: +3:26
     }
 
     bb10: {
-        StorageDead(_2);                 // scope 0 at $DIR/match_false_edges.rs:17:6: 17:7
-        StorageDead(_1);                 // scope 0 at $DIR/match_false_edges.rs:17:6: 17:7
-        _0 = const ();                   // scope 0 at $DIR/match_false_edges.rs:12:28: 18:2
-        return;                          // scope 0 at $DIR/match_false_edges.rs:18:2: 18:2
+        StorageDead(_2);                 // scope 0 at $DIR/match_false_edges.rs:+5:6: +5:7
+        StorageDead(_1);                 // scope 0 at $DIR/match_false_edges.rs:+5:6: +5:7
+        _0 = const ();                   // scope 0 at $DIR/match_false_edges.rs:+0:28: +6:2
+        return;                          // scope 0 at $DIR/match_false_edges.rs:+6:2: +6:2
     }
 
     bb11 (cleanup): {
-        resume;                          // scope 0 at $DIR/match_false_edges.rs:12:1: 18:2
+        resume;                          // scope 0 at $DIR/match_false_edges.rs:+0:1: +6:2
     }
 }
index df052e32157db38cde62363611df9cf53bb26fc5..145ed878fc9e44b36db0674bb2fb23b1eb659383 100644 (file)
 // MIR for `full_tested_match2` before PromoteTemps
 
 fn full_tested_match2() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/match_false_edges.rs:23:29: 23:29
-    let mut _1: (i32, i32);              // in scope 0 at $DIR/match_false_edges.rs:24:13: 28:6
-    let mut _2: std::option::Option<i32>; // in scope 0 at $DIR/match_false_edges.rs:24:19: 24:27
-    let mut _3: isize;                   // in scope 0 at $DIR/match_false_edges.rs:25:9: 25:16
-    let mut _4: &std::option::Option<i32>; // in scope 0 at $DIR/match_false_edges.rs:24:19: 24:27
-    let _5: i32;                         // in scope 0 at $DIR/match_false_edges.rs:25:14: 25:15
-    let _6: &i32;                        // in scope 0 at $DIR/match_false_edges.rs:25:14: 25:15
-    let mut _7: bool;                    // in scope 0 at $DIR/match_false_edges.rs:25:20: 25:27
-    let mut _8: i32;                     // in scope 0 at $DIR/match_false_edges.rs:25:35: 25:36
-    let _9: i32;                         // in scope 0 at $DIR/match_false_edges.rs:27:14: 27:15
-    let mut _10: i32;                    // in scope 0 at $DIR/match_false_edges.rs:27:24: 27:25
+    let mut _0: ();                      // return place in scope 0 at $DIR/match_false_edges.rs:+0:29: +0:29
+    let mut _1: (i32, i32);              // in scope 0 at $DIR/match_false_edges.rs:+1:13: +5:6
+    let mut _2: std::option::Option<i32>; // in scope 0 at $DIR/match_false_edges.rs:+1:19: +1:27
+    let mut _3: isize;                   // in scope 0 at $DIR/match_false_edges.rs:+2:9: +2:16
+    let mut _4: &std::option::Option<i32>; // in scope 0 at $DIR/match_false_edges.rs:+1:19: +1:27
+    let _5: i32;                         // in scope 0 at $DIR/match_false_edges.rs:+2:14: +2:15
+    let _6: &i32;                        // in scope 0 at $DIR/match_false_edges.rs:+2:14: +2:15
+    let mut _7: bool;                    // in scope 0 at $DIR/match_false_edges.rs:+2:20: +2:27
+    let mut _8: i32;                     // in scope 0 at $DIR/match_false_edges.rs:+2:35: +2:36
+    let _9: i32;                         // in scope 0 at $DIR/match_false_edges.rs:+4:14: +4:15
+    let mut _10: i32;                    // in scope 0 at $DIR/match_false_edges.rs:+4:24: +4:25
     scope 1 {
     }
     scope 2 {
-        debug x => _5;                   // in scope 2 at $DIR/match_false_edges.rs:25:14: 25:15
-        debug x => _6;                   // in scope 2 at $DIR/match_false_edges.rs:25:14: 25:15
+        debug x => _5;                   // in scope 2 at $DIR/match_false_edges.rs:+2:14: +2:15
+        debug x => _6;                   // in scope 2 at $DIR/match_false_edges.rs:+2:14: +2:15
     }
     scope 3 {
-        debug y => _9;                   // in scope 3 at $DIR/match_false_edges.rs:27:14: 27:15
+        debug y => _9;                   // in scope 3 at $DIR/match_false_edges.rs:+4:14: +4:15
     }
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/match_false_edges.rs:24:13: 28:6
-        StorageLive(_2);                 // scope 0 at $DIR/match_false_edges.rs:24:19: 24:27
-        _2 = Option::<i32>::Some(const 42_i32); // scope 0 at $DIR/match_false_edges.rs:24:19: 24:27
-        FakeRead(ForMatchedPlace(None), _2); // scope 0 at $DIR/match_false_edges.rs:24:19: 24:27
-        _3 = discriminant(_2);           // scope 0 at $DIR/match_false_edges.rs:24:19: 24:27
-        switchInt(move _3) -> [0_isize: bb1, 1_isize: bb2, otherwise: bb4]; // scope 0 at $DIR/match_false_edges.rs:24:13: 24:27
+        StorageLive(_1);                 // scope 0 at $DIR/match_false_edges.rs:+1:13: +5:6
+        StorageLive(_2);                 // scope 0 at $DIR/match_false_edges.rs:+1:19: +1:27
+        _2 = Option::<i32>::Some(const 42_i32); // scope 0 at $DIR/match_false_edges.rs:+1:19: +1:27
+        FakeRead(ForMatchedPlace(None), _2); // scope 0 at $DIR/match_false_edges.rs:+1:19: +1:27
+        _3 = discriminant(_2);           // scope 0 at $DIR/match_false_edges.rs:+1:19: +1:27
+        switchInt(move _3) -> [0_isize: bb1, 1_isize: bb2, otherwise: bb4]; // scope 0 at $DIR/match_false_edges.rs:+1:13: +1:27
     }
 
     bb1: {
-        falseEdge -> [real: bb9, imaginary: bb3]; // scope 0 at $DIR/match_false_edges.rs:26:9: 26:13
+        falseEdge -> [real: bb9, imaginary: bb3]; // scope 0 at $DIR/match_false_edges.rs:+3:9: +3:13
     }
 
     bb2: {
-        falseEdge -> [real: bb5, imaginary: bb1]; // scope 0 at $DIR/match_false_edges.rs:25:9: 25:16
+        falseEdge -> [real: bb5, imaginary: bb1]; // scope 0 at $DIR/match_false_edges.rs:+2:9: +2:16
     }
 
     bb3: {
-        StorageLive(_9);                 // scope 0 at $DIR/match_false_edges.rs:27:14: 27:15
-        _9 = ((_2 as Some).0: i32);      // scope 0 at $DIR/match_false_edges.rs:27:14: 27:15
-        StorageLive(_10);                // scope 3 at $DIR/match_false_edges.rs:27:24: 27:25
-        _10 = _9;                        // scope 3 at $DIR/match_false_edges.rs:27:24: 27:25
-        _1 = (const 2_i32, move _10);    // scope 3 at $DIR/match_false_edges.rs:27:20: 27:26
-        StorageDead(_10);                // scope 3 at $DIR/match_false_edges.rs:27:25: 27:26
-        StorageDead(_9);                 // scope 0 at $DIR/match_false_edges.rs:27:25: 27:26
-        goto -> bb10;                    // scope 0 at $DIR/match_false_edges.rs:27:25: 27:26
+        StorageLive(_9);                 // scope 0 at $DIR/match_false_edges.rs:+4:14: +4:15
+        _9 = ((_2 as Some).0: i32);      // scope 0 at $DIR/match_false_edges.rs:+4:14: +4:15
+        StorageLive(_10);                // scope 3 at $DIR/match_false_edges.rs:+4:24: +4:25
+        _10 = _9;                        // scope 3 at $DIR/match_false_edges.rs:+4:24: +4:25
+        _1 = (const 2_i32, move _10);    // scope 3 at $DIR/match_false_edges.rs:+4:20: +4:26
+        StorageDead(_10);                // scope 3 at $DIR/match_false_edges.rs:+4:25: +4:26
+        StorageDead(_9);                 // scope 0 at $DIR/match_false_edges.rs:+4:25: +4:26
+        goto -> bb10;                    // scope 0 at $DIR/match_false_edges.rs:+4:25: +4:26
     }
 
     bb4: {
-        unreachable;                     // scope 0 at $DIR/match_false_edges.rs:24:19: 24:27
+        unreachable;                     // scope 0 at $DIR/match_false_edges.rs:+1:19: +1:27
     }
 
     bb5: {
-        StorageLive(_6);                 // scope 0 at $DIR/match_false_edges.rs:25:14: 25:15
-        _6 = &((_2 as Some).0: i32);     // scope 0 at $DIR/match_false_edges.rs:25:14: 25:15
-        _4 = &shallow _2;                // scope 0 at $DIR/match_false_edges.rs:24:19: 24:27
-        StorageLive(_7);                 // scope 0 at $DIR/match_false_edges.rs:25:20: 25:27
-        _7 = guard() -> [return: bb6, unwind: bb11]; // scope 0 at $DIR/match_false_edges.rs:25:20: 25:27
+        StorageLive(_6);                 // scope 0 at $DIR/match_false_edges.rs:+2:14: +2:15
+        _6 = &((_2 as Some).0: i32);     // scope 0 at $DIR/match_false_edges.rs:+2:14: +2:15
+        _4 = &shallow _2;                // scope 0 at $DIR/match_false_edges.rs:+1:19: +1:27
+        StorageLive(_7);                 // scope 0 at $DIR/match_false_edges.rs:+2:20: +2:27
+        _7 = guard() -> [return: bb6, unwind: bb11]; // scope 0 at $DIR/match_false_edges.rs:+2:20: +2:27
                                          // mir::Constant
                                          // + span: $DIR/match_false_edges.rs:25:20: 25:25
                                          // + literal: Const { ty: fn() -> bool {guard}, val: Value(<ZST>) }
     }
 
     bb6: {
-        switchInt(move _7) -> [false: bb8, otherwise: bb7]; // scope 0 at $DIR/match_false_edges.rs:25:20: 25:27
+        switchInt(move _7) -> [false: bb8, otherwise: bb7]; // scope 0 at $DIR/match_false_edges.rs:+2:20: +2:27
     }
 
     bb7: {
-        StorageDead(_7);                 // scope 0 at $DIR/match_false_edges.rs:25:26: 25:27
-        FakeRead(ForMatchGuard, _4);     // scope 0 at $DIR/match_false_edges.rs:25:26: 25:27
-        FakeRead(ForGuardBinding, _6);   // scope 0 at $DIR/match_false_edges.rs:25:26: 25:27
-        StorageLive(_5);                 // scope 0 at $DIR/match_false_edges.rs:25:14: 25:15
-        _5 = ((_2 as Some).0: i32);      // scope 0 at $DIR/match_false_edges.rs:25:14: 25:15
-        StorageLive(_8);                 // scope 2 at $DIR/match_false_edges.rs:25:35: 25:36
-        _8 = _5;                         // scope 2 at $DIR/match_false_edges.rs:25:35: 25:36
-        _1 = (const 1_i32, move _8);     // scope 2 at $DIR/match_false_edges.rs:25:31: 25:37
-        StorageDead(_8);                 // scope 2 at $DIR/match_false_edges.rs:25:36: 25:37
-        StorageDead(_5);                 // scope 0 at $DIR/match_false_edges.rs:25:36: 25:37
-        StorageDead(_6);                 // scope 0 at $DIR/match_false_edges.rs:25:36: 25:37
-        goto -> bb10;                    // scope 0 at $DIR/match_false_edges.rs:25:36: 25:37
+        StorageDead(_7);                 // scope 0 at $DIR/match_false_edges.rs:+2:26: +2:27
+        FakeRead(ForMatchGuard, _4);     // scope 0 at $DIR/match_false_edges.rs:+2:26: +2:27
+        FakeRead(ForGuardBinding, _6);   // scope 0 at $DIR/match_false_edges.rs:+2:26: +2:27
+        StorageLive(_5);                 // scope 0 at $DIR/match_false_edges.rs:+2:14: +2:15
+        _5 = ((_2 as Some).0: i32);      // scope 0 at $DIR/match_false_edges.rs:+2:14: +2:15
+        StorageLive(_8);                 // scope 2 at $DIR/match_false_edges.rs:+2:35: +2:36
+        _8 = _5;                         // scope 2 at $DIR/match_false_edges.rs:+2:35: +2:36
+        _1 = (const 1_i32, move _8);     // scope 2 at $DIR/match_false_edges.rs:+2:31: +2:37
+        StorageDead(_8);                 // scope 2 at $DIR/match_false_edges.rs:+2:36: +2:37
+        StorageDead(_5);                 // scope 0 at $DIR/match_false_edges.rs:+2:36: +2:37
+        StorageDead(_6);                 // scope 0 at $DIR/match_false_edges.rs:+2:36: +2:37
+        goto -> bb10;                    // scope 0 at $DIR/match_false_edges.rs:+2:36: +2:37
     }
 
     bb8: {
-        StorageDead(_7);                 // scope 0 at $DIR/match_false_edges.rs:25:26: 25:27
-        StorageDead(_6);                 // scope 0 at $DIR/match_false_edges.rs:25:36: 25:37
-        falseEdge -> [real: bb3, imaginary: bb1]; // scope 0 at $DIR/match_false_edges.rs:25:20: 25:27
+        StorageDead(_7);                 // scope 0 at $DIR/match_false_edges.rs:+2:26: +2:27
+        StorageDead(_6);                 // scope 0 at $DIR/match_false_edges.rs:+2:36: +2:37
+        falseEdge -> [real: bb3, imaginary: bb1]; // scope 0 at $DIR/match_false_edges.rs:+2:20: +2:27
     }
 
     bb9: {
-        _1 = (const 3_i32, const 3_i32); // scope 0 at $DIR/match_false_edges.rs:26:17: 26:23
-        goto -> bb10;                    // scope 0 at $DIR/match_false_edges.rs:26:17: 26:23
+        _1 = (const 3_i32, const 3_i32); // scope 0 at $DIR/match_false_edges.rs:+3:17: +3:23
+        goto -> bb10;                    // scope 0 at $DIR/match_false_edges.rs:+3:17: +3:23
     }
 
     bb10: {
-        StorageDead(_2);                 // scope 0 at $DIR/match_false_edges.rs:28:6: 28:7
-        StorageDead(_1);                 // scope 0 at $DIR/match_false_edges.rs:28:6: 28:7
-        _0 = const ();                   // scope 0 at $DIR/match_false_edges.rs:23:29: 29:2
-        return;                          // scope 0 at $DIR/match_false_edges.rs:29:2: 29:2
+        StorageDead(_2);                 // scope 0 at $DIR/match_false_edges.rs:+5:6: +5:7
+        StorageDead(_1);                 // scope 0 at $DIR/match_false_edges.rs:+5:6: +5:7
+        _0 = const ();                   // scope 0 at $DIR/match_false_edges.rs:+0:29: +6:2
+        return;                          // scope 0 at $DIR/match_false_edges.rs:+6:2: +6:2
     }
 
     bb11 (cleanup): {
-        resume;                          // scope 0 at $DIR/match_false_edges.rs:23:1: 29:2
+        resume;                          // scope 0 at $DIR/match_false_edges.rs:+0:1: +6:2
     }
 }
index fc50db397fdcf1ea7c1072107b3144504886a58d..8f40e8a887f2df72eca934e4d700e4a00485cee7 100644 (file)
 // MIR for `main` before PromoteTemps
 
 fn main() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/match_false_edges.rs:32:11: 32:11
-    let mut _1: i32;                     // in scope 0 at $DIR/match_false_edges.rs:33:13: 38:6
-    let mut _2: std::option::Option<i32>; // in scope 0 at $DIR/match_false_edges.rs:33:19: 33:26
-    let mut _3: isize;                   // in scope 0 at $DIR/match_false_edges.rs:36:9: 36:16
-    let mut _4: isize;                   // in scope 0 at $DIR/match_false_edges.rs:34:9: 34:17
-    let mut _5: &std::option::Option<i32>; // in scope 0 at $DIR/match_false_edges.rs:33:19: 33:26
-    let _6: i32;                         // in scope 0 at $DIR/match_false_edges.rs:34:14: 34:16
-    let _7: &i32;                        // in scope 0 at $DIR/match_false_edges.rs:34:14: 34:16
-    let mut _8: bool;                    // in scope 0 at $DIR/match_false_edges.rs:34:21: 34:28
-    let _9: std::option::Option<i32>;    // in scope 0 at $DIR/match_false_edges.rs:35:9: 35:11
-    let _10: i32;                        // in scope 0 at $DIR/match_false_edges.rs:36:14: 36:15
-    let _11: &i32;                       // in scope 0 at $DIR/match_false_edges.rs:36:14: 36:15
-    let mut _12: bool;                   // in scope 0 at $DIR/match_false_edges.rs:36:20: 36:29
-    let mut _13: i32;                    // in scope 0 at $DIR/match_false_edges.rs:36:27: 36:28
-    let _14: std::option::Option<i32>;   // in scope 0 at $DIR/match_false_edges.rs:37:9: 37:11
+    let mut _0: ();                      // return place in scope 0 at $DIR/match_false_edges.rs:+0:11: +0:11
+    let mut _1: i32;                     // in scope 0 at $DIR/match_false_edges.rs:+1:13: +6:6
+    let mut _2: std::option::Option<i32>; // in scope 0 at $DIR/match_false_edges.rs:+1:19: +1:26
+    let mut _3: isize;                   // in scope 0 at $DIR/match_false_edges.rs:+4:9: +4:16
+    let mut _4: isize;                   // in scope 0 at $DIR/match_false_edges.rs:+2:9: +2:17
+    let mut _5: &std::option::Option<i32>; // in scope 0 at $DIR/match_false_edges.rs:+1:19: +1:26
+    let _6: i32;                         // in scope 0 at $DIR/match_false_edges.rs:+2:14: +2:16
+    let _7: &i32;                        // in scope 0 at $DIR/match_false_edges.rs:+2:14: +2:16
+    let mut _8: bool;                    // in scope 0 at $DIR/match_false_edges.rs:+2:21: +2:28
+    let _9: std::option::Option<i32>;    // in scope 0 at $DIR/match_false_edges.rs:+3:9: +3:11
+    let _10: i32;                        // in scope 0 at $DIR/match_false_edges.rs:+4:14: +4:15
+    let _11: &i32;                       // in scope 0 at $DIR/match_false_edges.rs:+4:14: +4:15
+    let mut _12: bool;                   // in scope 0 at $DIR/match_false_edges.rs:+4:20: +4:29
+    let mut _13: i32;                    // in scope 0 at $DIR/match_false_edges.rs:+4:27: +4:28
+    let _14: std::option::Option<i32>;   // in scope 0 at $DIR/match_false_edges.rs:+5:9: +5:11
     scope 1 {
     }
     scope 2 {
-        debug _w => _6;                  // in scope 2 at $DIR/match_false_edges.rs:34:14: 34:16
-        debug _w => _7;                  // in scope 2 at $DIR/match_false_edges.rs:34:14: 34:16
+        debug _w => _6;                  // in scope 2 at $DIR/match_false_edges.rs:+2:14: +2:16
+        debug _w => _7;                  // in scope 2 at $DIR/match_false_edges.rs:+2:14: +2:16
     }
     scope 3 {
-        debug _x => _9;                  // in scope 3 at $DIR/match_false_edges.rs:35:9: 35:11
+        debug _x => _9;                  // in scope 3 at $DIR/match_false_edges.rs:+3:9: +3:11
     }
     scope 4 {
-        debug y => _10;                  // in scope 4 at $DIR/match_false_edges.rs:36:14: 36:15
-        debug y => _11;                  // in scope 4 at $DIR/match_false_edges.rs:36:14: 36:15
+        debug y => _10;                  // in scope 4 at $DIR/match_false_edges.rs:+4:14: +4:15
+        debug y => _11;                  // in scope 4 at $DIR/match_false_edges.rs:+4:14: +4:15
     }
     scope 5 {
-        debug _z => _14;                 // in scope 5 at $DIR/match_false_edges.rs:37:9: 37:11
+        debug _z => _14;                 // in scope 5 at $DIR/match_false_edges.rs:+5:9: +5:11
     }
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/match_false_edges.rs:33:13: 38:6
-        StorageLive(_2);                 // scope 0 at $DIR/match_false_edges.rs:33:19: 33:26
-        _2 = Option::<i32>::Some(const 1_i32); // scope 0 at $DIR/match_false_edges.rs:33:19: 33:26
-        FakeRead(ForMatchedPlace(None), _2); // scope 0 at $DIR/match_false_edges.rs:33:19: 33:26
-        _4 = discriminant(_2);           // scope 0 at $DIR/match_false_edges.rs:33:19: 33:26
-        switchInt(move _4) -> [1_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/match_false_edges.rs:33:13: 33:26
+        StorageLive(_1);                 // scope 0 at $DIR/match_false_edges.rs:+1:13: +6:6
+        StorageLive(_2);                 // scope 0 at $DIR/match_false_edges.rs:+1:19: +1:26
+        _2 = Option::<i32>::Some(const 1_i32); // scope 0 at $DIR/match_false_edges.rs:+1:19: +1:26
+        FakeRead(ForMatchedPlace(None), _2); // scope 0 at $DIR/match_false_edges.rs:+1:19: +1:26
+        _4 = discriminant(_2);           // scope 0 at $DIR/match_false_edges.rs:+1:19: +1:26
+        switchInt(move _4) -> [1_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/match_false_edges.rs:+1:13: +1:26
     }
 
     bb1: {
-        falseEdge -> [real: bb9, imaginary: bb4]; // scope 0 at $DIR/match_false_edges.rs:35:9: 35:11
+        falseEdge -> [real: bb9, imaginary: bb4]; // scope 0 at $DIR/match_false_edges.rs:+3:9: +3:11
     }
 
     bb2: {
-        falseEdge -> [real: bb5, imaginary: bb1]; // scope 0 at $DIR/match_false_edges.rs:34:9: 34:17
+        falseEdge -> [real: bb5, imaginary: bb1]; // scope 0 at $DIR/match_false_edges.rs:+2:9: +2:17
     }
 
     bb3: {
-        StorageLive(_14);                // scope 0 at $DIR/match_false_edges.rs:37:9: 37:11
-        _14 = _2;                        // scope 0 at $DIR/match_false_edges.rs:37:9: 37:11
-        _1 = const 4_i32;                // scope 5 at $DIR/match_false_edges.rs:37:15: 37:16
-        StorageDead(_14);                // scope 0 at $DIR/match_false_edges.rs:37:15: 37:16
-        goto -> bb14;                    // scope 0 at $DIR/match_false_edges.rs:37:15: 37:16
+        StorageLive(_14);                // scope 0 at $DIR/match_false_edges.rs:+5:9: +5:11
+        _14 = _2;                        // scope 0 at $DIR/match_false_edges.rs:+5:9: +5:11
+        _1 = const 4_i32;                // scope 5 at $DIR/match_false_edges.rs:+5:15: +5:16
+        StorageDead(_14);                // scope 0 at $DIR/match_false_edges.rs:+5:15: +5:16
+        goto -> bb14;                    // scope 0 at $DIR/match_false_edges.rs:+5:15: +5:16
     }
 
     bb4: {
-        falseEdge -> [real: bb10, imaginary: bb3]; // scope 0 at $DIR/match_false_edges.rs:36:9: 36:16
+        falseEdge -> [real: bb10, imaginary: bb3]; // scope 0 at $DIR/match_false_edges.rs:+4:9: +4:16
     }
 
     bb5: {
-        StorageLive(_7);                 // scope 0 at $DIR/match_false_edges.rs:34:14: 34:16
-        _7 = &((_2 as Some).0: i32);     // scope 0 at $DIR/match_false_edges.rs:34:14: 34:16
-        _5 = &shallow _2;                // scope 0 at $DIR/match_false_edges.rs:33:19: 33:26
-        StorageLive(_8);                 // scope 0 at $DIR/match_false_edges.rs:34:21: 34:28
-        _8 = guard() -> [return: bb6, unwind: bb15]; // scope 0 at $DIR/match_false_edges.rs:34:21: 34:28
+        StorageLive(_7);                 // scope 0 at $DIR/match_false_edges.rs:+2:14: +2:16
+        _7 = &((_2 as Some).0: i32);     // scope 0 at $DIR/match_false_edges.rs:+2:14: +2:16
+        _5 = &shallow _2;                // scope 0 at $DIR/match_false_edges.rs:+1:19: +1:26
+        StorageLive(_8);                 // scope 0 at $DIR/match_false_edges.rs:+2:21: +2:28
+        _8 = guard() -> [return: bb6, unwind: bb15]; // scope 0 at $DIR/match_false_edges.rs:+2:21: +2:28
                                          // mir::Constant
                                          // + span: $DIR/match_false_edges.rs:34:21: 34:26
                                          // + literal: Const { ty: fn() -> bool {guard}, val: Value(<ZST>) }
     }
 
     bb6: {
-        switchInt(move _8) -> [false: bb8, otherwise: bb7]; // scope 0 at $DIR/match_false_edges.rs:34:21: 34:28
+        switchInt(move _8) -> [false: bb8, otherwise: bb7]; // scope 0 at $DIR/match_false_edges.rs:+2:21: +2:28
     }
 
     bb7: {
-        StorageDead(_8);                 // scope 0 at $DIR/match_false_edges.rs:34:27: 34:28
-        FakeRead(ForMatchGuard, _5);     // scope 0 at $DIR/match_false_edges.rs:34:27: 34:28
-        FakeRead(ForGuardBinding, _7);   // scope 0 at $DIR/match_false_edges.rs:34:27: 34:28
-        StorageLive(_6);                 // scope 0 at $DIR/match_false_edges.rs:34:14: 34:16
-        _6 = ((_2 as Some).0: i32);      // scope 0 at $DIR/match_false_edges.rs:34:14: 34:16
-        _1 = const 1_i32;                // scope 2 at $DIR/match_false_edges.rs:34:32: 34:33
-        StorageDead(_6);                 // scope 0 at $DIR/match_false_edges.rs:34:32: 34:33
-        StorageDead(_7);                 // scope 0 at $DIR/match_false_edges.rs:34:32: 34:33
-        goto -> bb14;                    // scope 0 at $DIR/match_false_edges.rs:34:32: 34:33
+        StorageDead(_8);                 // scope 0 at $DIR/match_false_edges.rs:+2:27: +2:28
+        FakeRead(ForMatchGuard, _5);     // scope 0 at $DIR/match_false_edges.rs:+2:27: +2:28
+        FakeRead(ForGuardBinding, _7);   // scope 0 at $DIR/match_false_edges.rs:+2:27: +2:28
+        StorageLive(_6);                 // scope 0 at $DIR/match_false_edges.rs:+2:14: +2:16
+        _6 = ((_2 as Some).0: i32);      // scope 0 at $DIR/match_false_edges.rs:+2:14: +2:16
+        _1 = const 1_i32;                // scope 2 at $DIR/match_false_edges.rs:+2:32: +2:33
+        StorageDead(_6);                 // scope 0 at $DIR/match_false_edges.rs:+2:32: +2:33
+        StorageDead(_7);                 // scope 0 at $DIR/match_false_edges.rs:+2:32: +2:33
+        goto -> bb14;                    // scope 0 at $DIR/match_false_edges.rs:+2:32: +2:33
     }
 
     bb8: {
-        StorageDead(_8);                 // scope 0 at $DIR/match_false_edges.rs:34:27: 34:28
-        StorageDead(_7);                 // scope 0 at $DIR/match_false_edges.rs:34:32: 34:33
-        falseEdge -> [real: bb1, imaginary: bb1]; // scope 0 at $DIR/match_false_edges.rs:34:21: 34:28
+        StorageDead(_8);                 // scope 0 at $DIR/match_false_edges.rs:+2:27: +2:28
+        StorageDead(_7);                 // scope 0 at $DIR/match_false_edges.rs:+2:32: +2:33
+        falseEdge -> [real: bb1, imaginary: bb1]; // scope 0 at $DIR/match_false_edges.rs:+2:21: +2:28
     }
 
     bb9: {
-        StorageLive(_9);                 // scope 0 at $DIR/match_false_edges.rs:35:9: 35:11
-        _9 = _2;                         // scope 0 at $DIR/match_false_edges.rs:35:9: 35:11
-        _1 = const 2_i32;                // scope 3 at $DIR/match_false_edges.rs:35:15: 35:16
-        StorageDead(_9);                 // scope 0 at $DIR/match_false_edges.rs:35:15: 35:16
-        goto -> bb14;                    // scope 0 at $DIR/match_false_edges.rs:35:15: 35:16
+        StorageLive(_9);                 // scope 0 at $DIR/match_false_edges.rs:+3:9: +3:11
+        _9 = _2;                         // scope 0 at $DIR/match_false_edges.rs:+3:9: +3:11
+        _1 = const 2_i32;                // scope 3 at $DIR/match_false_edges.rs:+3:15: +3:16
+        StorageDead(_9);                 // scope 0 at $DIR/match_false_edges.rs:+3:15: +3:16
+        goto -> bb14;                    // scope 0 at $DIR/match_false_edges.rs:+3:15: +3:16
     }
 
     bb10: {
-        StorageLive(_11);                // scope 0 at $DIR/match_false_edges.rs:36:14: 36:15
-        _11 = &((_2 as Some).0: i32);    // scope 0 at $DIR/match_false_edges.rs:36:14: 36:15
-        _5 = &shallow _2;                // scope 0 at $DIR/match_false_edges.rs:33:19: 33:26
-        StorageLive(_12);                // scope 0 at $DIR/match_false_edges.rs:36:20: 36:29
-        StorageLive(_13);                // scope 0 at $DIR/match_false_edges.rs:36:27: 36:28
-        _13 = (*_11);                    // scope 0 at $DIR/match_false_edges.rs:36:27: 36:28
-        _12 = guard2(move _13) -> [return: bb11, unwind: bb15]; // scope 0 at $DIR/match_false_edges.rs:36:20: 36:29
+        StorageLive(_11);                // scope 0 at $DIR/match_false_edges.rs:+4:14: +4:15
+        _11 = &((_2 as Some).0: i32);    // scope 0 at $DIR/match_false_edges.rs:+4:14: +4:15
+        _5 = &shallow _2;                // scope 0 at $DIR/match_false_edges.rs:+1:19: +1:26
+        StorageLive(_12);                // scope 0 at $DIR/match_false_edges.rs:+4:20: +4:29
+        StorageLive(_13);                // scope 0 at $DIR/match_false_edges.rs:+4:27: +4:28
+        _13 = (*_11);                    // scope 0 at $DIR/match_false_edges.rs:+4:27: +4:28
+        _12 = guard2(move _13) -> [return: bb11, unwind: bb15]; // scope 0 at $DIR/match_false_edges.rs:+4:20: +4:29
                                          // mir::Constant
                                          // + span: $DIR/match_false_edges.rs:36:20: 36:26
                                          // + literal: Const { ty: fn(i32) -> bool {guard2}, val: Value(<ZST>) }
     }
 
     bb11: {
-        switchInt(move _12) -> [false: bb13, otherwise: bb12]; // scope 0 at $DIR/match_false_edges.rs:36:20: 36:29
+        switchInt(move _12) -> [false: bb13, otherwise: bb12]; // scope 0 at $DIR/match_false_edges.rs:+4:20: +4:29
     }
 
     bb12: {
-        StorageDead(_13);                // scope 0 at $DIR/match_false_edges.rs:36:28: 36:29
-        StorageDead(_12);                // scope 0 at $DIR/match_false_edges.rs:36:28: 36:29
-        FakeRead(ForMatchGuard, _5);     // scope 0 at $DIR/match_false_edges.rs:36:28: 36:29
-        FakeRead(ForGuardBinding, _11);  // scope 0 at $DIR/match_false_edges.rs:36:28: 36:29
-        StorageLive(_10);                // scope 0 at $DIR/match_false_edges.rs:36:14: 36:15
-        _10 = ((_2 as Some).0: i32);     // scope 0 at $DIR/match_false_edges.rs:36:14: 36:15
-        _1 = const 3_i32;                // scope 4 at $DIR/match_false_edges.rs:36:33: 36:34
-        StorageDead(_10);                // scope 0 at $DIR/match_false_edges.rs:36:33: 36:34
-        StorageDead(_11);                // scope 0 at $DIR/match_false_edges.rs:36:33: 36:34
-        goto -> bb14;                    // scope 0 at $DIR/match_false_edges.rs:36:33: 36:34
+        StorageDead(_13);                // scope 0 at $DIR/match_false_edges.rs:+4:28: +4:29
+        StorageDead(_12);                // scope 0 at $DIR/match_false_edges.rs:+4:28: +4:29
+        FakeRead(ForMatchGuard, _5);     // scope 0 at $DIR/match_false_edges.rs:+4:28: +4:29
+        FakeRead(ForGuardBinding, _11);  // scope 0 at $DIR/match_false_edges.rs:+4:28: +4:29
+        StorageLive(_10);                // scope 0 at $DIR/match_false_edges.rs:+4:14: +4:15
+        _10 = ((_2 as Some).0: i32);     // scope 0 at $DIR/match_false_edges.rs:+4:14: +4:15
+        _1 = const 3_i32;                // scope 4 at $DIR/match_false_edges.rs:+4:33: +4:34
+        StorageDead(_10);                // scope 0 at $DIR/match_false_edges.rs:+4:33: +4:34
+        StorageDead(_11);                // scope 0 at $DIR/match_false_edges.rs:+4:33: +4:34
+        goto -> bb14;                    // scope 0 at $DIR/match_false_edges.rs:+4:33: +4:34
     }
 
     bb13: {
-        StorageDead(_13);                // scope 0 at $DIR/match_false_edges.rs:36:28: 36:29
-        StorageDead(_12);                // scope 0 at $DIR/match_false_edges.rs:36:28: 36:29
-        StorageDead(_11);                // scope 0 at $DIR/match_false_edges.rs:36:33: 36:34
-        falseEdge -> [real: bb3, imaginary: bb3]; // scope 0 at $DIR/match_false_edges.rs:36:20: 36:29
+        StorageDead(_13);                // scope 0 at $DIR/match_false_edges.rs:+4:28: +4:29
+        StorageDead(_12);                // scope 0 at $DIR/match_false_edges.rs:+4:28: +4:29
+        StorageDead(_11);                // scope 0 at $DIR/match_false_edges.rs:+4:33: +4:34
+        falseEdge -> [real: bb3, imaginary: bb3]; // scope 0 at $DIR/match_false_edges.rs:+4:20: +4:29
     }
 
     bb14: {
-        StorageDead(_2);                 // scope 0 at $DIR/match_false_edges.rs:38:6: 38:7
-        StorageDead(_1);                 // scope 0 at $DIR/match_false_edges.rs:38:6: 38:7
-        _0 = const ();                   // scope 0 at $DIR/match_false_edges.rs:32:11: 39:2
-        return;                          // scope 0 at $DIR/match_false_edges.rs:39:2: 39:2
+        StorageDead(_2);                 // scope 0 at $DIR/match_false_edges.rs:+6:6: +6:7
+        StorageDead(_1);                 // scope 0 at $DIR/match_false_edges.rs:+6:6: +6:7
+        _0 = const ();                   // scope 0 at $DIR/match_false_edges.rs:+0:11: +7:2
+        return;                          // scope 0 at $DIR/match_false_edges.rs:+7:2: +7:2
     }
 
     bb15 (cleanup): {
-        resume;                          // scope 0 at $DIR/match_false_edges.rs:32:1: 39:2
+        resume;                          // scope 0 at $DIR/match_false_edges.rs:+0:1: +7:2
     }
 }
index 89eefa69019a25f70964ea9cacd17a136452be74..b184ffc404e6bb05d6eadcde84a7b86deda955f8 100644 (file)
 // MIR for `main` after SimplifyCfg-initial
 
 fn main() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/match_test.rs:6:11: 6:11
-    let _1: i32;                         // in scope 0 at $DIR/match_test.rs:7:9: 7:10
-    let _3: i32;                         // in scope 0 at $DIR/match_test.rs:12:5: 17:6
-    let mut _4: bool;                    // in scope 0 at $DIR/match_test.rs:14:9: 14:16
-    let mut _5: bool;                    // in scope 0 at $DIR/match_test.rs:14:9: 14:16
-    let mut _6: bool;                    // in scope 0 at $DIR/match_test.rs:13:9: 13:14
-    let mut _7: bool;                    // in scope 0 at $DIR/match_test.rs:13:9: 13:14
-    let mut _8: &i32;                    // in scope 0 at $DIR/match_test.rs:12:11: 12:12
-    let mut _9: bool;                    // in scope 0 at $DIR/match_test.rs:13:18: 13:19
+    let mut _0: ();                      // return place in scope 0 at $DIR/match_test.rs:+0:11: +0:11
+    let _1: i32;                         // in scope 0 at $DIR/match_test.rs:+1:9: +1:10
+    let _3: i32;                         // in scope 0 at $DIR/match_test.rs:+6:5: +11:6
+    let mut _4: bool;                    // in scope 0 at $DIR/match_test.rs:+8:9: +8:16
+    let mut _5: bool;                    // in scope 0 at $DIR/match_test.rs:+8:9: +8:16
+    let mut _6: bool;                    // in scope 0 at $DIR/match_test.rs:+7:9: +7:14
+    let mut _7: bool;                    // in scope 0 at $DIR/match_test.rs:+7:9: +7:14
+    let mut _8: &i32;                    // in scope 0 at $DIR/match_test.rs:+6:11: +6:12
+    let mut _9: bool;                    // in scope 0 at $DIR/match_test.rs:+7:18: +7:19
     scope 1 {
-        debug x => _1;                   // in scope 1 at $DIR/match_test.rs:7:9: 7:10
-        let _2: bool;                    // in scope 1 at $DIR/match_test.rs:8:9: 8:10
+        debug x => _1;                   // in scope 1 at $DIR/match_test.rs:+1:9: +1:10
+        let _2: bool;                    // in scope 1 at $DIR/match_test.rs:+2:9: +2:10
         scope 2 {
-            debug b => _2;               // in scope 2 at $DIR/match_test.rs:8:9: 8:10
+            debug b => _2;               // in scope 2 at $DIR/match_test.rs:+2:9: +2:10
         }
     }
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/match_test.rs:7:9: 7:10
-        _1 = const 3_i32;                // scope 0 at $DIR/match_test.rs:7:13: 7:14
-        FakeRead(ForLet(None), _1);      // scope 0 at $DIR/match_test.rs:7:9: 7:10
-        StorageLive(_2);                 // scope 1 at $DIR/match_test.rs:8:9: 8:10
-        _2 = const true;                 // scope 1 at $DIR/match_test.rs:8:13: 8:17
-        FakeRead(ForLet(None), _2);      // scope 1 at $DIR/match_test.rs:8:9: 8:10
-        StorageLive(_3);                 // scope 2 at $DIR/match_test.rs:12:5: 17:6
-        FakeRead(ForMatchedPlace(None), _1); // scope 2 at $DIR/match_test.rs:12:11: 12:12
-        _6 = Le(const 0_i32, _1);        // scope 2 at $DIR/match_test.rs:13:9: 13:14
-        switchInt(move _6) -> [false: bb4, otherwise: bb1]; // scope 2 at $DIR/match_test.rs:13:9: 13:14
+        StorageLive(_1);                 // scope 0 at $DIR/match_test.rs:+1:9: +1:10
+        _1 = const 3_i32;                // scope 0 at $DIR/match_test.rs:+1:13: +1:14
+        FakeRead(ForLet(None), _1);      // scope 0 at $DIR/match_test.rs:+1:9: +1:10
+        StorageLive(_2);                 // scope 1 at $DIR/match_test.rs:+2:9: +2:10
+        _2 = const true;                 // scope 1 at $DIR/match_test.rs:+2:13: +2:17
+        FakeRead(ForLet(None), _2);      // scope 1 at $DIR/match_test.rs:+2:9: +2:10
+        StorageLive(_3);                 // scope 2 at $DIR/match_test.rs:+6:5: +11:6
+        FakeRead(ForMatchedPlace(None), _1); // scope 2 at $DIR/match_test.rs:+6:11: +6:12
+        _6 = Le(const 0_i32, _1);        // scope 2 at $DIR/match_test.rs:+7:9: +7:14
+        switchInt(move _6) -> [false: bb4, otherwise: bb1]; // scope 2 at $DIR/match_test.rs:+7:9: +7:14
     }
 
     bb1: {
-        _7 = Lt(_1, const 10_i32);       // scope 2 at $DIR/match_test.rs:13:9: 13:14
-        switchInt(move _7) -> [false: bb4, otherwise: bb2]; // scope 2 at $DIR/match_test.rs:13:9: 13:14
+        _7 = Lt(_1, const 10_i32);       // scope 2 at $DIR/match_test.rs:+7:9: +7:14
+        switchInt(move _7) -> [false: bb4, otherwise: bb2]; // scope 2 at $DIR/match_test.rs:+7:9: +7:14
     }
 
     bb2: {
-        falseEdge -> [real: bb9, imaginary: bb6]; // scope 2 at $DIR/match_test.rs:13:9: 13:14
+        falseEdge -> [real: bb9, imaginary: bb6]; // scope 2 at $DIR/match_test.rs:+7:9: +7:14
     }
 
     bb3: {
-        _3 = const 3_i32;                // scope 2 at $DIR/match_test.rs:16:14: 16:15
-        goto -> bb14;                    // scope 2 at $DIR/match_test.rs:16:14: 16:15
+        _3 = const 3_i32;                // scope 2 at $DIR/match_test.rs:+10:14: +10:15
+        goto -> bb14;                    // scope 2 at $DIR/match_test.rs:+10:14: +10:15
     }
 
     bb4: {
-        _4 = Le(const 10_i32, _1);       // scope 2 at $DIR/match_test.rs:14:9: 14:16
-        switchInt(move _4) -> [false: bb7, otherwise: bb5]; // scope 2 at $DIR/match_test.rs:14:9: 14:16
+        _4 = Le(const 10_i32, _1);       // scope 2 at $DIR/match_test.rs:+8:9: +8:16
+        switchInt(move _4) -> [false: bb7, otherwise: bb5]; // scope 2 at $DIR/match_test.rs:+8:9: +8:16
     }
 
     bb5: {
-        _5 = Le(_1, const 20_i32);       // scope 2 at $DIR/match_test.rs:14:9: 14:16
-        switchInt(move _5) -> [false: bb7, otherwise: bb6]; // scope 2 at $DIR/match_test.rs:14:9: 14:16
+        _5 = Le(_1, const 20_i32);       // scope 2 at $DIR/match_test.rs:+8:9: +8:16
+        switchInt(move _5) -> [false: bb7, otherwise: bb6]; // scope 2 at $DIR/match_test.rs:+8:9: +8:16
     }
 
     bb6: {
-        falseEdge -> [real: bb12, imaginary: bb8]; // scope 2 at $DIR/match_test.rs:14:9: 14:16
+        falseEdge -> [real: bb12, imaginary: bb8]; // scope 2 at $DIR/match_test.rs:+8:9: +8:16
     }
 
     bb7: {
-        switchInt(_1) -> [-1_i32: bb8, otherwise: bb3]; // scope 2 at $DIR/match_test.rs:12:5: 12:12
+        switchInt(_1) -> [-1_i32: bb8, otherwise: bb3]; // scope 2 at $DIR/match_test.rs:+6:5: +6:12
     }
 
     bb8: {
-        falseEdge -> [real: bb13, imaginary: bb3]; // scope 2 at $DIR/match_test.rs:15:9: 15:11
+        falseEdge -> [real: bb13, imaginary: bb3]; // scope 2 at $DIR/match_test.rs:+9:9: +9:11
     }
 
     bb9: {
-        _8 = &shallow _1;                // scope 2 at $DIR/match_test.rs:12:11: 12:12
-        StorageLive(_9);                 // scope 2 at $DIR/match_test.rs:13:18: 13:19
-        _9 = _2;                         // scope 2 at $DIR/match_test.rs:13:18: 13:19
-        switchInt(move _9) -> [false: bb11, otherwise: bb10]; // scope 2 at $DIR/match_test.rs:13:18: 13:19
+        _8 = &shallow _1;                // scope 2 at $DIR/match_test.rs:+6:11: +6:12
+        StorageLive(_9);                 // scope 2 at $DIR/match_test.rs:+7:18: +7:19
+        _9 = _2;                         // scope 2 at $DIR/match_test.rs:+7:18: +7:19
+        switchInt(move _9) -> [false: bb11, otherwise: bb10]; // scope 2 at $DIR/match_test.rs:+7:18: +7:19
     }
 
     bb10: {
-        StorageDead(_9);                 // scope 2 at $DIR/match_test.rs:13:18: 13:19
-        FakeRead(ForMatchGuard, _8);     // scope 2 at $DIR/match_test.rs:13:18: 13:19
-        _3 = const 0_i32;                // scope 2 at $DIR/match_test.rs:13:23: 13:24
-        goto -> bb14;                    // scope 2 at $DIR/match_test.rs:13:23: 13:24
+        StorageDead(_9);                 // scope 2 at $DIR/match_test.rs:+7:18: +7:19
+        FakeRead(ForMatchGuard, _8);     // scope 2 at $DIR/match_test.rs:+7:18: +7:19
+        _3 = const 0_i32;                // scope 2 at $DIR/match_test.rs:+7:23: +7:24
+        goto -> bb14;                    // scope 2 at $DIR/match_test.rs:+7:23: +7:24
     }
 
     bb11: {
-        StorageDead(_9);                 // scope 2 at $DIR/match_test.rs:13:18: 13:19
-        falseEdge -> [real: bb3, imaginary: bb6]; // scope 2 at $DIR/match_test.rs:13:18: 13:19
+        StorageDead(_9);                 // scope 2 at $DIR/match_test.rs:+7:18: +7:19
+        falseEdge -> [real: bb3, imaginary: bb6]; // scope 2 at $DIR/match_test.rs:+7:18: +7:19
     }
 
     bb12: {
-        _3 = const 1_i32;                // scope 2 at $DIR/match_test.rs:14:20: 14:21
-        goto -> bb14;                    // scope 2 at $DIR/match_test.rs:14:20: 14:21
+        _3 = const 1_i32;                // scope 2 at $DIR/match_test.rs:+8:20: +8:21
+        goto -> bb14;                    // scope 2 at $DIR/match_test.rs:+8:20: +8:21
     }
 
     bb13: {
-        _3 = const 2_i32;                // scope 2 at $DIR/match_test.rs:15:15: 15:16
-        goto -> bb14;                    // scope 2 at $DIR/match_test.rs:15:15: 15:16
+        _3 = const 2_i32;                // scope 2 at $DIR/match_test.rs:+9:15: +9:16
+        goto -> bb14;                    // scope 2 at $DIR/match_test.rs:+9:15: +9:16
     }
 
     bb14: {
-        StorageDead(_3);                 // scope 2 at $DIR/match_test.rs:17:6: 17:7
-        _0 = const ();                   // scope 0 at $DIR/match_test.rs:6:11: 18:2
-        StorageDead(_2);                 // scope 1 at $DIR/match_test.rs:18:1: 18:2
-        StorageDead(_1);                 // scope 0 at $DIR/match_test.rs:18:1: 18:2
-        return;                          // scope 0 at $DIR/match_test.rs:18:2: 18:2
+        StorageDead(_3);                 // scope 2 at $DIR/match_test.rs:+11:6: +11:7
+        _0 = const ();                   // scope 0 at $DIR/match_test.rs:+0:11: +12:2
+        StorageDead(_2);                 // scope 1 at $DIR/match_test.rs:+12:1: +12:2
+        StorageDead(_1);                 // scope 0 at $DIR/match_test.rs:+12:1: +12:2
+        return;                          // scope 0 at $DIR/match_test.rs:+12:2: +12:2
     }
 }
index e63148a8312daa4c1629aff285cd1ec739ffd4e2..2005c10efa93bf6700cae844553ddd21159e9fef 100644 (file)
@@ -2,87 +2,87 @@
 + // MIR for `bar` after MatchBranchSimplification
   
   fn bar(_1: i32) -> (bool, bool, bool, bool) {
-      debug i => _1;                       // in scope 0 at $DIR/matches_reduce_branches.rs:13:8: 13:9
-      let mut _0: (bool, bool, bool, bool); // return place in scope 0 at $DIR/matches_reduce_branches.rs:13:19: 13:43
-      let _2: bool;                        // in scope 0 at $DIR/matches_reduce_branches.rs:14:9: 14:10
-      let _6: ();                          // in scope 0 at $DIR/matches_reduce_branches.rs:19:5: 34:6
-      let mut _7: bool;                    // in scope 0 at $DIR/matches_reduce_branches.rs:36:6: 36:7
-      let mut _8: bool;                    // in scope 0 at $DIR/matches_reduce_branches.rs:36:9: 36:10
-      let mut _9: bool;                    // in scope 0 at $DIR/matches_reduce_branches.rs:36:12: 36:13
-      let mut _10: bool;                   // in scope 0 at $DIR/matches_reduce_branches.rs:36:15: 36:16
-+     let mut _11: i32;                    // in scope 0 at $DIR/matches_reduce_branches.rs:19:5: 19:12
+      debug i => _1;                       // in scope 0 at $DIR/matches_reduce_branches.rs:+0:8: +0:9
+      let mut _0: (bool, bool, bool, bool); // return place in scope 0 at $DIR/matches_reduce_branches.rs:+0:19: +0:43
+      let _2: bool;                        // in scope 0 at $DIR/matches_reduce_branches.rs:+1:9: +1:10
+      let _6: ();                          // in scope 0 at $DIR/matches_reduce_branches.rs:+6:5: +21:6
+      let mut _7: bool;                    // in scope 0 at $DIR/matches_reduce_branches.rs:+23:6: +23:7
+      let mut _8: bool;                    // in scope 0 at $DIR/matches_reduce_branches.rs:+23:9: +23:10
+      let mut _9: bool;                    // in scope 0 at $DIR/matches_reduce_branches.rs:+23:12: +23:13
+      let mut _10: bool;                   // in scope 0 at $DIR/matches_reduce_branches.rs:+23:15: +23:16
++     let mut _11: i32;                    // in scope 0 at $DIR/matches_reduce_branches.rs:+6:5: +6:12
       scope 1 {
-          debug a => _2;                   // in scope 1 at $DIR/matches_reduce_branches.rs:14:9: 14:10
-          let _3: bool;                    // in scope 1 at $DIR/matches_reduce_branches.rs:15:9: 15:10
+          debug a => _2;                   // in scope 1 at $DIR/matches_reduce_branches.rs:+1:9: +1:10
+          let _3: bool;                    // in scope 1 at $DIR/matches_reduce_branches.rs:+2:9: +2:10
           scope 2 {
-              debug b => _3;               // in scope 2 at $DIR/matches_reduce_branches.rs:15:9: 15:10
-              let _4: bool;                // in scope 2 at $DIR/matches_reduce_branches.rs:16:9: 16:10
+              debug b => _3;               // in scope 2 at $DIR/matches_reduce_branches.rs:+2:9: +2:10
+              let _4: bool;                // in scope 2 at $DIR/matches_reduce_branches.rs:+3:9: +3:10
               scope 3 {
-                  debug c => _4;           // in scope 3 at $DIR/matches_reduce_branches.rs:16:9: 16:10
-                  let _5: bool;            // in scope 3 at $DIR/matches_reduce_branches.rs:17:9: 17:10
+                  debug c => _4;           // in scope 3 at $DIR/matches_reduce_branches.rs:+3:9: +3:10
+                  let _5: bool;            // in scope 3 at $DIR/matches_reduce_branches.rs:+4:9: +4:10
                   scope 4 {
-                      debug d => _5;       // in scope 4 at $DIR/matches_reduce_branches.rs:17:9: 17:10
+                      debug d => _5;       // in scope 4 at $DIR/matches_reduce_branches.rs:+4:9: +4:10
                   }
               }
           }
       }
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/matches_reduce_branches.rs:14:9: 14:10
-          StorageLive(_3);                 // scope 1 at $DIR/matches_reduce_branches.rs:15:9: 15:10
-          StorageLive(_4);                 // scope 2 at $DIR/matches_reduce_branches.rs:16:9: 16:10
-          StorageLive(_5);                 // scope 3 at $DIR/matches_reduce_branches.rs:17:9: 17:10
-          StorageLive(_6);                 // scope 4 at $DIR/matches_reduce_branches.rs:19:5: 34:6
--         switchInt(_1) -> [7_i32: bb2, otherwise: bb1]; // scope 4 at $DIR/matches_reduce_branches.rs:19:5: 19:12
+          StorageLive(_2);                 // scope 0 at $DIR/matches_reduce_branches.rs:+1:9: +1:10
+          StorageLive(_3);                 // scope 1 at $DIR/matches_reduce_branches.rs:+2:9: +2:10
+          StorageLive(_4);                 // scope 2 at $DIR/matches_reduce_branches.rs:+3:9: +3:10
+          StorageLive(_5);                 // scope 3 at $DIR/matches_reduce_branches.rs:+4:9: +4:10
+          StorageLive(_6);                 // scope 4 at $DIR/matches_reduce_branches.rs:+6:5: +21:6
+-         switchInt(_1) -> [7_i32: bb2, otherwise: bb1]; // scope 4 at $DIR/matches_reduce_branches.rs:+6:5: +6:12
 -     }
 - 
 -     bb1: {
--         _2 = const true;                 // scope 4 at $DIR/matches_reduce_branches.rs:28:13: 28:21
--         _3 = const false;                // scope 4 at $DIR/matches_reduce_branches.rs:29:13: 29:22
--         _4 = const false;                // scope 4 at $DIR/matches_reduce_branches.rs:30:13: 30:22
--         _5 = const true;                 // scope 4 at $DIR/matches_reduce_branches.rs:31:13: 31:21
--         nop;                             // scope 4 at $DIR/matches_reduce_branches.rs:32:13: 32:15
--         goto -> bb3;                     // scope 4 at $DIR/matches_reduce_branches.rs:32:13: 32:15
+-         _2 = const true;                 // scope 4 at $DIR/matches_reduce_branches.rs:+15:13: +15:21
+-         _3 = const false;                // scope 4 at $DIR/matches_reduce_branches.rs:+16:13: +16:22
+-         _4 = const false;                // scope 4 at $DIR/matches_reduce_branches.rs:+17:13: +17:22
+-         _5 = const true;                 // scope 4 at $DIR/matches_reduce_branches.rs:+18:13: +18:21
+-         nop;                             // scope 4 at $DIR/matches_reduce_branches.rs:+19:13: +19:15
+-         goto -> bb3;                     // scope 4 at $DIR/matches_reduce_branches.rs:+19:13: +19:15
 -     }
 - 
 -     bb2: {
--         _2 = const false;                // scope 4 at $DIR/matches_reduce_branches.rs:21:13: 21:22
--         _3 = const true;                 // scope 4 at $DIR/matches_reduce_branches.rs:22:13: 22:21
-+         StorageLive(_11);                // scope 4 at $DIR/matches_reduce_branches.rs:19:5: 19:12
-+         _11 = _1;                        // scope 4 at $DIR/matches_reduce_branches.rs:19:5: 19:12
-+         _2 = Ne(_11, const 7_i32);       // scope 4 at $DIR/matches_reduce_branches.rs:21:13: 21:22
-+         _3 = Eq(_11, const 7_i32);       // scope 4 at $DIR/matches_reduce_branches.rs:22:13: 22:21
-          _4 = const false;                // scope 4 at $DIR/matches_reduce_branches.rs:23:13: 23:22
-          _5 = const true;                 // scope 4 at $DIR/matches_reduce_branches.rs:24:13: 24:21
--         nop;                             // scope 4 at $DIR/matches_reduce_branches.rs:25:13: 25:15
--         goto -> bb3;                     // scope 4 at $DIR/matches_reduce_branches.rs:25:13: 25:15
+-         _2 = const false;                // scope 4 at $DIR/matches_reduce_branches.rs:+8:13: +8:22
+-         _3 = const true;                 // scope 4 at $DIR/matches_reduce_branches.rs:+9:13: +9:21
++         StorageLive(_11);                // scope 4 at $DIR/matches_reduce_branches.rs:+6:5: +6:12
++         _11 = _1;                        // scope 4 at $DIR/matches_reduce_branches.rs:+6:5: +6:12
++         _2 = Ne(_11, const 7_i32);       // scope 4 at $DIR/matches_reduce_branches.rs:+8:13: +8:22
++         _3 = Eq(_11, const 7_i32);       // scope 4 at $DIR/matches_reduce_branches.rs:+9:13: +9:21
+          _4 = const false;                // scope 4 at $DIR/matches_reduce_branches.rs:+10:13: +10:22
+          _5 = const true;                 // scope 4 at $DIR/matches_reduce_branches.rs:+11:13: +11:21
+-         nop;                             // scope 4 at $DIR/matches_reduce_branches.rs:+12:13: +12:15
+-         goto -> bb3;                     // scope 4 at $DIR/matches_reduce_branches.rs:+12:13: +12:15
 -     }
 - 
 -     bb3: {
-+         StorageDead(_11);                // scope 4 at $DIR/matches_reduce_branches.rs:19:5: 19:12
-          StorageDead(_6);                 // scope 4 at $DIR/matches_reduce_branches.rs:34:6: 34:7
-          StorageLive(_7);                 // scope 4 at $DIR/matches_reduce_branches.rs:36:6: 36:7
-          _7 = _2;                         // scope 4 at $DIR/matches_reduce_branches.rs:36:6: 36:7
-          StorageLive(_8);                 // scope 4 at $DIR/matches_reduce_branches.rs:36:9: 36:10
-          _8 = _3;                         // scope 4 at $DIR/matches_reduce_branches.rs:36:9: 36:10
-          StorageLive(_9);                 // scope 4 at $DIR/matches_reduce_branches.rs:36:12: 36:13
-          _9 = _4;                         // scope 4 at $DIR/matches_reduce_branches.rs:36:12: 36:13
-          StorageLive(_10);                // scope 4 at $DIR/matches_reduce_branches.rs:36:15: 36:16
-          _10 = _5;                        // scope 4 at $DIR/matches_reduce_branches.rs:36:15: 36:16
-          Deinit(_0);                      // scope 4 at $DIR/matches_reduce_branches.rs:36:5: 36:17
-          (_0.0: bool) = move _7;          // scope 4 at $DIR/matches_reduce_branches.rs:36:5: 36:17
-          (_0.1: bool) = move _8;          // scope 4 at $DIR/matches_reduce_branches.rs:36:5: 36:17
-          (_0.2: bool) = move _9;          // scope 4 at $DIR/matches_reduce_branches.rs:36:5: 36:17
-          (_0.3: bool) = move _10;         // scope 4 at $DIR/matches_reduce_branches.rs:36:5: 36:17
-          StorageDead(_10);                // scope 4 at $DIR/matches_reduce_branches.rs:36:16: 36:17
-          StorageDead(_9);                 // scope 4 at $DIR/matches_reduce_branches.rs:36:16: 36:17
-          StorageDead(_8);                 // scope 4 at $DIR/matches_reduce_branches.rs:36:16: 36:17
-          StorageDead(_7);                 // scope 4 at $DIR/matches_reduce_branches.rs:36:16: 36:17
-          StorageDead(_5);                 // scope 3 at $DIR/matches_reduce_branches.rs:37:1: 37:2
-          StorageDead(_4);                 // scope 2 at $DIR/matches_reduce_branches.rs:37:1: 37:2
-          StorageDead(_3);                 // scope 1 at $DIR/matches_reduce_branches.rs:37:1: 37:2
-          StorageDead(_2);                 // scope 0 at $DIR/matches_reduce_branches.rs:37:1: 37:2
-          return;                          // scope 0 at $DIR/matches_reduce_branches.rs:37:2: 37:2
++         StorageDead(_11);                // scope 4 at $DIR/matches_reduce_branches.rs:+6:5: +6:12
+          StorageDead(_6);                 // scope 4 at $DIR/matches_reduce_branches.rs:+21:6: +21:7
+          StorageLive(_7);                 // scope 4 at $DIR/matches_reduce_branches.rs:+23:6: +23:7
+          _7 = _2;                         // scope 4 at $DIR/matches_reduce_branches.rs:+23:6: +23:7
+          StorageLive(_8);                 // scope 4 at $DIR/matches_reduce_branches.rs:+23:9: +23:10
+          _8 = _3;                         // scope 4 at $DIR/matches_reduce_branches.rs:+23:9: +23:10
+          StorageLive(_9);                 // scope 4 at $DIR/matches_reduce_branches.rs:+23:12: +23:13
+          _9 = _4;                         // scope 4 at $DIR/matches_reduce_branches.rs:+23:12: +23:13
+          StorageLive(_10);                // scope 4 at $DIR/matches_reduce_branches.rs:+23:15: +23:16
+          _10 = _5;                        // scope 4 at $DIR/matches_reduce_branches.rs:+23:15: +23:16
+          Deinit(_0);                      // scope 4 at $DIR/matches_reduce_branches.rs:+23:5: +23:17
+          (_0.0: bool) = move _7;          // scope 4 at $DIR/matches_reduce_branches.rs:+23:5: +23:17
+          (_0.1: bool) = move _8;          // scope 4 at $DIR/matches_reduce_branches.rs:+23:5: +23:17
+          (_0.2: bool) = move _9;          // scope 4 at $DIR/matches_reduce_branches.rs:+23:5: +23:17
+          (_0.3: bool) = move _10;         // scope 4 at $DIR/matches_reduce_branches.rs:+23:5: +23:17
+          StorageDead(_10);                // scope 4 at $DIR/matches_reduce_branches.rs:+23:16: +23:17
+          StorageDead(_9);                 // scope 4 at $DIR/matches_reduce_branches.rs:+23:16: +23:17
+          StorageDead(_8);                 // scope 4 at $DIR/matches_reduce_branches.rs:+23:16: +23:17
+          StorageDead(_7);                 // scope 4 at $DIR/matches_reduce_branches.rs:+23:16: +23:17
+          StorageDead(_5);                 // scope 3 at $DIR/matches_reduce_branches.rs:+24:1: +24:2
+          StorageDead(_4);                 // scope 2 at $DIR/matches_reduce_branches.rs:+24:1: +24:2
+          StorageDead(_3);                 // scope 1 at $DIR/matches_reduce_branches.rs:+24:1: +24:2
+          StorageDead(_2);                 // scope 0 at $DIR/matches_reduce_branches.rs:+24:1: +24:2
+          return;                          // scope 0 at $DIR/matches_reduce_branches.rs:+24:2: +24:2
       }
   }
   
index e63148a8312daa4c1629aff285cd1ec739ffd4e2..2005c10efa93bf6700cae844553ddd21159e9fef 100644 (file)
@@ -2,87 +2,87 @@
 + // MIR for `bar` after MatchBranchSimplification
   
   fn bar(_1: i32) -> (bool, bool, bool, bool) {
-      debug i => _1;                       // in scope 0 at $DIR/matches_reduce_branches.rs:13:8: 13:9
-      let mut _0: (bool, bool, bool, bool); // return place in scope 0 at $DIR/matches_reduce_branches.rs:13:19: 13:43
-      let _2: bool;                        // in scope 0 at $DIR/matches_reduce_branches.rs:14:9: 14:10
-      let _6: ();                          // in scope 0 at $DIR/matches_reduce_branches.rs:19:5: 34:6
-      let mut _7: bool;                    // in scope 0 at $DIR/matches_reduce_branches.rs:36:6: 36:7
-      let mut _8: bool;                    // in scope 0 at $DIR/matches_reduce_branches.rs:36:9: 36:10
-      let mut _9: bool;                    // in scope 0 at $DIR/matches_reduce_branches.rs:36:12: 36:13
-      let mut _10: bool;                   // in scope 0 at $DIR/matches_reduce_branches.rs:36:15: 36:16
-+     let mut _11: i32;                    // in scope 0 at $DIR/matches_reduce_branches.rs:19:5: 19:12
+      debug i => _1;                       // in scope 0 at $DIR/matches_reduce_branches.rs:+0:8: +0:9
+      let mut _0: (bool, bool, bool, bool); // return place in scope 0 at $DIR/matches_reduce_branches.rs:+0:19: +0:43
+      let _2: bool;                        // in scope 0 at $DIR/matches_reduce_branches.rs:+1:9: +1:10
+      let _6: ();                          // in scope 0 at $DIR/matches_reduce_branches.rs:+6:5: +21:6
+      let mut _7: bool;                    // in scope 0 at $DIR/matches_reduce_branches.rs:+23:6: +23:7
+      let mut _8: bool;                    // in scope 0 at $DIR/matches_reduce_branches.rs:+23:9: +23:10
+      let mut _9: bool;                    // in scope 0 at $DIR/matches_reduce_branches.rs:+23:12: +23:13
+      let mut _10: bool;                   // in scope 0 at $DIR/matches_reduce_branches.rs:+23:15: +23:16
++     let mut _11: i32;                    // in scope 0 at $DIR/matches_reduce_branches.rs:+6:5: +6:12
       scope 1 {
-          debug a => _2;                   // in scope 1 at $DIR/matches_reduce_branches.rs:14:9: 14:10
-          let _3: bool;                    // in scope 1 at $DIR/matches_reduce_branches.rs:15:9: 15:10
+          debug a => _2;                   // in scope 1 at $DIR/matches_reduce_branches.rs:+1:9: +1:10
+          let _3: bool;                    // in scope 1 at $DIR/matches_reduce_branches.rs:+2:9: +2:10
           scope 2 {
-              debug b => _3;               // in scope 2 at $DIR/matches_reduce_branches.rs:15:9: 15:10
-              let _4: bool;                // in scope 2 at $DIR/matches_reduce_branches.rs:16:9: 16:10
+              debug b => _3;               // in scope 2 at $DIR/matches_reduce_branches.rs:+2:9: +2:10
+              let _4: bool;                // in scope 2 at $DIR/matches_reduce_branches.rs:+3:9: +3:10
               scope 3 {
-                  debug c => _4;           // in scope 3 at $DIR/matches_reduce_branches.rs:16:9: 16:10
-                  let _5: bool;            // in scope 3 at $DIR/matches_reduce_branches.rs:17:9: 17:10
+                  debug c => _4;           // in scope 3 at $DIR/matches_reduce_branches.rs:+3:9: +3:10
+                  let _5: bool;            // in scope 3 at $DIR/matches_reduce_branches.rs:+4:9: +4:10
                   scope 4 {
-                      debug d => _5;       // in scope 4 at $DIR/matches_reduce_branches.rs:17:9: 17:10
+                      debug d => _5;       // in scope 4 at $DIR/matches_reduce_branches.rs:+4:9: +4:10
                   }
               }
           }
       }
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/matches_reduce_branches.rs:14:9: 14:10
-          StorageLive(_3);                 // scope 1 at $DIR/matches_reduce_branches.rs:15:9: 15:10
-          StorageLive(_4);                 // scope 2 at $DIR/matches_reduce_branches.rs:16:9: 16:10
-          StorageLive(_5);                 // scope 3 at $DIR/matches_reduce_branches.rs:17:9: 17:10
-          StorageLive(_6);                 // scope 4 at $DIR/matches_reduce_branches.rs:19:5: 34:6
--         switchInt(_1) -> [7_i32: bb2, otherwise: bb1]; // scope 4 at $DIR/matches_reduce_branches.rs:19:5: 19:12
+          StorageLive(_2);                 // scope 0 at $DIR/matches_reduce_branches.rs:+1:9: +1:10
+          StorageLive(_3);                 // scope 1 at $DIR/matches_reduce_branches.rs:+2:9: +2:10
+          StorageLive(_4);                 // scope 2 at $DIR/matches_reduce_branches.rs:+3:9: +3:10
+          StorageLive(_5);                 // scope 3 at $DIR/matches_reduce_branches.rs:+4:9: +4:10
+          StorageLive(_6);                 // scope 4 at $DIR/matches_reduce_branches.rs:+6:5: +21:6
+-         switchInt(_1) -> [7_i32: bb2, otherwise: bb1]; // scope 4 at $DIR/matches_reduce_branches.rs:+6:5: +6:12
 -     }
 - 
 -     bb1: {
--         _2 = const true;                 // scope 4 at $DIR/matches_reduce_branches.rs:28:13: 28:21
--         _3 = const false;                // scope 4 at $DIR/matches_reduce_branches.rs:29:13: 29:22
--         _4 = const false;                // scope 4 at $DIR/matches_reduce_branches.rs:30:13: 30:22
--         _5 = const true;                 // scope 4 at $DIR/matches_reduce_branches.rs:31:13: 31:21
--         nop;                             // scope 4 at $DIR/matches_reduce_branches.rs:32:13: 32:15
--         goto -> bb3;                     // scope 4 at $DIR/matches_reduce_branches.rs:32:13: 32:15
+-         _2 = const true;                 // scope 4 at $DIR/matches_reduce_branches.rs:+15:13: +15:21
+-         _3 = const false;                // scope 4 at $DIR/matches_reduce_branches.rs:+16:13: +16:22
+-         _4 = const false;                // scope 4 at $DIR/matches_reduce_branches.rs:+17:13: +17:22
+-         _5 = const true;                 // scope 4 at $DIR/matches_reduce_branches.rs:+18:13: +18:21
+-         nop;                             // scope 4 at $DIR/matches_reduce_branches.rs:+19:13: +19:15
+-         goto -> bb3;                     // scope 4 at $DIR/matches_reduce_branches.rs:+19:13: +19:15
 -     }
 - 
 -     bb2: {
--         _2 = const false;                // scope 4 at $DIR/matches_reduce_branches.rs:21:13: 21:22
--         _3 = const true;                 // scope 4 at $DIR/matches_reduce_branches.rs:22:13: 22:21
-+         StorageLive(_11);                // scope 4 at $DIR/matches_reduce_branches.rs:19:5: 19:12
-+         _11 = _1;                        // scope 4 at $DIR/matches_reduce_branches.rs:19:5: 19:12
-+         _2 = Ne(_11, const 7_i32);       // scope 4 at $DIR/matches_reduce_branches.rs:21:13: 21:22
-+         _3 = Eq(_11, const 7_i32);       // scope 4 at $DIR/matches_reduce_branches.rs:22:13: 22:21
-          _4 = const false;                // scope 4 at $DIR/matches_reduce_branches.rs:23:13: 23:22
-          _5 = const true;                 // scope 4 at $DIR/matches_reduce_branches.rs:24:13: 24:21
--         nop;                             // scope 4 at $DIR/matches_reduce_branches.rs:25:13: 25:15
--         goto -> bb3;                     // scope 4 at $DIR/matches_reduce_branches.rs:25:13: 25:15
+-         _2 = const false;                // scope 4 at $DIR/matches_reduce_branches.rs:+8:13: +8:22
+-         _3 = const true;                 // scope 4 at $DIR/matches_reduce_branches.rs:+9:13: +9:21
++         StorageLive(_11);                // scope 4 at $DIR/matches_reduce_branches.rs:+6:5: +6:12
++         _11 = _1;                        // scope 4 at $DIR/matches_reduce_branches.rs:+6:5: +6:12
++         _2 = Ne(_11, const 7_i32);       // scope 4 at $DIR/matches_reduce_branches.rs:+8:13: +8:22
++         _3 = Eq(_11, const 7_i32);       // scope 4 at $DIR/matches_reduce_branches.rs:+9:13: +9:21
+          _4 = const false;                // scope 4 at $DIR/matches_reduce_branches.rs:+10:13: +10:22
+          _5 = const true;                 // scope 4 at $DIR/matches_reduce_branches.rs:+11:13: +11:21
+-         nop;                             // scope 4 at $DIR/matches_reduce_branches.rs:+12:13: +12:15
+-         goto -> bb3;                     // scope 4 at $DIR/matches_reduce_branches.rs:+12:13: +12:15
 -     }
 - 
 -     bb3: {
-+         StorageDead(_11);                // scope 4 at $DIR/matches_reduce_branches.rs:19:5: 19:12
-          StorageDead(_6);                 // scope 4 at $DIR/matches_reduce_branches.rs:34:6: 34:7
-          StorageLive(_7);                 // scope 4 at $DIR/matches_reduce_branches.rs:36:6: 36:7
-          _7 = _2;                         // scope 4 at $DIR/matches_reduce_branches.rs:36:6: 36:7
-          StorageLive(_8);                 // scope 4 at $DIR/matches_reduce_branches.rs:36:9: 36:10
-          _8 = _3;                         // scope 4 at $DIR/matches_reduce_branches.rs:36:9: 36:10
-          StorageLive(_9);                 // scope 4 at $DIR/matches_reduce_branches.rs:36:12: 36:13
-          _9 = _4;                         // scope 4 at $DIR/matches_reduce_branches.rs:36:12: 36:13
-          StorageLive(_10);                // scope 4 at $DIR/matches_reduce_branches.rs:36:15: 36:16
-          _10 = _5;                        // scope 4 at $DIR/matches_reduce_branches.rs:36:15: 36:16
-          Deinit(_0);                      // scope 4 at $DIR/matches_reduce_branches.rs:36:5: 36:17
-          (_0.0: bool) = move _7;          // scope 4 at $DIR/matches_reduce_branches.rs:36:5: 36:17
-          (_0.1: bool) = move _8;          // scope 4 at $DIR/matches_reduce_branches.rs:36:5: 36:17
-          (_0.2: bool) = move _9;          // scope 4 at $DIR/matches_reduce_branches.rs:36:5: 36:17
-          (_0.3: bool) = move _10;         // scope 4 at $DIR/matches_reduce_branches.rs:36:5: 36:17
-          StorageDead(_10);                // scope 4 at $DIR/matches_reduce_branches.rs:36:16: 36:17
-          StorageDead(_9);                 // scope 4 at $DIR/matches_reduce_branches.rs:36:16: 36:17
-          StorageDead(_8);                 // scope 4 at $DIR/matches_reduce_branches.rs:36:16: 36:17
-          StorageDead(_7);                 // scope 4 at $DIR/matches_reduce_branches.rs:36:16: 36:17
-          StorageDead(_5);                 // scope 3 at $DIR/matches_reduce_branches.rs:37:1: 37:2
-          StorageDead(_4);                 // scope 2 at $DIR/matches_reduce_branches.rs:37:1: 37:2
-          StorageDead(_3);                 // scope 1 at $DIR/matches_reduce_branches.rs:37:1: 37:2
-          StorageDead(_2);                 // scope 0 at $DIR/matches_reduce_branches.rs:37:1: 37:2
-          return;                          // scope 0 at $DIR/matches_reduce_branches.rs:37:2: 37:2
++         StorageDead(_11);                // scope 4 at $DIR/matches_reduce_branches.rs:+6:5: +6:12
+          StorageDead(_6);                 // scope 4 at $DIR/matches_reduce_branches.rs:+21:6: +21:7
+          StorageLive(_7);                 // scope 4 at $DIR/matches_reduce_branches.rs:+23:6: +23:7
+          _7 = _2;                         // scope 4 at $DIR/matches_reduce_branches.rs:+23:6: +23:7
+          StorageLive(_8);                 // scope 4 at $DIR/matches_reduce_branches.rs:+23:9: +23:10
+          _8 = _3;                         // scope 4 at $DIR/matches_reduce_branches.rs:+23:9: +23:10
+          StorageLive(_9);                 // scope 4 at $DIR/matches_reduce_branches.rs:+23:12: +23:13
+          _9 = _4;                         // scope 4 at $DIR/matches_reduce_branches.rs:+23:12: +23:13
+          StorageLive(_10);                // scope 4 at $DIR/matches_reduce_branches.rs:+23:15: +23:16
+          _10 = _5;                        // scope 4 at $DIR/matches_reduce_branches.rs:+23:15: +23:16
+          Deinit(_0);                      // scope 4 at $DIR/matches_reduce_branches.rs:+23:5: +23:17
+          (_0.0: bool) = move _7;          // scope 4 at $DIR/matches_reduce_branches.rs:+23:5: +23:17
+          (_0.1: bool) = move _8;          // scope 4 at $DIR/matches_reduce_branches.rs:+23:5: +23:17
+          (_0.2: bool) = move _9;          // scope 4 at $DIR/matches_reduce_branches.rs:+23:5: +23:17
+          (_0.3: bool) = move _10;         // scope 4 at $DIR/matches_reduce_branches.rs:+23:5: +23:17
+          StorageDead(_10);                // scope 4 at $DIR/matches_reduce_branches.rs:+23:16: +23:17
+          StorageDead(_9);                 // scope 4 at $DIR/matches_reduce_branches.rs:+23:16: +23:17
+          StorageDead(_8);                 // scope 4 at $DIR/matches_reduce_branches.rs:+23:16: +23:17
+          StorageDead(_7);                 // scope 4 at $DIR/matches_reduce_branches.rs:+23:16: +23:17
+          StorageDead(_5);                 // scope 3 at $DIR/matches_reduce_branches.rs:+24:1: +24:2
+          StorageDead(_4);                 // scope 2 at $DIR/matches_reduce_branches.rs:+24:1: +24:2
+          StorageDead(_3);                 // scope 1 at $DIR/matches_reduce_branches.rs:+24:1: +24:2
+          StorageDead(_2);                 // scope 0 at $DIR/matches_reduce_branches.rs:+24:1: +24:2
+          return;                          // scope 0 at $DIR/matches_reduce_branches.rs:+24:2: +24:2
       }
   }
   
index 29f66ceac981e75c6372b06688d9006954dbdc5f..b7862e5678f23598d3ba2afb8b144d73309b0cdb 100644 (file)
@@ -2,13 +2,13 @@
 + // MIR for `foo` after MatchBranchSimplification
   
   fn foo(_1: Option<()>) -> () {
-      debug bar => _1;                     // in scope 0 at $DIR/matches_reduce_branches.rs:7:8: 7:11
-      let mut _0: ();                      // return place in scope 0 at $DIR/matches_reduce_branches.rs:7:25: 7:25
-      let mut _2: isize;                   // in scope 0 at $DIR/matches_reduce_branches.rs:8:22: 8:26
+      debug bar => _1;                     // in scope 0 at $DIR/matches_reduce_branches.rs:+0:8: +0:11
+      let mut _0: ();                      // return place in scope 0 at $DIR/matches_reduce_branches.rs:+0:25: +0:25
+      let mut _2: isize;                   // in scope 0 at $DIR/matches_reduce_branches.rs:+1:22: +1:26
 +     let mut _3: isize;                   // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
   
       bb0: {
-          _2 = discriminant(_1);           // scope 0 at $DIR/matches_reduce_branches.rs:8:17: 8:20
+          _2 = discriminant(_1);           // scope 0 at $DIR/matches_reduce_branches.rs:+1:17: +1:20
 -         switchInt(move _2) -> [0_isize: bb2, otherwise: bb1]; // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
 -     }
 - 
@@ -24,7 +24,7 @@
 +         StorageLive(_3);                 // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
 +         _3 = move _2;                    // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
 +         StorageDead(_3);                 // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          return;                          // scope 0 at $DIR/matches_reduce_branches.rs:11:2: 11:2
+          return;                          // scope 0 at $DIR/matches_reduce_branches.rs:+4:2: +4:2
       }
   }
   
index 29f66ceac981e75c6372b06688d9006954dbdc5f..b7862e5678f23598d3ba2afb8b144d73309b0cdb 100644 (file)
@@ -2,13 +2,13 @@
 + // MIR for `foo` after MatchBranchSimplification
   
   fn foo(_1: Option<()>) -> () {
-      debug bar => _1;                     // in scope 0 at $DIR/matches_reduce_branches.rs:7:8: 7:11
-      let mut _0: ();                      // return place in scope 0 at $DIR/matches_reduce_branches.rs:7:25: 7:25
-      let mut _2: isize;                   // in scope 0 at $DIR/matches_reduce_branches.rs:8:22: 8:26
+      debug bar => _1;                     // in scope 0 at $DIR/matches_reduce_branches.rs:+0:8: +0:11
+      let mut _0: ();                      // return place in scope 0 at $DIR/matches_reduce_branches.rs:+0:25: +0:25
+      let mut _2: isize;                   // in scope 0 at $DIR/matches_reduce_branches.rs:+1:22: +1:26
 +     let mut _3: isize;                   // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
   
       bb0: {
-          _2 = discriminant(_1);           // scope 0 at $DIR/matches_reduce_branches.rs:8:17: 8:20
+          _2 = discriminant(_1);           // scope 0 at $DIR/matches_reduce_branches.rs:+1:17: +1:20
 -         switchInt(move _2) -> [0_isize: bb2, otherwise: bb1]; // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
 -     }
 - 
@@ -24,7 +24,7 @@
 +         StorageLive(_3);                 // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
 +         _3 = move _2;                    // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
 +         StorageDead(_3);                 // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-          return;                          // scope 0 at $DIR/matches_reduce_branches.rs:11:2: 11:2
+          return;                          // scope 0 at $DIR/matches_reduce_branches.rs:+4:2: +4:2
       }
   }
   
index e3b318c949fc60594c76875f753fbae4d7123eb7..a36ec8de4a391886bdfa5a4c1b51b03403637623 100644 (file)
@@ -1,10 +1,10 @@
 // MIR for `foo` before PreCodegen
 
 fn foo(_1: Option<()>) -> () {
-    debug bar => _1;                     // in scope 0 at $DIR/matches_reduce_branches.rs:7:8: 7:11
-    let mut _0: ();                      // return place in scope 0 at $DIR/matches_reduce_branches.rs:7:25: 7:25
+    debug bar => _1;                     // in scope 0 at $DIR/matches_reduce_branches.rs:+0:8: +0:11
+    let mut _0: ();                      // return place in scope 0 at $DIR/matches_reduce_branches.rs:+0:25: +0:25
 
     bb0: {
-        return;                          // scope 0 at $DIR/matches_reduce_branches.rs:11:2: 11:2
+        return;                          // scope 0 at $DIR/matches_reduce_branches.rs:+4:2: +4:2
     }
 }
index e3b318c949fc60594c76875f753fbae4d7123eb7..a36ec8de4a391886bdfa5a4c1b51b03403637623 100644 (file)
@@ -1,10 +1,10 @@
 // MIR for `foo` before PreCodegen
 
 fn foo(_1: Option<()>) -> () {
-    debug bar => _1;                     // in scope 0 at $DIR/matches_reduce_branches.rs:7:8: 7:11
-    let mut _0: ();                      // return place in scope 0 at $DIR/matches_reduce_branches.rs:7:25: 7:25
+    debug bar => _1;                     // in scope 0 at $DIR/matches_reduce_branches.rs:+0:8: +0:11
+    let mut _0: ();                      // return place in scope 0 at $DIR/matches_reduce_branches.rs:+0:25: +0:25
 
     bb0: {
-        return;                          // scope 0 at $DIR/matches_reduce_branches.rs:11:2: 11:2
+        return;                          // scope 0 at $DIR/matches_reduce_branches.rs:+4:2: +4:2
     }
 }
index 2dfb2e1af0d63ca224d47dff8f2b7a4fb5630ab1..672c6b34e94b612b6c2c5d9f1d933aa56855df17 100644 (file)
@@ -2,41 +2,41 @@
 + // MIR for `match_nested_if` after MatchBranchSimplification
   
   fn match_nested_if() -> bool {
-      let mut _0: bool;                    // return place in scope 0 at $DIR/matches_reduce_branches.rs:39:25: 39:29
-      let _1: bool;                        // in scope 0 at $DIR/matches_reduce_branches.rs:40:9: 40:12
-      let mut _2: bool;                    // in scope 0 at $DIR/matches_reduce_branches.rs:41:24: 41:28
-+     let mut _3: bool;                    // in scope 0 at $DIR/matches_reduce_branches.rs:41:24: 41:28
+      let mut _0: bool;                    // return place in scope 0 at $DIR/matches_reduce_branches.rs:+0:25: +0:29
+      let _1: bool;                        // in scope 0 at $DIR/matches_reduce_branches.rs:+1:9: +1:12
+      let mut _2: bool;                    // in scope 0 at $DIR/matches_reduce_branches.rs:+2:24: +2:28
++     let mut _3: bool;                    // in scope 0 at $DIR/matches_reduce_branches.rs:+2:24: +2:28
       scope 1 {
-          debug val => _1;                 // in scope 1 at $DIR/matches_reduce_branches.rs:40:9: 40:12
+          debug val => _1;                 // in scope 1 at $DIR/matches_reduce_branches.rs:+1:9: +1:12
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/matches_reduce_branches.rs:40:9: 40:12
-          StorageLive(_2);                 // scope 0 at $DIR/matches_reduce_branches.rs:41:24: 41:28
-          _2 = const true;                 // scope 0 at $DIR/matches_reduce_branches.rs:41:24: 41:28
--         switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/matches_reduce_branches.rs:41:24: 41:28
+          StorageLive(_1);                 // scope 0 at $DIR/matches_reduce_branches.rs:+1:9: +1:12
+          StorageLive(_2);                 // scope 0 at $DIR/matches_reduce_branches.rs:+2:24: +2:28
+          _2 = const true;                 // scope 0 at $DIR/matches_reduce_branches.rs:+2:24: +2:28
+-         switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/matches_reduce_branches.rs:+2:24: +2:28
 -     }
 - 
 -     bb1: {
-+         StorageLive(_3);                 // scope 0 at $DIR/matches_reduce_branches.rs:41:24: 41:28
-+         _3 = move _2;                    // scope 0 at $DIR/matches_reduce_branches.rs:41:24: 41:28
-          StorageDead(_2);                 // scope 0 at $DIR/matches_reduce_branches.rs:41:51: 41:52
--         _1 = const true;                 // scope 0 at $DIR/matches_reduce_branches.rs:47:13: 47:17
--         goto -> bb3;                     // scope 0 at $DIR/matches_reduce_branches.rs:47:13: 47:17
++         StorageLive(_3);                 // scope 0 at $DIR/matches_reduce_branches.rs:+2:24: +2:28
++         _3 = move _2;                    // scope 0 at $DIR/matches_reduce_branches.rs:+2:24: +2:28
+          StorageDead(_2);                 // scope 0 at $DIR/matches_reduce_branches.rs:+2:51: +2:52
+-         _1 = const true;                 // scope 0 at $DIR/matches_reduce_branches.rs:+8:13: +8:17
+-         goto -> bb3;                     // scope 0 at $DIR/matches_reduce_branches.rs:+8:13: +8:17
 -     }
 - 
 -     bb2: {
--         StorageDead(_2);                 // scope 0 at $DIR/matches_reduce_branches.rs:41:51: 41:52
--         _1 = const false;                // scope 0 at $DIR/matches_reduce_branches.rs:49:14: 49:19
--         goto -> bb3;                     // scope 0 at $DIR/matches_reduce_branches.rs:49:14: 49:19
+-         StorageDead(_2);                 // scope 0 at $DIR/matches_reduce_branches.rs:+2:51: +2:52
+-         _1 = const false;                // scope 0 at $DIR/matches_reduce_branches.rs:+10:14: +10:19
+-         goto -> bb3;                     // scope 0 at $DIR/matches_reduce_branches.rs:+10:14: +10:19
 -     }
 - 
 -     bb3: {
-+         _1 = Ne(_3, const false);        // scope 0 at $DIR/matches_reduce_branches.rs:49:14: 49:19
-+         StorageDead(_3);                 // scope 0 at $DIR/matches_reduce_branches.rs:41:24: 41:28
-          _0 = _1;                         // scope 1 at $DIR/matches_reduce_branches.rs:51:5: 51:8
-          StorageDead(_1);                 // scope 0 at $DIR/matches_reduce_branches.rs:52:1: 52:2
-          return;                          // scope 0 at $DIR/matches_reduce_branches.rs:52:2: 52:2
++         _1 = Ne(_3, const false);        // scope 0 at $DIR/matches_reduce_branches.rs:+10:14: +10:19
++         StorageDead(_3);                 // scope 0 at $DIR/matches_reduce_branches.rs:+2:24: +2:28
+          _0 = _1;                         // scope 1 at $DIR/matches_reduce_branches.rs:+12:5: +12:8
+          StorageDead(_1);                 // scope 0 at $DIR/matches_reduce_branches.rs:+13:1: +13:2
+          return;                          // scope 0 at $DIR/matches_reduce_branches.rs:+13:2: +13:2
       }
   }
   
index 2dfb2e1af0d63ca224d47dff8f2b7a4fb5630ab1..672c6b34e94b612b6c2c5d9f1d933aa56855df17 100644 (file)
@@ -2,41 +2,41 @@
 + // MIR for `match_nested_if` after MatchBranchSimplification
   
   fn match_nested_if() -> bool {
-      let mut _0: bool;                    // return place in scope 0 at $DIR/matches_reduce_branches.rs:39:25: 39:29
-      let _1: bool;                        // in scope 0 at $DIR/matches_reduce_branches.rs:40:9: 40:12
-      let mut _2: bool;                    // in scope 0 at $DIR/matches_reduce_branches.rs:41:24: 41:28
-+     let mut _3: bool;                    // in scope 0 at $DIR/matches_reduce_branches.rs:41:24: 41:28
+      let mut _0: bool;                    // return place in scope 0 at $DIR/matches_reduce_branches.rs:+0:25: +0:29
+      let _1: bool;                        // in scope 0 at $DIR/matches_reduce_branches.rs:+1:9: +1:12
+      let mut _2: bool;                    // in scope 0 at $DIR/matches_reduce_branches.rs:+2:24: +2:28
++     let mut _3: bool;                    // in scope 0 at $DIR/matches_reduce_branches.rs:+2:24: +2:28
       scope 1 {
-          debug val => _1;                 // in scope 1 at $DIR/matches_reduce_branches.rs:40:9: 40:12
+          debug val => _1;                 // in scope 1 at $DIR/matches_reduce_branches.rs:+1:9: +1:12
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/matches_reduce_branches.rs:40:9: 40:12
-          StorageLive(_2);                 // scope 0 at $DIR/matches_reduce_branches.rs:41:24: 41:28
-          _2 = const true;                 // scope 0 at $DIR/matches_reduce_branches.rs:41:24: 41:28
--         switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/matches_reduce_branches.rs:41:24: 41:28
+          StorageLive(_1);                 // scope 0 at $DIR/matches_reduce_branches.rs:+1:9: +1:12
+          StorageLive(_2);                 // scope 0 at $DIR/matches_reduce_branches.rs:+2:24: +2:28
+          _2 = const true;                 // scope 0 at $DIR/matches_reduce_branches.rs:+2:24: +2:28
+-         switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/matches_reduce_branches.rs:+2:24: +2:28
 -     }
 - 
 -     bb1: {
-+         StorageLive(_3);                 // scope 0 at $DIR/matches_reduce_branches.rs:41:24: 41:28
-+         _3 = move _2;                    // scope 0 at $DIR/matches_reduce_branches.rs:41:24: 41:28
-          StorageDead(_2);                 // scope 0 at $DIR/matches_reduce_branches.rs:41:51: 41:52
--         _1 = const true;                 // scope 0 at $DIR/matches_reduce_branches.rs:47:13: 47:17
--         goto -> bb3;                     // scope 0 at $DIR/matches_reduce_branches.rs:47:13: 47:17
++         StorageLive(_3);                 // scope 0 at $DIR/matches_reduce_branches.rs:+2:24: +2:28
++         _3 = move _2;                    // scope 0 at $DIR/matches_reduce_branches.rs:+2:24: +2:28
+          StorageDead(_2);                 // scope 0 at $DIR/matches_reduce_branches.rs:+2:51: +2:52
+-         _1 = const true;                 // scope 0 at $DIR/matches_reduce_branches.rs:+8:13: +8:17
+-         goto -> bb3;                     // scope 0 at $DIR/matches_reduce_branches.rs:+8:13: +8:17
 -     }
 - 
 -     bb2: {
--         StorageDead(_2);                 // scope 0 at $DIR/matches_reduce_branches.rs:41:51: 41:52
--         _1 = const false;                // scope 0 at $DIR/matches_reduce_branches.rs:49:14: 49:19
--         goto -> bb3;                     // scope 0 at $DIR/matches_reduce_branches.rs:49:14: 49:19
+-         StorageDead(_2);                 // scope 0 at $DIR/matches_reduce_branches.rs:+2:51: +2:52
+-         _1 = const false;                // scope 0 at $DIR/matches_reduce_branches.rs:+10:14: +10:19
+-         goto -> bb3;                     // scope 0 at $DIR/matches_reduce_branches.rs:+10:14: +10:19
 -     }
 - 
 -     bb3: {
-+         _1 = Ne(_3, const false);        // scope 0 at $DIR/matches_reduce_branches.rs:49:14: 49:19
-+         StorageDead(_3);                 // scope 0 at $DIR/matches_reduce_branches.rs:41:24: 41:28
-          _0 = _1;                         // scope 1 at $DIR/matches_reduce_branches.rs:51:5: 51:8
-          StorageDead(_1);                 // scope 0 at $DIR/matches_reduce_branches.rs:52:1: 52:2
-          return;                          // scope 0 at $DIR/matches_reduce_branches.rs:52:2: 52:2
++         _1 = Ne(_3, const false);        // scope 0 at $DIR/matches_reduce_branches.rs:+10:14: +10:19
++         StorageDead(_3);                 // scope 0 at $DIR/matches_reduce_branches.rs:+2:24: +2:28
+          _0 = _1;                         // scope 1 at $DIR/matches_reduce_branches.rs:+12:5: +12:8
+          StorageDead(_1);                 // scope 0 at $DIR/matches_reduce_branches.rs:+13:1: +13:2
+          return;                          // scope 0 at $DIR/matches_reduce_branches.rs:+13:2: +13:2
       }
   }
   
index 711cc31f49f98cc7eea0e5e900e37abcb832e44d..c42657b3855775f2135957276b5a95eb361ae3b5 100644 (file)
@@ -2,27 +2,27 @@
 + // MIR for `exhaustive_match` after MatchBranchSimplification
   
   fn exhaustive_match(_1: E) -> u8 {
-      debug e => _1;                       // in scope 0 at $DIR/matches_u8.rs:11:25: 11:26
-      let mut _0: u8;                      // return place in scope 0 at $DIR/matches_u8.rs:11:34: 11:36
-      let mut _2: isize;                   // in scope 0 at $DIR/matches_u8.rs:13:9: 13:13
+      debug e => _1;                       // in scope 0 at $DIR/matches_u8.rs:+0:25: +0:26
+      let mut _0: u8;                      // return place in scope 0 at $DIR/matches_u8.rs:+0:34: +0:36
+      let mut _2: isize;                   // in scope 0 at $DIR/matches_u8.rs:+2:9: +2:13
   
       bb0: {
-          _2 = discriminant(_1);           // scope 0 at $DIR/matches_u8.rs:12:11: 12:12
-          switchInt(move _2) -> [0_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/matches_u8.rs:12:5: 12:12
+          _2 = discriminant(_1);           // scope 0 at $DIR/matches_u8.rs:+1:11: +1:12
+          switchInt(move _2) -> [0_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/matches_u8.rs:+1:5: +1:12
       }
   
       bb1: {
-          _0 = const 1_u8;                 // scope 0 at $DIR/matches_u8.rs:14:17: 14:18
-          goto -> bb3;                     // scope 0 at $DIR/matches_u8.rs:14:17: 14:18
+          _0 = const 1_u8;                 // scope 0 at $DIR/matches_u8.rs:+3:17: +3:18
+          goto -> bb3;                     // scope 0 at $DIR/matches_u8.rs:+3:17: +3:18
       }
   
       bb2: {
-          _0 = const 0_u8;                 // scope 0 at $DIR/matches_u8.rs:13:17: 13:18
-          goto -> bb3;                     // scope 0 at $DIR/matches_u8.rs:13:17: 13:18
+          _0 = const 0_u8;                 // scope 0 at $DIR/matches_u8.rs:+2:17: +2:18
+          goto -> bb3;                     // scope 0 at $DIR/matches_u8.rs:+2:17: +2:18
       }
   
       bb3: {
-          return;                          // scope 0 at $DIR/matches_u8.rs:16:2: 16:2
+          return;                          // scope 0 at $DIR/matches_u8.rs:+5:2: +5:2
       }
   }
   
index 711cc31f49f98cc7eea0e5e900e37abcb832e44d..c42657b3855775f2135957276b5a95eb361ae3b5 100644 (file)
@@ -2,27 +2,27 @@
 + // MIR for `exhaustive_match` after MatchBranchSimplification
   
   fn exhaustive_match(_1: E) -> u8 {
-      debug e => _1;                       // in scope 0 at $DIR/matches_u8.rs:11:25: 11:26
-      let mut _0: u8;                      // return place in scope 0 at $DIR/matches_u8.rs:11:34: 11:36
-      let mut _2: isize;                   // in scope 0 at $DIR/matches_u8.rs:13:9: 13:13
+      debug e => _1;                       // in scope 0 at $DIR/matches_u8.rs:+0:25: +0:26
+      let mut _0: u8;                      // return place in scope 0 at $DIR/matches_u8.rs:+0:34: +0:36
+      let mut _2: isize;                   // in scope 0 at $DIR/matches_u8.rs:+2:9: +2:13
   
       bb0: {
-          _2 = discriminant(_1);           // scope 0 at $DIR/matches_u8.rs:12:11: 12:12
-          switchInt(move _2) -> [0_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/matches_u8.rs:12:5: 12:12
+          _2 = discriminant(_1);           // scope 0 at $DIR/matches_u8.rs:+1:11: +1:12
+          switchInt(move _2) -> [0_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/matches_u8.rs:+1:5: +1:12
       }
   
       bb1: {
-          _0 = const 1_u8;                 // scope 0 at $DIR/matches_u8.rs:14:17: 14:18
-          goto -> bb3;                     // scope 0 at $DIR/matches_u8.rs:14:17: 14:18
+          _0 = const 1_u8;                 // scope 0 at $DIR/matches_u8.rs:+3:17: +3:18
+          goto -> bb3;                     // scope 0 at $DIR/matches_u8.rs:+3:17: +3:18
       }
   
       bb2: {
-          _0 = const 0_u8;                 // scope 0 at $DIR/matches_u8.rs:13:17: 13:18
-          goto -> bb3;                     // scope 0 at $DIR/matches_u8.rs:13:17: 13:18
+          _0 = const 0_u8;                 // scope 0 at $DIR/matches_u8.rs:+2:17: +2:18
+          goto -> bb3;                     // scope 0 at $DIR/matches_u8.rs:+2:17: +2:18
       }
   
       bb3: {
-          return;                          // scope 0 at $DIR/matches_u8.rs:16:2: 16:2
+          return;                          // scope 0 at $DIR/matches_u8.rs:+5:2: +5:2
       }
   }
   
index 6bdeccbf913e65ce593cc233ed47feda300be2fe..a4ff2e437db24080a41b2809c3b49bdb92015527 100644 (file)
@@ -2,27 +2,27 @@
 + // MIR for `exhaustive_match_i8` after MatchBranchSimplification
   
   fn exhaustive_match_i8(_1: E) -> i8 {
-      debug e => _1;                       // in scope 0 at $DIR/matches_u8.rs:19:28: 19:29
-      let mut _0: i8;                      // return place in scope 0 at $DIR/matches_u8.rs:19:37: 19:39
-      let mut _2: isize;                   // in scope 0 at $DIR/matches_u8.rs:21:9: 21:13
+      debug e => _1;                       // in scope 0 at $DIR/matches_u8.rs:+0:28: +0:29
+      let mut _0: i8;                      // return place in scope 0 at $DIR/matches_u8.rs:+0:37: +0:39
+      let mut _2: isize;                   // in scope 0 at $DIR/matches_u8.rs:+2:9: +2:13
   
       bb0: {
-          _2 = discriminant(_1);           // scope 0 at $DIR/matches_u8.rs:20:11: 20:12
-          switchInt(move _2) -> [0_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/matches_u8.rs:20:5: 20:12
+          _2 = discriminant(_1);           // scope 0 at $DIR/matches_u8.rs:+1:11: +1:12
+          switchInt(move _2) -> [0_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/matches_u8.rs:+1:5: +1:12
       }
   
       bb1: {
-          _0 = const 1_i8;                 // scope 0 at $DIR/matches_u8.rs:22:17: 22:18
-          goto -> bb3;                     // scope 0 at $DIR/matches_u8.rs:22:17: 22:18
+          _0 = const 1_i8;                 // scope 0 at $DIR/matches_u8.rs:+3:17: +3:18
+          goto -> bb3;                     // scope 0 at $DIR/matches_u8.rs:+3:17: +3:18
       }
   
       bb2: {
-          _0 = const 0_i8;                 // scope 0 at $DIR/matches_u8.rs:21:17: 21:18
-          goto -> bb3;                     // scope 0 at $DIR/matches_u8.rs:21:17: 21:18
+          _0 = const 0_i8;                 // scope 0 at $DIR/matches_u8.rs:+2:17: +2:18
+          goto -> bb3;                     // scope 0 at $DIR/matches_u8.rs:+2:17: +2:18
       }
   
       bb3: {
-          return;                          // scope 0 at $DIR/matches_u8.rs:24:2: 24:2
+          return;                          // scope 0 at $DIR/matches_u8.rs:+5:2: +5:2
       }
   }
   
index 6bdeccbf913e65ce593cc233ed47feda300be2fe..a4ff2e437db24080a41b2809c3b49bdb92015527 100644 (file)
@@ -2,27 +2,27 @@
 + // MIR for `exhaustive_match_i8` after MatchBranchSimplification
   
   fn exhaustive_match_i8(_1: E) -> i8 {
-      debug e => _1;                       // in scope 0 at $DIR/matches_u8.rs:19:28: 19:29
-      let mut _0: i8;                      // return place in scope 0 at $DIR/matches_u8.rs:19:37: 19:39
-      let mut _2: isize;                   // in scope 0 at $DIR/matches_u8.rs:21:9: 21:13
+      debug e => _1;                       // in scope 0 at $DIR/matches_u8.rs:+0:28: +0:29
+      let mut _0: i8;                      // return place in scope 0 at $DIR/matches_u8.rs:+0:37: +0:39
+      let mut _2: isize;                   // in scope 0 at $DIR/matches_u8.rs:+2:9: +2:13
   
       bb0: {
-          _2 = discriminant(_1);           // scope 0 at $DIR/matches_u8.rs:20:11: 20:12
-          switchInt(move _2) -> [0_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/matches_u8.rs:20:5: 20:12
+          _2 = discriminant(_1);           // scope 0 at $DIR/matches_u8.rs:+1:11: +1:12
+          switchInt(move _2) -> [0_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/matches_u8.rs:+1:5: +1:12
       }
   
       bb1: {
-          _0 = const 1_i8;                 // scope 0 at $DIR/matches_u8.rs:22:17: 22:18
-          goto -> bb3;                     // scope 0 at $DIR/matches_u8.rs:22:17: 22:18
+          _0 = const 1_i8;                 // scope 0 at $DIR/matches_u8.rs:+3:17: +3:18
+          goto -> bb3;                     // scope 0 at $DIR/matches_u8.rs:+3:17: +3:18
       }
   
       bb2: {
-          _0 = const 0_i8;                 // scope 0 at $DIR/matches_u8.rs:21:17: 21:18
-          goto -> bb3;                     // scope 0 at $DIR/matches_u8.rs:21:17: 21:18
+          _0 = const 0_i8;                 // scope 0 at $DIR/matches_u8.rs:+2:17: +2:18
+          goto -> bb3;                     // scope 0 at $DIR/matches_u8.rs:+2:17: +2:18
       }
   
       bb3: {
-          return;                          // scope 0 at $DIR/matches_u8.rs:24:2: 24:2
+          return;                          // scope 0 at $DIR/matches_u8.rs:+5:2: +5:2
       }
   }
   
index dbcb8813d545857da9bcc62dbec81ee5212bd97d..48a11c950639a945fa4bc706e8985c33cf07a843 100644 (file)
@@ -2,11 +2,11 @@
 + // MIR for `test` after MultipleReturnTerminators
   
   fn test(_1: bool) -> () {
-      debug x => _1;                       // in scope 0 at $DIR/multiple_return_terminators.rs:4:9: 4:10
-      let mut _0: ();                      // return place in scope 0 at $DIR/multiple_return_terminators.rs:4:18: 4:18
+      debug x => _1;                       // in scope 0 at $DIR/multiple_return_terminators.rs:+0:9: +0:10
+      let mut _0: ();                      // return place in scope 0 at $DIR/multiple_return_terminators.rs:+0:18: +0:18
   
       bb0: {
-          return;                          // scope 0 at $DIR/multiple_return_terminators.rs:10:2: 10:2
+          return;                          // scope 0 at $DIR/multiple_return_terminators.rs:+6:2: +6:2
       }
   }
   
index 8423128123ab76e108fcee5a8866a21ff2d1287d..cbfdf8c5d5639534007a373dd7ee25f7ce936b4a 100644 (file)
 | '_#9r: '_#3r due to BoringNoLocation at All($DIR/named-lifetimes-basic.rs:12:66: 12:67) ($DIR/named-lifetimes-basic.rs:12:66: 12:67 (#0)
 |
 fn use_x(_1: &'_#6r mut i32, _2: &'_#7r u32, _3: &'_#8r u32, _4: &'_#9r u32) -> bool {
-    debug w => _1;                       // in scope 0 at $DIR/named-lifetimes-basic.rs:12:26: 12:27
-    debug x => _2;                       // in scope 0 at $DIR/named-lifetimes-basic.rs:12:42: 12:43
-    debug y => _3;                       // in scope 0 at $DIR/named-lifetimes-basic.rs:12:54: 12:55
-    debug z => _4;                       // in scope 0 at $DIR/named-lifetimes-basic.rs:12:66: 12:67
-    let mut _0: bool;                    // return place in scope 0 at $DIR/named-lifetimes-basic.rs:12:81: 12:85
+    debug w => _1;                       // in scope 0 at $DIR/named-lifetimes-basic.rs:+0:26: +0:27
+    debug x => _2;                       // in scope 0 at $DIR/named-lifetimes-basic.rs:+0:42: +0:43
+    debug y => _3;                       // in scope 0 at $DIR/named-lifetimes-basic.rs:+0:54: +0:55
+    debug z => _4;                       // in scope 0 at $DIR/named-lifetimes-basic.rs:+0:66: +0:67
+    let mut _0: bool;                    // return place in scope 0 at $DIR/named-lifetimes-basic.rs:+0:81: +0:85
 
     bb0: {
-        _0 = const ConstValue(Scalar(0x01): bool); // bb0[0]: scope 0 at $DIR/named-lifetimes-basic.rs:12:88: 12:92
-        return;                          // bb0[1]: scope 0 at $DIR/named-lifetimes-basic.rs:12:94: 12:94
+        _0 = const ConstValue(Scalar(0x01): bool); // bb0[0]: scope 0 at $DIR/named-lifetimes-basic.rs:+0:88: +0:92
+        return;                          // bb0[1]: scope 0 at $DIR/named-lifetimes-basic.rs:+0:94: +0:94
     }
 }
index e1d870ef9a4e97362a6f22b5554dcd31a5ed16c5..55e7faf9ee47bde7e825b35863979454b15584d5 100644 (file)
 | '_#4r: '_#5r due to Assignment at Single(bb1[3]) ($DIR/region-subtyping-basic.rs:19:13: 19:14 (#0)
 |
 fn main() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/region-subtyping-basic.rs:16:11: 16:11
-    let mut _1: [usize; Const { ty: usize, kind: Value(Leaf(0x00000003)) }]; // in scope 0 at $DIR/region-subtyping-basic.rs:17:9: 17:14
-    let _3: usize;                       // in scope 0 at $DIR/region-subtyping-basic.rs:18:16: 18:17
-    let mut _4: usize;                   // in scope 0 at $DIR/region-subtyping-basic.rs:18:14: 18:18
-    let mut _5: bool;                    // in scope 0 at $DIR/region-subtyping-basic.rs:18:14: 18:18
-    let mut _7: bool;                    // in scope 0 at $DIR/region-subtyping-basic.rs:20:8: 20:12
-    let _8: bool;                        // in scope 0 at $DIR/region-subtyping-basic.rs:21:9: 21:18
-    let mut _9: usize;                   // in scope 0 at $DIR/region-subtyping-basic.rs:21:15: 21:17
-    let _10: bool;                       // in scope 0 at $DIR/region-subtyping-basic.rs:23:9: 23:18
+    let mut _0: ();                      // return place in scope 0 at $DIR/region-subtyping-basic.rs:+0:11: +0:11
+    let mut _1: [usize; Const { ty: usize, kind: Value(Leaf(0x00000003)) }]; // in scope 0 at $DIR/region-subtyping-basic.rs:+1:9: +1:14
+    let _3: usize;                       // in scope 0 at $DIR/region-subtyping-basic.rs:+2:16: +2:17
+    let mut _4: usize;                   // in scope 0 at $DIR/region-subtyping-basic.rs:+2:14: +2:18
+    let mut _5: bool;                    // in scope 0 at $DIR/region-subtyping-basic.rs:+2:14: +2:18
+    let mut _7: bool;                    // in scope 0 at $DIR/region-subtyping-basic.rs:+4:8: +4:12
+    let _8: bool;                        // in scope 0 at $DIR/region-subtyping-basic.rs:+5:9: +5:18
+    let mut _9: usize;                   // in scope 0 at $DIR/region-subtyping-basic.rs:+5:15: +5:17
+    let _10: bool;                       // in scope 0 at $DIR/region-subtyping-basic.rs:+7:9: +7:18
     scope 1 {
-        debug v => _1;                   // in scope 1 at $DIR/region-subtyping-basic.rs:17:9: 17:14
-        let _2: &'_#4r usize;            // in scope 1 at $DIR/region-subtyping-basic.rs:18:9: 18:10
+        debug v => _1;                   // in scope 1 at $DIR/region-subtyping-basic.rs:+1:9: +1:14
+        let _2: &'_#4r usize;            // in scope 1 at $DIR/region-subtyping-basic.rs:+2:9: +2:10
         scope 2 {
-            debug p => _2;               // in scope 2 at $DIR/region-subtyping-basic.rs:18:9: 18:10
-            let _6: &'_#5r usize;        // in scope 2 at $DIR/region-subtyping-basic.rs:19:9: 19:10
+            debug p => _2;               // in scope 2 at $DIR/region-subtyping-basic.rs:+2:9: +2:10
+            let _6: &'_#5r usize;        // in scope 2 at $DIR/region-subtyping-basic.rs:+3:9: +3:10
             scope 3 {
-                debug q => _6;           // in scope 3 at $DIR/region-subtyping-basic.rs:19:9: 19:10
+                debug q => _6;           // in scope 3 at $DIR/region-subtyping-basic.rs:+3:9: +3:10
             }
         }
     }
 
     bb0: {
-        StorageLive(_1);                 // bb0[0]: scope 0 at $DIR/region-subtyping-basic.rs:17:9: 17:14
-        _1 = [const ConstValue(Scalar(0x00000001): usize), const ConstValue(Scalar(0x00000002): usize), const ConstValue(Scalar(0x00000003): usize)]; // bb0[1]: scope 0 at $DIR/region-subtyping-basic.rs:17:17: 17:26
-        FakeRead(ForLet(None), _1);      // bb0[2]: scope 0 at $DIR/region-subtyping-basic.rs:17:9: 17:14
-        StorageLive(_2);                 // bb0[3]: scope 1 at $DIR/region-subtyping-basic.rs:18:9: 18:10
-        StorageLive(_3);                 // bb0[4]: scope 1 at $DIR/region-subtyping-basic.rs:18:16: 18:17
-        _3 = const ConstValue(Scalar(0x00000000): usize); // bb0[5]: scope 1 at $DIR/region-subtyping-basic.rs:18:16: 18:17
-        _4 = Len(_1);                    // bb0[6]: scope 1 at $DIR/region-subtyping-basic.rs:18:14: 18:18
-        _5 = Lt(_3, _4);                 // bb0[7]: scope 1 at $DIR/region-subtyping-basic.rs:18:14: 18:18
-        assert(move _5, "index out of bounds: the length is {} but the index is {}", move _4, _3) -> [success: bb1, unwind: bb7]; // bb0[8]: scope 1 at $DIR/region-subtyping-basic.rs:18:14: 18:18
+        StorageLive(_1);                 // bb0[0]: scope 0 at $DIR/region-subtyping-basic.rs:+1:9: +1:14
+        _1 = [const ConstValue(Scalar(0x00000001): usize), const ConstValue(Scalar(0x00000002): usize), const ConstValue(Scalar(0x00000003): usize)]; // bb0[1]: scope 0 at $DIR/region-subtyping-basic.rs:+1:17: +1:26
+        FakeRead(ForLet(None), _1);      // bb0[2]: scope 0 at $DIR/region-subtyping-basic.rs:+1:9: +1:14
+        StorageLive(_2);                 // bb0[3]: scope 1 at $DIR/region-subtyping-basic.rs:+2:9: +2:10
+        StorageLive(_3);                 // bb0[4]: scope 1 at $DIR/region-subtyping-basic.rs:+2:16: +2:17
+        _3 = const ConstValue(Scalar(0x00000000): usize); // bb0[5]: scope 1 at $DIR/region-subtyping-basic.rs:+2:16: +2:17
+        _4 = Len(_1);                    // bb0[6]: scope 1 at $DIR/region-subtyping-basic.rs:+2:14: +2:18
+        _5 = Lt(_3, _4);                 // bb0[7]: scope 1 at $DIR/region-subtyping-basic.rs:+2:14: +2:18
+        assert(move _5, "index out of bounds: the length is {} but the index is {}", move _4, _3) -> [success: bb1, unwind: bb7]; // bb0[8]: scope 1 at $DIR/region-subtyping-basic.rs:+2:14: +2:18
     }
 
     bb1: {
-        _2 = &'_#3r _1[_3];              // bb1[0]: scope 1 at $DIR/region-subtyping-basic.rs:18:13: 18:18
-        FakeRead(ForLet(None), _2);      // bb1[1]: scope 1 at $DIR/region-subtyping-basic.rs:18:9: 18:10
-        StorageLive(_6);                 // bb1[2]: scope 2 at $DIR/region-subtyping-basic.rs:19:9: 19:10
-        _6 = _2;                         // bb1[3]: scope 2 at $DIR/region-subtyping-basic.rs:19:13: 19:14
-        FakeRead(ForLet(None), _6);      // bb1[4]: scope 2 at $DIR/region-subtyping-basic.rs:19:9: 19:10
-        StorageLive(_7);                 // bb1[5]: scope 3 at $DIR/region-subtyping-basic.rs:20:8: 20:12
-        _7 = const ConstValue(Scalar(0x01): bool); // bb1[6]: scope 3 at $DIR/region-subtyping-basic.rs:20:8: 20:12
-        switchInt(move _7) -> [ConstValue(Scalar(0x00): bool): bb4, otherwise: bb2]; // bb1[7]: scope 3 at $DIR/region-subtyping-basic.rs:20:8: 20:12
+        _2 = &'_#3r _1[_3];              // bb1[0]: scope 1 at $DIR/region-subtyping-basic.rs:+2:13: +2:18
+        FakeRead(ForLet(None), _2);      // bb1[1]: scope 1 at $DIR/region-subtyping-basic.rs:+2:9: +2:10
+        StorageLive(_6);                 // bb1[2]: scope 2 at $DIR/region-subtyping-basic.rs:+3:9: +3:10
+        _6 = _2;                         // bb1[3]: scope 2 at $DIR/region-subtyping-basic.rs:+3:13: +3:14
+        FakeRead(ForLet(None), _6);      // bb1[4]: scope 2 at $DIR/region-subtyping-basic.rs:+3:9: +3:10
+        StorageLive(_7);                 // bb1[5]: scope 3 at $DIR/region-subtyping-basic.rs:+4:8: +4:12
+        _7 = const ConstValue(Scalar(0x01): bool); // bb1[6]: scope 3 at $DIR/region-subtyping-basic.rs:+4:8: +4:12
+        switchInt(move _7) -> [ConstValue(Scalar(0x00): bool): bb4, otherwise: bb2]; // bb1[7]: scope 3 at $DIR/region-subtyping-basic.rs:+4:8: +4:12
     }
 
     bb2: {
-        StorageLive(_8);                 // bb2[0]: scope 3 at $DIR/region-subtyping-basic.rs:21:9: 21:18
-        StorageLive(_9);                 // bb2[1]: scope 3 at $DIR/region-subtyping-basic.rs:21:15: 21:17
-        _9 = (*_6);                      // bb2[2]: scope 3 at $DIR/region-subtyping-basic.rs:21:15: 21:17
-        _8 = ConstValue(ZeroSized: fn(usize) -> bool {use_x})(move _9) -> [return: bb3, unwind: bb7]; // bb2[3]: scope 3 at $DIR/region-subtyping-basic.rs:21:9: 21:18
+        StorageLive(_8);                 // bb2[0]: scope 3 at $DIR/region-subtyping-basic.rs:+5:9: +5:18
+        StorageLive(_9);                 // bb2[1]: scope 3 at $DIR/region-subtyping-basic.rs:+5:15: +5:17
+        _9 = (*_6);                      // bb2[2]: scope 3 at $DIR/region-subtyping-basic.rs:+5:15: +5:17
+        _8 = ConstValue(ZeroSized: fn(usize) -> bool {use_x})(move _9) -> [return: bb3, unwind: bb7]; // bb2[3]: scope 3 at $DIR/region-subtyping-basic.rs:+5:9: +5:18
                                          // mir::Constant
                                          // + span: $DIR/region-subtyping-basic.rs:21:9: 21:14
                                          // + literal: Const { ty: fn(usize) -> bool {use_x}, val: Value(<ZST>) }
     }
 
     bb3: {
-        StorageDead(_9);                 // bb3[0]: scope 3 at $DIR/region-subtyping-basic.rs:21:17: 21:18
-        StorageDead(_8);                 // bb3[1]: scope 3 at $DIR/region-subtyping-basic.rs:21:18: 21:19
-        _0 = const ConstValue(ZeroSized: ()); // bb3[2]: scope 3 at $DIR/region-subtyping-basic.rs:20:13: 22:6
-        goto -> bb6;                     // bb3[3]: scope 3 at $DIR/region-subtyping-basic.rs:20:5: 24:6
+        StorageDead(_9);                 // bb3[0]: scope 3 at $DIR/region-subtyping-basic.rs:+5:17: +5:18
+        StorageDead(_8);                 // bb3[1]: scope 3 at $DIR/region-subtyping-basic.rs:+5:18: +5:19
+        _0 = const ConstValue(ZeroSized: ()); // bb3[2]: scope 3 at $DIR/region-subtyping-basic.rs:+4:13: +6:6
+        goto -> bb6;                     // bb3[3]: scope 3 at $DIR/region-subtyping-basic.rs:+4:5: +8:6
     }
 
     bb4: {
-        StorageLive(_10);                // bb4[0]: scope 3 at $DIR/region-subtyping-basic.rs:23:9: 23:18
-        _10 = ConstValue(ZeroSized: fn(usize) -> bool {use_x})(const ConstValue(Scalar(0x00000016): usize)) -> [return: bb5, unwind: bb7]; // bb4[1]: scope 3 at $DIR/region-subtyping-basic.rs:23:9: 23:18
+        StorageLive(_10);                // bb4[0]: scope 3 at $DIR/region-subtyping-basic.rs:+7:9: +7:18
+        _10 = ConstValue(ZeroSized: fn(usize) -> bool {use_x})(const ConstValue(Scalar(0x00000016): usize)) -> [return: bb5, unwind: bb7]; // bb4[1]: scope 3 at $DIR/region-subtyping-basic.rs:+7:9: +7:18
                                          // mir::Constant
                                          // + span: $DIR/region-subtyping-basic.rs:23:9: 23:14
                                          // + literal: Const { ty: fn(usize) -> bool {use_x}, val: Value(<ZST>) }
     }
 
     bb5: {
-        StorageDead(_10);                // bb5[0]: scope 3 at $DIR/region-subtyping-basic.rs:23:18: 23:19
-        _0 = const ConstValue(ZeroSized: ()); // bb5[1]: scope 3 at $DIR/region-subtyping-basic.rs:22:12: 24:6
-        goto -> bb6;                     // bb5[2]: scope 3 at $DIR/region-subtyping-basic.rs:20:5: 24:6
+        StorageDead(_10);                // bb5[0]: scope 3 at $DIR/region-subtyping-basic.rs:+7:18: +7:19
+        _0 = const ConstValue(ZeroSized: ()); // bb5[1]: scope 3 at $DIR/region-subtyping-basic.rs:+6:12: +8:6
+        goto -> bb6;                     // bb5[2]: scope 3 at $DIR/region-subtyping-basic.rs:+4:5: +8:6
     }
 
     bb6: {
-        StorageDead(_7);                 // bb6[0]: scope 3 at $DIR/region-subtyping-basic.rs:24:5: 24:6
-        StorageDead(_6);                 // bb6[1]: scope 2 at $DIR/region-subtyping-basic.rs:25:1: 25:2
-        StorageDead(_3);                 // bb6[2]: scope 1 at $DIR/region-subtyping-basic.rs:25:1: 25:2
-        StorageDead(_2);                 // bb6[3]: scope 1 at $DIR/region-subtyping-basic.rs:25:1: 25:2
-        StorageDead(_1);                 // bb6[4]: scope 0 at $DIR/region-subtyping-basic.rs:25:1: 25:2
-        return;                          // bb6[5]: scope 0 at $DIR/region-subtyping-basic.rs:25:2: 25:2
+        StorageDead(_7);                 // bb6[0]: scope 3 at $DIR/region-subtyping-basic.rs:+8:5: +8:6
+        StorageDead(_6);                 // bb6[1]: scope 2 at $DIR/region-subtyping-basic.rs:+9:1: +9:2
+        StorageDead(_3);                 // bb6[2]: scope 1 at $DIR/region-subtyping-basic.rs:+9:1: +9:2
+        StorageDead(_2);                 // bb6[3]: scope 1 at $DIR/region-subtyping-basic.rs:+9:1: +9:2
+        StorageDead(_1);                 // bb6[4]: scope 0 at $DIR/region-subtyping-basic.rs:+9:1: +9:2
+        return;                          // bb6[5]: scope 0 at $DIR/region-subtyping-basic.rs:+9:2: +9:2
     }
 
     bb7 (cleanup): {
-        resume;                          // bb7[0]: scope 0 at $DIR/region-subtyping-basic.rs:16:1: 25:2
+        resume;                          // bb7[0]: scope 0 at $DIR/region-subtyping-basic.rs:+0:1: +9:2
     }
 }
index 2f9dff00b631b4b79b83fd72f2d4b869e194c9eb..2647c94335f871f26fe2a85f8ad9f4491d2a8c39 100644 (file)
 | '_#4r: '_#5r due to Assignment at Single(bb1[3]) ($DIR/region-subtyping-basic.rs:19:13: 19:14 (#0)
 |
 fn main() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/region-subtyping-basic.rs:16:11: 16:11
-    let mut _1: [usize; Const { ty: usize, kind: Value(Leaf(0x0000000000000003)) }]; // in scope 0 at $DIR/region-subtyping-basic.rs:17:9: 17:14
-    let _3: usize;                       // in scope 0 at $DIR/region-subtyping-basic.rs:18:16: 18:17
-    let mut _4: usize;                   // in scope 0 at $DIR/region-subtyping-basic.rs:18:14: 18:18
-    let mut _5: bool;                    // in scope 0 at $DIR/region-subtyping-basic.rs:18:14: 18:18
-    let mut _7: bool;                    // in scope 0 at $DIR/region-subtyping-basic.rs:20:8: 20:12
-    let _8: bool;                        // in scope 0 at $DIR/region-subtyping-basic.rs:21:9: 21:18
-    let mut _9: usize;                   // in scope 0 at $DIR/region-subtyping-basic.rs:21:15: 21:17
-    let _10: bool;                       // in scope 0 at $DIR/region-subtyping-basic.rs:23:9: 23:18
+    let mut _0: ();                      // return place in scope 0 at $DIR/region-subtyping-basic.rs:+0:11: +0:11
+    let mut _1: [usize; Const { ty: usize, kind: Value(Leaf(0x0000000000000003)) }]; // in scope 0 at $DIR/region-subtyping-basic.rs:+1:9: +1:14
+    let _3: usize;                       // in scope 0 at $DIR/region-subtyping-basic.rs:+2:16: +2:17
+    let mut _4: usize;                   // in scope 0 at $DIR/region-subtyping-basic.rs:+2:14: +2:18
+    let mut _5: bool;                    // in scope 0 at $DIR/region-subtyping-basic.rs:+2:14: +2:18
+    let mut _7: bool;                    // in scope 0 at $DIR/region-subtyping-basic.rs:+4:8: +4:12
+    let _8: bool;                        // in scope 0 at $DIR/region-subtyping-basic.rs:+5:9: +5:18
+    let mut _9: usize;                   // in scope 0 at $DIR/region-subtyping-basic.rs:+5:15: +5:17
+    let _10: bool;                       // in scope 0 at $DIR/region-subtyping-basic.rs:+7:9: +7:18
     scope 1 {
-        debug v => _1;                   // in scope 1 at $DIR/region-subtyping-basic.rs:17:9: 17:14
-        let _2: &'_#4r usize;            // in scope 1 at $DIR/region-subtyping-basic.rs:18:9: 18:10
+        debug v => _1;                   // in scope 1 at $DIR/region-subtyping-basic.rs:+1:9: +1:14
+        let _2: &'_#4r usize;            // in scope 1 at $DIR/region-subtyping-basic.rs:+2:9: +2:10
         scope 2 {
-            debug p => _2;               // in scope 2 at $DIR/region-subtyping-basic.rs:18:9: 18:10
-            let _6: &'_#5r usize;        // in scope 2 at $DIR/region-subtyping-basic.rs:19:9: 19:10
+            debug p => _2;               // in scope 2 at $DIR/region-subtyping-basic.rs:+2:9: +2:10
+            let _6: &'_#5r usize;        // in scope 2 at $DIR/region-subtyping-basic.rs:+3:9: +3:10
             scope 3 {
-                debug q => _6;           // in scope 3 at $DIR/region-subtyping-basic.rs:19:9: 19:10
+                debug q => _6;           // in scope 3 at $DIR/region-subtyping-basic.rs:+3:9: +3:10
             }
         }
     }
 
     bb0: {
-        StorageLive(_1);                 // bb0[0]: scope 0 at $DIR/region-subtyping-basic.rs:17:9: 17:14
-        _1 = [const ConstValue(Scalar(0x0000000000000001): usize), const ConstValue(Scalar(0x0000000000000002): usize), const ConstValue(Scalar(0x0000000000000003): usize)]; // bb0[1]: scope 0 at $DIR/region-subtyping-basic.rs:17:17: 17:26
-        FakeRead(ForLet(None), _1);      // bb0[2]: scope 0 at $DIR/region-subtyping-basic.rs:17:9: 17:14
-        StorageLive(_2);                 // bb0[3]: scope 1 at $DIR/region-subtyping-basic.rs:18:9: 18:10
-        StorageLive(_3);                 // bb0[4]: scope 1 at $DIR/region-subtyping-basic.rs:18:16: 18:17
-        _3 = const ConstValue(Scalar(0x0000000000000000): usize); // bb0[5]: scope 1 at $DIR/region-subtyping-basic.rs:18:16: 18:17
-        _4 = Len(_1);                    // bb0[6]: scope 1 at $DIR/region-subtyping-basic.rs:18:14: 18:18
-        _5 = Lt(_3, _4);                 // bb0[7]: scope 1 at $DIR/region-subtyping-basic.rs:18:14: 18:18
-        assert(move _5, "index out of bounds: the length is {} but the index is {}", move _4, _3) -> [success: bb1, unwind: bb7]; // bb0[8]: scope 1 at $DIR/region-subtyping-basic.rs:18:14: 18:18
+        StorageLive(_1);                 // bb0[0]: scope 0 at $DIR/region-subtyping-basic.rs:+1:9: +1:14
+        _1 = [const ConstValue(Scalar(0x0000000000000001): usize), const ConstValue(Scalar(0x0000000000000002): usize), const ConstValue(Scalar(0x0000000000000003): usize)]; // bb0[1]: scope 0 at $DIR/region-subtyping-basic.rs:+1:17: +1:26
+        FakeRead(ForLet(None), _1);      // bb0[2]: scope 0 at $DIR/region-subtyping-basic.rs:+1:9: +1:14
+        StorageLive(_2);                 // bb0[3]: scope 1 at $DIR/region-subtyping-basic.rs:+2:9: +2:10
+        StorageLive(_3);                 // bb0[4]: scope 1 at $DIR/region-subtyping-basic.rs:+2:16: +2:17
+        _3 = const ConstValue(Scalar(0x0000000000000000): usize); // bb0[5]: scope 1 at $DIR/region-subtyping-basic.rs:+2:16: +2:17
+        _4 = Len(_1);                    // bb0[6]: scope 1 at $DIR/region-subtyping-basic.rs:+2:14: +2:18
+        _5 = Lt(_3, _4);                 // bb0[7]: scope 1 at $DIR/region-subtyping-basic.rs:+2:14: +2:18
+        assert(move _5, "index out of bounds: the length is {} but the index is {}", move _4, _3) -> [success: bb1, unwind: bb7]; // bb0[8]: scope 1 at $DIR/region-subtyping-basic.rs:+2:14: +2:18
     }
 
     bb1: {
-        _2 = &'_#3r _1[_3];              // bb1[0]: scope 1 at $DIR/region-subtyping-basic.rs:18:13: 18:18
-        FakeRead(ForLet(None), _2);      // bb1[1]: scope 1 at $DIR/region-subtyping-basic.rs:18:9: 18:10
-        StorageLive(_6);                 // bb1[2]: scope 2 at $DIR/region-subtyping-basic.rs:19:9: 19:10
-        _6 = _2;                         // bb1[3]: scope 2 at $DIR/region-subtyping-basic.rs:19:13: 19:14
-        FakeRead(ForLet(None), _6);      // bb1[4]: scope 2 at $DIR/region-subtyping-basic.rs:19:9: 19:10
-        StorageLive(_7);                 // bb1[5]: scope 3 at $DIR/region-subtyping-basic.rs:20:8: 20:12
-        _7 = const ConstValue(Scalar(0x01): bool); // bb1[6]: scope 3 at $DIR/region-subtyping-basic.rs:20:8: 20:12
-        switchInt(move _7) -> [ConstValue(Scalar(0x00): bool): bb4, otherwise: bb2]; // bb1[7]: scope 3 at $DIR/region-subtyping-basic.rs:20:8: 20:12
+        _2 = &'_#3r _1[_3];              // bb1[0]: scope 1 at $DIR/region-subtyping-basic.rs:+2:13: +2:18
+        FakeRead(ForLet(None), _2);      // bb1[1]: scope 1 at $DIR/region-subtyping-basic.rs:+2:9: +2:10
+        StorageLive(_6);                 // bb1[2]: scope 2 at $DIR/region-subtyping-basic.rs:+3:9: +3:10
+        _6 = _2;                         // bb1[3]: scope 2 at $DIR/region-subtyping-basic.rs:+3:13: +3:14
+        FakeRead(ForLet(None), _6);      // bb1[4]: scope 2 at $DIR/region-subtyping-basic.rs:+3:9: +3:10
+        StorageLive(_7);                 // bb1[5]: scope 3 at $DIR/region-subtyping-basic.rs:+4:8: +4:12
+        _7 = const ConstValue(Scalar(0x01): bool); // bb1[6]: scope 3 at $DIR/region-subtyping-basic.rs:+4:8: +4:12
+        switchInt(move _7) -> [ConstValue(Scalar(0x00): bool): bb4, otherwise: bb2]; // bb1[7]: scope 3 at $DIR/region-subtyping-basic.rs:+4:8: +4:12
     }
 
     bb2: {
-        StorageLive(_8);                 // bb2[0]: scope 3 at $DIR/region-subtyping-basic.rs:21:9: 21:18
-        StorageLive(_9);                 // bb2[1]: scope 3 at $DIR/region-subtyping-basic.rs:21:15: 21:17
-        _9 = (*_6);                      // bb2[2]: scope 3 at $DIR/region-subtyping-basic.rs:21:15: 21:17
-        _8 = ConstValue(ZeroSized: fn(usize) -> bool {use_x})(move _9) -> [return: bb3, unwind: bb7]; // bb2[3]: scope 3 at $DIR/region-subtyping-basic.rs:21:9: 21:18
+        StorageLive(_8);                 // bb2[0]: scope 3 at $DIR/region-subtyping-basic.rs:+5:9: +5:18
+        StorageLive(_9);                 // bb2[1]: scope 3 at $DIR/region-subtyping-basic.rs:+5:15: +5:17
+        _9 = (*_6);                      // bb2[2]: scope 3 at $DIR/region-subtyping-basic.rs:+5:15: +5:17
+        _8 = ConstValue(ZeroSized: fn(usize) -> bool {use_x})(move _9) -> [return: bb3, unwind: bb7]; // bb2[3]: scope 3 at $DIR/region-subtyping-basic.rs:+5:9: +5:18
                                          // mir::Constant
                                          // + span: $DIR/region-subtyping-basic.rs:21:9: 21:14
                                          // + literal: Const { ty: fn(usize) -> bool {use_x}, val: Value(<ZST>) }
     }
 
     bb3: {
-        StorageDead(_9);                 // bb3[0]: scope 3 at $DIR/region-subtyping-basic.rs:21:17: 21:18
-        StorageDead(_8);                 // bb3[1]: scope 3 at $DIR/region-subtyping-basic.rs:21:18: 21:19
-        _0 = const ConstValue(ZeroSized: ()); // bb3[2]: scope 3 at $DIR/region-subtyping-basic.rs:20:13: 22:6
-        goto -> bb6;                     // bb3[3]: scope 3 at $DIR/region-subtyping-basic.rs:20:5: 24:6
+        StorageDead(_9);                 // bb3[0]: scope 3 at $DIR/region-subtyping-basic.rs:+5:17: +5:18
+        StorageDead(_8);                 // bb3[1]: scope 3 at $DIR/region-subtyping-basic.rs:+5:18: +5:19
+        _0 = const ConstValue(ZeroSized: ()); // bb3[2]: scope 3 at $DIR/region-subtyping-basic.rs:+4:13: +6:6
+        goto -> bb6;                     // bb3[3]: scope 3 at $DIR/region-subtyping-basic.rs:+4:5: +8:6
     }
 
     bb4: {
-        StorageLive(_10);                // bb4[0]: scope 3 at $DIR/region-subtyping-basic.rs:23:9: 23:18
-        _10 = ConstValue(ZeroSized: fn(usize) -> bool {use_x})(const ConstValue(Scalar(0x0000000000000016): usize)) -> [return: bb5, unwind: bb7]; // bb4[1]: scope 3 at $DIR/region-subtyping-basic.rs:23:9: 23:18
+        StorageLive(_10);                // bb4[0]: scope 3 at $DIR/region-subtyping-basic.rs:+7:9: +7:18
+        _10 = ConstValue(ZeroSized: fn(usize) -> bool {use_x})(const ConstValue(Scalar(0x0000000000000016): usize)) -> [return: bb5, unwind: bb7]; // bb4[1]: scope 3 at $DIR/region-subtyping-basic.rs:+7:9: +7:18
                                          // mir::Constant
                                          // + span: $DIR/region-subtyping-basic.rs:23:9: 23:14
                                          // + literal: Const { ty: fn(usize) -> bool {use_x}, val: Value(<ZST>) }
     }
 
     bb5: {
-        StorageDead(_10);                // bb5[0]: scope 3 at $DIR/region-subtyping-basic.rs:23:18: 23:19
-        _0 = const ConstValue(ZeroSized: ()); // bb5[1]: scope 3 at $DIR/region-subtyping-basic.rs:22:12: 24:6
-        goto -> bb6;                     // bb5[2]: scope 3 at $DIR/region-subtyping-basic.rs:20:5: 24:6
+        StorageDead(_10);                // bb5[0]: scope 3 at $DIR/region-subtyping-basic.rs:+7:18: +7:19
+        _0 = const ConstValue(ZeroSized: ()); // bb5[1]: scope 3 at $DIR/region-subtyping-basic.rs:+6:12: +8:6
+        goto -> bb6;                     // bb5[2]: scope 3 at $DIR/region-subtyping-basic.rs:+4:5: +8:6
     }
 
     bb6: {
-        StorageDead(_7);                 // bb6[0]: scope 3 at $DIR/region-subtyping-basic.rs:24:5: 24:6
-        StorageDead(_6);                 // bb6[1]: scope 2 at $DIR/region-subtyping-basic.rs:25:1: 25:2
-        StorageDead(_3);                 // bb6[2]: scope 1 at $DIR/region-subtyping-basic.rs:25:1: 25:2
-        StorageDead(_2);                 // bb6[3]: scope 1 at $DIR/region-subtyping-basic.rs:25:1: 25:2
-        StorageDead(_1);                 // bb6[4]: scope 0 at $DIR/region-subtyping-basic.rs:25:1: 25:2
-        return;                          // bb6[5]: scope 0 at $DIR/region-subtyping-basic.rs:25:2: 25:2
+        StorageDead(_7);                 // bb6[0]: scope 3 at $DIR/region-subtyping-basic.rs:+8:5: +8:6
+        StorageDead(_6);                 // bb6[1]: scope 2 at $DIR/region-subtyping-basic.rs:+9:1: +9:2
+        StorageDead(_3);                 // bb6[2]: scope 1 at $DIR/region-subtyping-basic.rs:+9:1: +9:2
+        StorageDead(_2);                 // bb6[3]: scope 1 at $DIR/region-subtyping-basic.rs:+9:1: +9:2
+        StorageDead(_1);                 // bb6[4]: scope 0 at $DIR/region-subtyping-basic.rs:+9:1: +9:2
+        return;                          // bb6[5]: scope 0 at $DIR/region-subtyping-basic.rs:+9:2: +9:2
     }
 
     bb7 (cleanup): {
-        resume;                          // bb7[0]: scope 0 at $DIR/region-subtyping-basic.rs:16:1: 25:2
+        resume;                          // bb7[0]: scope 0 at $DIR/region-subtyping-basic.rs:+0:1: +9:2
     }
 }
index fda6cd6120771b3f1913636db8cedfdbbc617288..50fd98ff13a620e3396f36fb8f4cf97ed0c00dfb 100644 (file)
@@ -1,21 +1,21 @@
 // MIR for `unwrap` after SimplifyCfg-elaborate-drops
 
 fn unwrap(_1: Option<T>) -> T {
-    debug opt => _1;                     // in scope 0 at $DIR/no-drop-for-inactive-variant.rs:7:14: 7:17
-    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
+    debug opt => _1;                     // in scope 0 at $DIR/no-drop-for-inactive-variant.rs:+0:14: +0:17
+    let mut _0: T;                       // return place in scope 0 at $DIR/no-drop-for-inactive-variant.rs:+0:33: +0:34
+    let mut _2: isize;                   // in scope 0 at $DIR/no-drop-for-inactive-variant.rs:+2:9: +2:16
+    let _3: T;                           // in scope 0 at $DIR/no-drop-for-inactive-variant.rs:+2:14: +2:15
     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
+    let mut _5: isize;                   // in scope 0 at $DIR/no-drop-for-inactive-variant.rs:+5:1: +5:2
+    let mut _6: isize;                   // in scope 0 at $DIR/no-drop-for-inactive-variant.rs:+5:1: +5:2
+    let mut _7: isize;                   // in scope 0 at $DIR/no-drop-for-inactive-variant.rs:+5:1: +5:2
     scope 1 {
-        debug x => _3;                   // in scope 1 at $DIR/no-drop-for-inactive-variant.rs:9:14: 9:15
+        debug x => _3;                   // in scope 1 at $DIR/no-drop-for-inactive-variant.rs:+2:14: +2:15
     }
 
     bb0: {
-        _2 = discriminant(_1);           // scope 0 at $DIR/no-drop-for-inactive-variant.rs:8:11: 8:14
-        switchInt(move _2) -> [0_isize: bb1, 1_isize: bb3, otherwise: bb2]; // scope 0 at $DIR/no-drop-for-inactive-variant.rs:8:5: 8:14
+        _2 = discriminant(_1);           // scope 0 at $DIR/no-drop-for-inactive-variant.rs:+1:11: +1:14
+        switchInt(move _2) -> [0_isize: bb1, 1_isize: bb3, otherwise: bb2]; // scope 0 at $DIR/no-drop-for-inactive-variant.rs:+1:5: +1:14
     }
 
     bb1: {
@@ -30,20 +30,20 @@ fn unwrap(_1: Option<T>) -> T {
     }
 
     bb2: {
-        unreachable;                     // scope 0 at $DIR/no-drop-for-inactive-variant.rs:8:11: 8:14
+        unreachable;                     // scope 0 at $DIR/no-drop-for-inactive-variant.rs:+1:11: +1:14
     }
 
     bb3: {
-        StorageLive(_3);                 // scope 0 at $DIR/no-drop-for-inactive-variant.rs:9:14: 9:15
-        _3 = move ((_1 as Some).0: T);   // scope 0 at $DIR/no-drop-for-inactive-variant.rs:9:14: 9:15
-        _0 = move _3;                    // scope 1 at $DIR/no-drop-for-inactive-variant.rs:9:20: 9:21
-        StorageDead(_3);                 // scope 0 at $DIR/no-drop-for-inactive-variant.rs:9:20: 9:21
-        _5 = discriminant(_1);           // scope 0 at $DIR/no-drop-for-inactive-variant.rs:12:1: 12:2
-        return;                          // scope 0 at $DIR/no-drop-for-inactive-variant.rs:12:2: 12:2
+        StorageLive(_3);                 // scope 0 at $DIR/no-drop-for-inactive-variant.rs:+2:14: +2:15
+        _3 = move ((_1 as Some).0: T);   // scope 0 at $DIR/no-drop-for-inactive-variant.rs:+2:14: +2:15
+        _0 = move _3;                    // scope 1 at $DIR/no-drop-for-inactive-variant.rs:+2:20: +2:21
+        StorageDead(_3);                 // scope 0 at $DIR/no-drop-for-inactive-variant.rs:+2:20: +2:21
+        _5 = discriminant(_1);           // scope 0 at $DIR/no-drop-for-inactive-variant.rs:+5:1: +5:2
+        return;                          // scope 0 at $DIR/no-drop-for-inactive-variant.rs:+5:2: +5:2
     }
 
     bb4 (cleanup): {
-        _7 = discriminant(_1);           // scope 0 at $DIR/no-drop-for-inactive-variant.rs:12:1: 12:2
-        resume;                          // scope 0 at $DIR/no-drop-for-inactive-variant.rs:7:1: 12:2
+        _7 = discriminant(_1);           // scope 0 at $DIR/no-drop-for-inactive-variant.rs:+5:1: +5:2
+        resume;                          // scope 0 at $DIR/no-drop-for-inactive-variant.rs:+0:1: +5:2
     }
 }
index 0c814fd9d8dda43d7cfe0a44879dc6061bb98092..25c6e3060069d33963239fee13bfb274d28e2e54 100644 (file)
@@ -1,49 +1,49 @@
 // MIR for `main` before ElaborateDrops
 
 fn main() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/no-spurious-drop-after-call.rs:8:11: 8:11
-    let _1: ();                          // in scope 0 at $DIR/no-spurious-drop-after-call.rs:9:5: 9:35
-    let mut _2: std::string::String;     // in scope 0 at $DIR/no-spurious-drop-after-call.rs:9:20: 9:34
-    let mut _3: &str;                    // in scope 0 at $DIR/no-spurious-drop-after-call.rs:9:20: 9:34
-    let _4: &str;                        // in scope 0 at $DIR/no-spurious-drop-after-call.rs:9:20: 9:22
+    let mut _0: ();                      // return place in scope 0 at $DIR/no-spurious-drop-after-call.rs:+0:11: +0:11
+    let _1: ();                          // in scope 0 at $DIR/no-spurious-drop-after-call.rs:+1:5: +1:35
+    let mut _2: std::string::String;     // in scope 0 at $DIR/no-spurious-drop-after-call.rs:+1:20: +1:34
+    let mut _3: &str;                    // in scope 0 at $DIR/no-spurious-drop-after-call.rs:+1:20: +1:34
+    let _4: &str;                        // in scope 0 at $DIR/no-spurious-drop-after-call.rs:+1:20: +1:22
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/no-spurious-drop-after-call.rs:9:5: 9:35
-        StorageLive(_2);                 // scope 0 at $DIR/no-spurious-drop-after-call.rs:9:20: 9:34
-        StorageLive(_3);                 // scope 0 at $DIR/no-spurious-drop-after-call.rs:9:20: 9:34
-        StorageLive(_4);                 // scope 0 at $DIR/no-spurious-drop-after-call.rs:9:20: 9:22
-        _4 = const "";                   // scope 0 at $DIR/no-spurious-drop-after-call.rs:9:20: 9:22
+        StorageLive(_1);                 // scope 0 at $DIR/no-spurious-drop-after-call.rs:+1:5: +1:35
+        StorageLive(_2);                 // scope 0 at $DIR/no-spurious-drop-after-call.rs:+1:20: +1:34
+        StorageLive(_3);                 // scope 0 at $DIR/no-spurious-drop-after-call.rs:+1:20: +1:34
+        StorageLive(_4);                 // scope 0 at $DIR/no-spurious-drop-after-call.rs:+1:20: +1:22
+        _4 = const "";                   // scope 0 at $DIR/no-spurious-drop-after-call.rs:+1:20: +1:22
                                          // mir::Constant
                                          // + span: $DIR/no-spurious-drop-after-call.rs:9:20: 9:22
                                          // + literal: Const { ty: &str, val: Value(Slice(..)) }
-        _3 = &(*_4);                     // scope 0 at $DIR/no-spurious-drop-after-call.rs:9:20: 9:34
-        _2 = <str as ToString>::to_string(move _3) -> bb1; // scope 0 at $DIR/no-spurious-drop-after-call.rs:9:20: 9:34
+        _3 = &(*_4);                     // scope 0 at $DIR/no-spurious-drop-after-call.rs:+1:20: +1:34
+        _2 = <str as ToString>::to_string(move _3) -> bb1; // scope 0 at $DIR/no-spurious-drop-after-call.rs:+1:20: +1:34
                                          // mir::Constant
                                          // + span: $DIR/no-spurious-drop-after-call.rs:9:23: 9:32
                                          // + literal: Const { ty: for<'r> fn(&'r str) -> String {<str as ToString>::to_string}, val: Value(<ZST>) }
     }
 
     bb1: {
-        StorageDead(_3);                 // scope 0 at $DIR/no-spurious-drop-after-call.rs:9:33: 9:34
-        _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
+        StorageDead(_3);                 // scope 0 at $DIR/no-spurious-drop-after-call.rs:+1:33: +1:34
+        _1 = std::mem::drop::<String>(move _2) -> [return: bb2, unwind: bb3]; // scope 0 at $DIR/no-spurious-drop-after-call.rs:+1:5: +1:35
                                          // mir::Constant
                                          // + span: $DIR/no-spurious-drop-after-call.rs:9:5: 9:19
                                          // + literal: Const { ty: fn(String) {std::mem::drop::<String>}, val: Value(<ZST>) }
     }
 
     bb2: {
-        StorageDead(_2);                 // scope 0 at $DIR/no-spurious-drop-after-call.rs:9:34: 9:35
-        StorageDead(_4);                 // scope 0 at $DIR/no-spurious-drop-after-call.rs:9:35: 9:36
-        StorageDead(_1);                 // scope 0 at $DIR/no-spurious-drop-after-call.rs:9:35: 9:36
-        _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
+        StorageDead(_2);                 // scope 0 at $DIR/no-spurious-drop-after-call.rs:+1:34: +1:35
+        StorageDead(_4);                 // scope 0 at $DIR/no-spurious-drop-after-call.rs:+1:35: +1:36
+        StorageDead(_1);                 // scope 0 at $DIR/no-spurious-drop-after-call.rs:+1:35: +1:36
+        _0 = const ();                   // scope 0 at $DIR/no-spurious-drop-after-call.rs:+0:11: +2:2
+        return;                          // scope 0 at $DIR/no-spurious-drop-after-call.rs:+2:2: +2:2
     }
 
     bb3 (cleanup): {
-        drop(_2) -> bb4;                 // scope 0 at $DIR/no-spurious-drop-after-call.rs:9:34: 9:35
+        drop(_2) -> bb4;                 // scope 0 at $DIR/no-spurious-drop-after-call.rs:+1:34: +1:35
     }
 
     bb4 (cleanup): {
-        resume;                          // scope 0 at $DIR/no-spurious-drop-after-call.rs:8:1: 10:2
+        resume;                          // scope 0 at $DIR/no-spurious-drop-after-call.rs:+0:1: +2:2
     }
 }
index 249db1c8a5ab29c7dc8c00aad368d0825785823e..5009d090668f0630c78791906544ea3dbfed39ee 100644 (file)
@@ -2,34 +2,34 @@
 + // MIR for `opt` after InstCombine
   
   fn opt(_1: bool) -> u32 {
-      debug x => _1;                       // in scope 0 at $DIR/not_equal_false.rs:3:8: 3:9
-      let mut _0: u32;                     // return place in scope 0 at $DIR/not_equal_false.rs:3:20: 3:23
-      let mut _2: bool;                    // in scope 0 at $DIR/not_equal_false.rs:4:8: 4:18
-      let mut _3: bool;                    // in scope 0 at $DIR/not_equal_false.rs:4:8: 4:9
+      debug x => _1;                       // in scope 0 at $DIR/not_equal_false.rs:+0:8: +0:9
+      let mut _0: u32;                     // return place in scope 0 at $DIR/not_equal_false.rs:+0:20: +0:23
+      let mut _2: bool;                    // in scope 0 at $DIR/not_equal_false.rs:+1:8: +1:18
+      let mut _3: bool;                    // in scope 0 at $DIR/not_equal_false.rs:+1:8: +1:9
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/not_equal_false.rs:4:8: 4:18
-          StorageLive(_3);                 // scope 0 at $DIR/not_equal_false.rs:4:8: 4:9
-          _3 = _1;                         // scope 0 at $DIR/not_equal_false.rs:4:8: 4:9
--         _2 = Ne(move _3, const false);   // scope 0 at $DIR/not_equal_false.rs:4:8: 4:18
-+         _2 = move _3;                    // scope 0 at $DIR/not_equal_false.rs:4:8: 4:18
-          StorageDead(_3);                 // scope 0 at $DIR/not_equal_false.rs:4:17: 4:18
-          switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/not_equal_false.rs:4:8: 4:18
+          StorageLive(_2);                 // scope 0 at $DIR/not_equal_false.rs:+1:8: +1:18
+          StorageLive(_3);                 // scope 0 at $DIR/not_equal_false.rs:+1:8: +1:9
+          _3 = _1;                         // scope 0 at $DIR/not_equal_false.rs:+1:8: +1:9
+-         _2 = Ne(move _3, const false);   // scope 0 at $DIR/not_equal_false.rs:+1:8: +1:18
++         _2 = move _3;                    // scope 0 at $DIR/not_equal_false.rs:+1:8: +1:18
+          StorageDead(_3);                 // scope 0 at $DIR/not_equal_false.rs:+1:17: +1:18
+          switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/not_equal_false.rs:+1:8: +1:18
       }
   
       bb1: {
-          _0 = const 0_u32;                // scope 0 at $DIR/not_equal_false.rs:4:21: 4:22
-          goto -> bb3;                     // scope 0 at $DIR/not_equal_false.rs:4:5: 4:35
+          _0 = const 0_u32;                // scope 0 at $DIR/not_equal_false.rs:+1:21: +1:22
+          goto -> bb3;                     // scope 0 at $DIR/not_equal_false.rs:+1:5: +1:35
       }
   
       bb2: {
-          _0 = const 1_u32;                // scope 0 at $DIR/not_equal_false.rs:4:32: 4:33
-          goto -> bb3;                     // scope 0 at $DIR/not_equal_false.rs:4:5: 4:35
+          _0 = const 1_u32;                // scope 0 at $DIR/not_equal_false.rs:+1:32: +1:33
+          goto -> bb3;                     // scope 0 at $DIR/not_equal_false.rs:+1:5: +1:35
       }
   
       bb3: {
-          StorageDead(_2);                 // scope 0 at $DIR/not_equal_false.rs:4:34: 4:35
-          return;                          // scope 0 at $DIR/not_equal_false.rs:5:2: 5:2
+          StorageDead(_2);                 // scope 0 at $DIR/not_equal_false.rs:+1:34: +1:35
+          return;                          // scope 0 at $DIR/not_equal_false.rs:+2:2: +2:2
       }
   }
   
index f438eaa002780958f07d88a70f123bd229129de0..9e89bd9fb96319b3ea567ca7a6419bfa062da9d3 100644 (file)
@@ -2,42 +2,42 @@
 + // MIR for `nrvo` after RenameReturnPlace
   
   fn nrvo(_1: for<'r> fn(&'r mut [u8; 1024])) -> [u8; 1024] {
-      debug init => _1;                    // in scope 0 at $DIR/nrvo-simple.rs:4:9: 4:13
--     let mut _0: [u8; 1024];              // return place in scope 0 at $DIR/nrvo-simple.rs:4:39: 4:49
-+     let mut _0: [u8; 1024];              // return place in scope 0 at $DIR/nrvo-simple.rs:5:9: 5:16
-      let mut _2: [u8; 1024];              // in scope 0 at $DIR/nrvo-simple.rs:5:9: 5:16
-      let _3: ();                          // in scope 0 at $DIR/nrvo-simple.rs:6:5: 6:19
-      let mut _4: for<'r> fn(&'r mut [u8; 1024]); // in scope 0 at $DIR/nrvo-simple.rs:6:5: 6:9
-      let mut _5: &mut [u8; 1024];         // in scope 0 at $DIR/nrvo-simple.rs:6:10: 6:18
-      let mut _6: &mut [u8; 1024];         // in scope 0 at $DIR/nrvo-simple.rs:6:10: 6:18
+      debug init => _1;                    // in scope 0 at $DIR/nrvo-simple.rs:+0:9: +0:13
+-     let mut _0: [u8; 1024];              // return place in scope 0 at $DIR/nrvo-simple.rs:+0:39: +0:49
++     let mut _0: [u8; 1024];              // return place in scope 0 at $DIR/nrvo-simple.rs:+1:9: +1:16
+      let mut _2: [u8; 1024];              // in scope 0 at $DIR/nrvo-simple.rs:+1:9: +1:16
+      let _3: ();                          // in scope 0 at $DIR/nrvo-simple.rs:+2:5: +2:19
+      let mut _4: for<'r> fn(&'r mut [u8; 1024]); // in scope 0 at $DIR/nrvo-simple.rs:+2:5: +2:9
+      let mut _5: &mut [u8; 1024];         // in scope 0 at $DIR/nrvo-simple.rs:+2:10: +2:18
+      let mut _6: &mut [u8; 1024];         // in scope 0 at $DIR/nrvo-simple.rs:+2:10: +2:18
       scope 1 {
--         debug buf => _2;                 // in scope 1 at $DIR/nrvo-simple.rs:5:9: 5:16
-+         debug buf => _0;                 // in scope 1 at $DIR/nrvo-simple.rs:5:9: 5:16
+-         debug buf => _2;                 // in scope 1 at $DIR/nrvo-simple.rs:+1:9: +1:16
++         debug buf => _0;                 // in scope 1 at $DIR/nrvo-simple.rs:+1:9: +1:16
       }
   
       bb0: {
--         StorageLive(_2);                 // scope 0 at $DIR/nrvo-simple.rs:5:9: 5:16
--         _2 = [const 0_u8; 1024];         // scope 0 at $DIR/nrvo-simple.rs:5:19: 5:28
-+         _0 = [const 0_u8; 1024];         // scope 0 at $DIR/nrvo-simple.rs:5:19: 5:28
-          StorageLive(_3);                 // scope 1 at $DIR/nrvo-simple.rs:6:5: 6:19
-          StorageLive(_4);                 // scope 1 at $DIR/nrvo-simple.rs:6:5: 6:9
-          _4 = _1;                         // scope 1 at $DIR/nrvo-simple.rs:6:5: 6:9
-          StorageLive(_5);                 // scope 1 at $DIR/nrvo-simple.rs:6:10: 6:18
-          StorageLive(_6);                 // scope 1 at $DIR/nrvo-simple.rs:6:10: 6:18
--         _6 = &mut _2;                    // scope 1 at $DIR/nrvo-simple.rs:6:10: 6:18
-+         _6 = &mut _0;                    // scope 1 at $DIR/nrvo-simple.rs:6:10: 6:18
-          _5 = &mut (*_6);                 // scope 1 at $DIR/nrvo-simple.rs:6:10: 6:18
-          _3 = move _4(move _5) -> bb1;    // scope 1 at $DIR/nrvo-simple.rs:6:5: 6:19
+-         StorageLive(_2);                 // scope 0 at $DIR/nrvo-simple.rs:+1:9: +1:16
+-         _2 = [const 0_u8; 1024];         // scope 0 at $DIR/nrvo-simple.rs:+1:19: +1:28
++         _0 = [const 0_u8; 1024];         // scope 0 at $DIR/nrvo-simple.rs:+1:19: +1:28
+          StorageLive(_3);                 // scope 1 at $DIR/nrvo-simple.rs:+2:5: +2:19
+          StorageLive(_4);                 // scope 1 at $DIR/nrvo-simple.rs:+2:5: +2:9
+          _4 = _1;                         // scope 1 at $DIR/nrvo-simple.rs:+2:5: +2:9
+          StorageLive(_5);                 // scope 1 at $DIR/nrvo-simple.rs:+2:10: +2:18
+          StorageLive(_6);                 // scope 1 at $DIR/nrvo-simple.rs:+2:10: +2:18
+-         _6 = &mut _2;                    // scope 1 at $DIR/nrvo-simple.rs:+2:10: +2:18
++         _6 = &mut _0;                    // scope 1 at $DIR/nrvo-simple.rs:+2:10: +2:18
+          _5 = &mut (*_6);                 // scope 1 at $DIR/nrvo-simple.rs:+2:10: +2:18
+          _3 = move _4(move _5) -> bb1;    // scope 1 at $DIR/nrvo-simple.rs:+2:5: +2:19
       }
   
       bb1: {
-          StorageDead(_5);                 // scope 1 at $DIR/nrvo-simple.rs:6:18: 6:19
-          StorageDead(_4);                 // scope 1 at $DIR/nrvo-simple.rs:6:18: 6:19
-          StorageDead(_6);                 // scope 1 at $DIR/nrvo-simple.rs:6:19: 6:20
-          StorageDead(_3);                 // scope 1 at $DIR/nrvo-simple.rs:6:19: 6:20
--         _0 = _2;                         // scope 1 at $DIR/nrvo-simple.rs:7:5: 7:8
--         StorageDead(_2);                 // scope 0 at $DIR/nrvo-simple.rs:8:1: 8:2
-          return;                          // scope 0 at $DIR/nrvo-simple.rs:8:2: 8:2
+          StorageDead(_5);                 // scope 1 at $DIR/nrvo-simple.rs:+2:18: +2:19
+          StorageDead(_4);                 // scope 1 at $DIR/nrvo-simple.rs:+2:18: +2:19
+          StorageDead(_6);                 // scope 1 at $DIR/nrvo-simple.rs:+2:19: +2:20
+          StorageDead(_3);                 // scope 1 at $DIR/nrvo-simple.rs:+2:19: +2:20
+-         _0 = _2;                         // scope 1 at $DIR/nrvo-simple.rs:+3:5: +3:8
+-         StorageDead(_2);                 // scope 0 at $DIR/nrvo-simple.rs:+4:1: +4:2
+          return;                          // scope 0 at $DIR/nrvo-simple.rs:+4:2: +4:2
       }
   }
   
index 81f428d607177da336a13b8b12d19c04d08d286b..c3874d3b39d38c2d459f4a82460c1c74bb5b0181 100644 (file)
@@ -1,55 +1,55 @@
 // MIR for `main` after SimplifyCfg-elaborate-drops
 
 fn main() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/packed-struct-drop-aligned.rs:5:11: 5:11
-    let mut _1: Packed;                  // in scope 0 at $DIR/packed-struct-drop-aligned.rs:6:9: 6:14
-    let mut _2: Aligned;                 // in scope 0 at $DIR/packed-struct-drop-aligned.rs:6:24: 6:42
-    let mut _3: Droppy;                  // in scope 0 at $DIR/packed-struct-drop-aligned.rs:6:32: 6:41
-    let mut _4: Aligned;                 // in scope 0 at $DIR/packed-struct-drop-aligned.rs:7:11: 7:29
-    let mut _5: Droppy;                  // in scope 0 at $DIR/packed-struct-drop-aligned.rs:7:19: 7:28
-    let mut _6: Aligned;                 // in scope 0 at $DIR/packed-struct-drop-aligned.rs:7:5: 7:8
+    let mut _0: ();                      // return place in scope 0 at $DIR/packed-struct-drop-aligned.rs:+0:11: +0:11
+    let mut _1: Packed;                  // in scope 0 at $DIR/packed-struct-drop-aligned.rs:+1:9: +1:14
+    let mut _2: Aligned;                 // in scope 0 at $DIR/packed-struct-drop-aligned.rs:+1:24: +1:42
+    let mut _3: Droppy;                  // in scope 0 at $DIR/packed-struct-drop-aligned.rs:+1:32: +1:41
+    let mut _4: Aligned;                 // in scope 0 at $DIR/packed-struct-drop-aligned.rs:+2:11: +2:29
+    let mut _5: Droppy;                  // in scope 0 at $DIR/packed-struct-drop-aligned.rs:+2:19: +2:28
+    let mut _6: Aligned;                 // in scope 0 at $DIR/packed-struct-drop-aligned.rs:+2:5: +2:8
     scope 1 {
-        debug x => _1;                   // in scope 1 at $DIR/packed-struct-drop-aligned.rs:6:9: 6:14
+        debug x => _1;                   // in scope 1 at $DIR/packed-struct-drop-aligned.rs:+1:9: +1:14
     }
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:9: 6:14
-        StorageLive(_2);                 // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:24: 6:42
-        StorageLive(_3);                 // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:32: 6:41
-        _3 = Droppy(const 0_usize);      // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:32: 6:41
-        _2 = Aligned(move _3);           // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:24: 6:42
-        StorageDead(_3);                 // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:41: 6:42
-        _1 = Packed(move _2);            // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:17: 6:43
-        StorageDead(_2);                 // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:42: 6:43
-        StorageLive(_4);                 // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:11: 7:29
-        StorageLive(_5);                 // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:19: 7:28
-        _5 = Droppy(const 0_usize);      // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:19: 7:28
-        _4 = Aligned(move _5);           // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:11: 7:29
-        StorageDead(_5);                 // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:28: 7:29
-        StorageLive(_6);                 // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:5: 7:8
-        _6 = move (_1.0: Aligned);       // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:5: 7:8
-        drop(_6) -> [return: bb4, unwind: bb3]; // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:5: 7:8
+        StorageLive(_1);                 // scope 0 at $DIR/packed-struct-drop-aligned.rs:+1:9: +1:14
+        StorageLive(_2);                 // scope 0 at $DIR/packed-struct-drop-aligned.rs:+1:24: +1:42
+        StorageLive(_3);                 // scope 0 at $DIR/packed-struct-drop-aligned.rs:+1:32: +1:41
+        _3 = Droppy(const 0_usize);      // scope 0 at $DIR/packed-struct-drop-aligned.rs:+1:32: +1:41
+        _2 = Aligned(move _3);           // scope 0 at $DIR/packed-struct-drop-aligned.rs:+1:24: +1:42
+        StorageDead(_3);                 // scope 0 at $DIR/packed-struct-drop-aligned.rs:+1:41: +1:42
+        _1 = Packed(move _2);            // scope 0 at $DIR/packed-struct-drop-aligned.rs:+1:17: +1:43
+        StorageDead(_2);                 // scope 0 at $DIR/packed-struct-drop-aligned.rs:+1:42: +1:43
+        StorageLive(_4);                 // scope 1 at $DIR/packed-struct-drop-aligned.rs:+2:11: +2:29
+        StorageLive(_5);                 // scope 1 at $DIR/packed-struct-drop-aligned.rs:+2:19: +2:28
+        _5 = Droppy(const 0_usize);      // scope 1 at $DIR/packed-struct-drop-aligned.rs:+2:19: +2:28
+        _4 = Aligned(move _5);           // scope 1 at $DIR/packed-struct-drop-aligned.rs:+2:11: +2:29
+        StorageDead(_5);                 // scope 1 at $DIR/packed-struct-drop-aligned.rs:+2:28: +2:29
+        StorageLive(_6);                 // scope 1 at $DIR/packed-struct-drop-aligned.rs:+2:5: +2:8
+        _6 = move (_1.0: Aligned);       // scope 1 at $DIR/packed-struct-drop-aligned.rs:+2:5: +2:8
+        drop(_6) -> [return: bb4, unwind: bb3]; // scope 1 at $DIR/packed-struct-drop-aligned.rs:+2:5: +2:8
     }
 
     bb1: {
-        StorageDead(_1);                 // scope 0 at $DIR/packed-struct-drop-aligned.rs:8:1: 8:2
-        return;                          // scope 0 at $DIR/packed-struct-drop-aligned.rs:8:2: 8:2
+        StorageDead(_1);                 // scope 0 at $DIR/packed-struct-drop-aligned.rs:+3:1: +3:2
+        return;                          // scope 0 at $DIR/packed-struct-drop-aligned.rs:+3:2: +3:2
     }
 
     bb2 (cleanup): {
-        resume;                          // scope 0 at $DIR/packed-struct-drop-aligned.rs:5:1: 8:2
+        resume;                          // scope 0 at $DIR/packed-struct-drop-aligned.rs:+0:1: +3:2
     }
 
     bb3 (cleanup): {
-        (_1.0: Aligned) = move _4;       // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:5: 7:8
-        drop(_1) -> bb2;                 // scope 0 at $DIR/packed-struct-drop-aligned.rs:8:1: 8:2
+        (_1.0: Aligned) = move _4;       // scope 1 at $DIR/packed-struct-drop-aligned.rs:+2:5: +2:8
+        drop(_1) -> bb2;                 // scope 0 at $DIR/packed-struct-drop-aligned.rs:+3:1: +3:2
     }
 
     bb4: {
-        StorageDead(_6);                 // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:5: 7:8
-        (_1.0: Aligned) = move _4;       // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:5: 7:8
-        StorageDead(_4);                 // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:28: 7:29
-        _0 = const ();                   // scope 0 at $DIR/packed-struct-drop-aligned.rs:5:11: 8:2
-        drop(_1) -> [return: bb1, unwind: bb2]; // scope 0 at $DIR/packed-struct-drop-aligned.rs:8:1: 8:2
+        StorageDead(_6);                 // scope 1 at $DIR/packed-struct-drop-aligned.rs:+2:5: +2:8
+        (_1.0: Aligned) = move _4;       // scope 1 at $DIR/packed-struct-drop-aligned.rs:+2:5: +2:8
+        StorageDead(_4);                 // scope 1 at $DIR/packed-struct-drop-aligned.rs:+2:28: +2:29
+        _0 = const ();                   // scope 0 at $DIR/packed-struct-drop-aligned.rs:+0:11: +3:2
+        drop(_1) -> [return: bb1, unwind: bb2]; // scope 0 at $DIR/packed-struct-drop-aligned.rs:+3:1: +3:2
     }
 }
index 81f428d607177da336a13b8b12d19c04d08d286b..c3874d3b39d38c2d459f4a82460c1c74bb5b0181 100644 (file)
@@ -1,55 +1,55 @@
 // MIR for `main` after SimplifyCfg-elaborate-drops
 
 fn main() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/packed-struct-drop-aligned.rs:5:11: 5:11
-    let mut _1: Packed;                  // in scope 0 at $DIR/packed-struct-drop-aligned.rs:6:9: 6:14
-    let mut _2: Aligned;                 // in scope 0 at $DIR/packed-struct-drop-aligned.rs:6:24: 6:42
-    let mut _3: Droppy;                  // in scope 0 at $DIR/packed-struct-drop-aligned.rs:6:32: 6:41
-    let mut _4: Aligned;                 // in scope 0 at $DIR/packed-struct-drop-aligned.rs:7:11: 7:29
-    let mut _5: Droppy;                  // in scope 0 at $DIR/packed-struct-drop-aligned.rs:7:19: 7:28
-    let mut _6: Aligned;                 // in scope 0 at $DIR/packed-struct-drop-aligned.rs:7:5: 7:8
+    let mut _0: ();                      // return place in scope 0 at $DIR/packed-struct-drop-aligned.rs:+0:11: +0:11
+    let mut _1: Packed;                  // in scope 0 at $DIR/packed-struct-drop-aligned.rs:+1:9: +1:14
+    let mut _2: Aligned;                 // in scope 0 at $DIR/packed-struct-drop-aligned.rs:+1:24: +1:42
+    let mut _3: Droppy;                  // in scope 0 at $DIR/packed-struct-drop-aligned.rs:+1:32: +1:41
+    let mut _4: Aligned;                 // in scope 0 at $DIR/packed-struct-drop-aligned.rs:+2:11: +2:29
+    let mut _5: Droppy;                  // in scope 0 at $DIR/packed-struct-drop-aligned.rs:+2:19: +2:28
+    let mut _6: Aligned;                 // in scope 0 at $DIR/packed-struct-drop-aligned.rs:+2:5: +2:8
     scope 1 {
-        debug x => _1;                   // in scope 1 at $DIR/packed-struct-drop-aligned.rs:6:9: 6:14
+        debug x => _1;                   // in scope 1 at $DIR/packed-struct-drop-aligned.rs:+1:9: +1:14
     }
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:9: 6:14
-        StorageLive(_2);                 // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:24: 6:42
-        StorageLive(_3);                 // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:32: 6:41
-        _3 = Droppy(const 0_usize);      // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:32: 6:41
-        _2 = Aligned(move _3);           // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:24: 6:42
-        StorageDead(_3);                 // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:41: 6:42
-        _1 = Packed(move _2);            // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:17: 6:43
-        StorageDead(_2);                 // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:42: 6:43
-        StorageLive(_4);                 // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:11: 7:29
-        StorageLive(_5);                 // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:19: 7:28
-        _5 = Droppy(const 0_usize);      // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:19: 7:28
-        _4 = Aligned(move _5);           // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:11: 7:29
-        StorageDead(_5);                 // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:28: 7:29
-        StorageLive(_6);                 // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:5: 7:8
-        _6 = move (_1.0: Aligned);       // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:5: 7:8
-        drop(_6) -> [return: bb4, unwind: bb3]; // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:5: 7:8
+        StorageLive(_1);                 // scope 0 at $DIR/packed-struct-drop-aligned.rs:+1:9: +1:14
+        StorageLive(_2);                 // scope 0 at $DIR/packed-struct-drop-aligned.rs:+1:24: +1:42
+        StorageLive(_3);                 // scope 0 at $DIR/packed-struct-drop-aligned.rs:+1:32: +1:41
+        _3 = Droppy(const 0_usize);      // scope 0 at $DIR/packed-struct-drop-aligned.rs:+1:32: +1:41
+        _2 = Aligned(move _3);           // scope 0 at $DIR/packed-struct-drop-aligned.rs:+1:24: +1:42
+        StorageDead(_3);                 // scope 0 at $DIR/packed-struct-drop-aligned.rs:+1:41: +1:42
+        _1 = Packed(move _2);            // scope 0 at $DIR/packed-struct-drop-aligned.rs:+1:17: +1:43
+        StorageDead(_2);                 // scope 0 at $DIR/packed-struct-drop-aligned.rs:+1:42: +1:43
+        StorageLive(_4);                 // scope 1 at $DIR/packed-struct-drop-aligned.rs:+2:11: +2:29
+        StorageLive(_5);                 // scope 1 at $DIR/packed-struct-drop-aligned.rs:+2:19: +2:28
+        _5 = Droppy(const 0_usize);      // scope 1 at $DIR/packed-struct-drop-aligned.rs:+2:19: +2:28
+        _4 = Aligned(move _5);           // scope 1 at $DIR/packed-struct-drop-aligned.rs:+2:11: +2:29
+        StorageDead(_5);                 // scope 1 at $DIR/packed-struct-drop-aligned.rs:+2:28: +2:29
+        StorageLive(_6);                 // scope 1 at $DIR/packed-struct-drop-aligned.rs:+2:5: +2:8
+        _6 = move (_1.0: Aligned);       // scope 1 at $DIR/packed-struct-drop-aligned.rs:+2:5: +2:8
+        drop(_6) -> [return: bb4, unwind: bb3]; // scope 1 at $DIR/packed-struct-drop-aligned.rs:+2:5: +2:8
     }
 
     bb1: {
-        StorageDead(_1);                 // scope 0 at $DIR/packed-struct-drop-aligned.rs:8:1: 8:2
-        return;                          // scope 0 at $DIR/packed-struct-drop-aligned.rs:8:2: 8:2
+        StorageDead(_1);                 // scope 0 at $DIR/packed-struct-drop-aligned.rs:+3:1: +3:2
+        return;                          // scope 0 at $DIR/packed-struct-drop-aligned.rs:+3:2: +3:2
     }
 
     bb2 (cleanup): {
-        resume;                          // scope 0 at $DIR/packed-struct-drop-aligned.rs:5:1: 8:2
+        resume;                          // scope 0 at $DIR/packed-struct-drop-aligned.rs:+0:1: +3:2
     }
 
     bb3 (cleanup): {
-        (_1.0: Aligned) = move _4;       // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:5: 7:8
-        drop(_1) -> bb2;                 // scope 0 at $DIR/packed-struct-drop-aligned.rs:8:1: 8:2
+        (_1.0: Aligned) = move _4;       // scope 1 at $DIR/packed-struct-drop-aligned.rs:+2:5: +2:8
+        drop(_1) -> bb2;                 // scope 0 at $DIR/packed-struct-drop-aligned.rs:+3:1: +3:2
     }
 
     bb4: {
-        StorageDead(_6);                 // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:5: 7:8
-        (_1.0: Aligned) = move _4;       // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:5: 7:8
-        StorageDead(_4);                 // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:28: 7:29
-        _0 = const ();                   // scope 0 at $DIR/packed-struct-drop-aligned.rs:5:11: 8:2
-        drop(_1) -> [return: bb1, unwind: bb2]; // scope 0 at $DIR/packed-struct-drop-aligned.rs:8:1: 8:2
+        StorageDead(_6);                 // scope 1 at $DIR/packed-struct-drop-aligned.rs:+2:5: +2:8
+        (_1.0: Aligned) = move _4;       // scope 1 at $DIR/packed-struct-drop-aligned.rs:+2:5: +2:8
+        StorageDead(_4);                 // scope 1 at $DIR/packed-struct-drop-aligned.rs:+2:28: +2:29
+        _0 = const ();                   // scope 0 at $DIR/packed-struct-drop-aligned.rs:+0:11: +3:2
+        drop(_1) -> [return: bb1, unwind: bb2]; // scope 0 at $DIR/packed-struct-drop-aligned.rs:+3:1: +3:2
     }
 }
index 8ee81e679ec47bc442eb79d91950f9f395e44894..45797ec0607c891598f792a3b2512fe7c6cc38cd 100644 (file)
@@ -7,90 +7,90 @@
 | 3: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }], value: Ty(&&&&*mut Test) }, span: $DIR/receiver-ptr-mutability.rs:18:18: 18:31, inferred_ty: &&&&*mut Test
 |
 fn main() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/receiver-ptr-mutability.rs:13:11: 13:11
-    let _1: *mut Test as UserTypeProjection { base: UserType(0), projs: [] }; // in scope 0 at $DIR/receiver-ptr-mutability.rs:14:9: 14:12
-    let _2: ();                          // in scope 0 at $DIR/receiver-ptr-mutability.rs:15:5: 15:12
-    let mut _3: *const Test;             // in scope 0 at $DIR/receiver-ptr-mutability.rs:15:5: 15:12
-    let mut _4: *mut Test;               // in scope 0 at $DIR/receiver-ptr-mutability.rs:15:5: 15:8
-    let _6: &&&&*mut Test;               // in scope 0 at $DIR/receiver-ptr-mutability.rs:18:34: 18:41
-    let _7: &&&*mut Test;                // in scope 0 at $DIR/receiver-ptr-mutability.rs:18:35: 18:41
-    let _8: &&*mut Test;                 // in scope 0 at $DIR/receiver-ptr-mutability.rs:18:36: 18:41
-    let _9: &*mut Test;                  // in scope 0 at $DIR/receiver-ptr-mutability.rs:18:37: 18:41
-    let _10: ();                         // in scope 0 at $DIR/receiver-ptr-mutability.rs:19:5: 19:16
-    let mut _11: *const Test;            // in scope 0 at $DIR/receiver-ptr-mutability.rs:19:5: 19:16
-    let mut _12: *mut Test;              // in scope 0 at $DIR/receiver-ptr-mutability.rs:19:5: 19:16
+    let mut _0: ();                      // return place in scope 0 at $DIR/receiver-ptr-mutability.rs:+0:11: +0:11
+    let _1: *mut Test as UserTypeProjection { base: UserType(0), projs: [] }; // in scope 0 at $DIR/receiver-ptr-mutability.rs:+1:9: +1:12
+    let _2: ();                          // in scope 0 at $DIR/receiver-ptr-mutability.rs:+2:5: +2:12
+    let mut _3: *const Test;             // in scope 0 at $DIR/receiver-ptr-mutability.rs:+2:5: +2:12
+    let mut _4: *mut Test;               // in scope 0 at $DIR/receiver-ptr-mutability.rs:+2:5: +2:8
+    let _6: &&&&*mut Test;               // in scope 0 at $DIR/receiver-ptr-mutability.rs:+5:34: +5:41
+    let _7: &&&*mut Test;                // in scope 0 at $DIR/receiver-ptr-mutability.rs:+5:35: +5:41
+    let _8: &&*mut Test;                 // in scope 0 at $DIR/receiver-ptr-mutability.rs:+5:36: +5:41
+    let _9: &*mut Test;                  // in scope 0 at $DIR/receiver-ptr-mutability.rs:+5:37: +5:41
+    let _10: ();                         // in scope 0 at $DIR/receiver-ptr-mutability.rs:+6:5: +6:16
+    let mut _11: *const Test;            // in scope 0 at $DIR/receiver-ptr-mutability.rs:+6:5: +6:16
+    let mut _12: *mut Test;              // in scope 0 at $DIR/receiver-ptr-mutability.rs:+6:5: +6:16
     scope 1 {
-        debug ptr => _1;                 // in scope 1 at $DIR/receiver-ptr-mutability.rs:14:9: 14:12
-        let _5: &&&&*mut Test as UserTypeProjection { base: UserType(2), projs: [] }; // in scope 1 at $DIR/receiver-ptr-mutability.rs:18:9: 18:16
+        debug ptr => _1;                 // in scope 1 at $DIR/receiver-ptr-mutability.rs:+1:9: +1:12
+        let _5: &&&&*mut Test as UserTypeProjection { base: UserType(2), projs: [] }; // in scope 1 at $DIR/receiver-ptr-mutability.rs:+5:9: +5:16
         scope 2 {
-            debug ptr_ref => _5;         // in scope 2 at $DIR/receiver-ptr-mutability.rs:18:9: 18:16
+            debug ptr_ref => _5;         // in scope 2 at $DIR/receiver-ptr-mutability.rs:+5:9: +5:16
         }
     }
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/receiver-ptr-mutability.rs:14:9: 14:12
-        _1 = null_mut::<Test>() -> [return: bb1, unwind: bb4]; // scope 0 at $DIR/receiver-ptr-mutability.rs:14:26: 14:46
+        StorageLive(_1);                 // scope 0 at $DIR/receiver-ptr-mutability.rs:+1:9: +1:12
+        _1 = null_mut::<Test>() -> [return: bb1, unwind: bb4]; // scope 0 at $DIR/receiver-ptr-mutability.rs:+1:26: +1:46
                                          // mir::Constant
                                          // + span: $DIR/receiver-ptr-mutability.rs:14:26: 14:44
                                          // + literal: Const { ty: fn() -> *mut Test {null_mut::<Test>}, val: Value(<ZST>) }
     }
 
     bb1: {
-        FakeRead(ForLet(None), _1);      // scope 0 at $DIR/receiver-ptr-mutability.rs:14:9: 14:12
-        AscribeUserType(_1, o, UserTypeProjection { base: UserType(1), projs: [] }); // scope 0 at $DIR/receiver-ptr-mutability.rs:14:14: 14:23
-        StorageLive(_2);                 // scope 1 at $DIR/receiver-ptr-mutability.rs:15:5: 15:12
-        StorageLive(_3);                 // scope 1 at $DIR/receiver-ptr-mutability.rs:15:5: 15:12
-        StorageLive(_4);                 // scope 1 at $DIR/receiver-ptr-mutability.rs:15:5: 15:8
-        _4 = _1;                         // scope 1 at $DIR/receiver-ptr-mutability.rs:15:5: 15:8
-        _3 = move _4 as *const Test (Pointer(MutToConstPointer)); // scope 1 at $DIR/receiver-ptr-mutability.rs:15:5: 15:12
-        StorageDead(_4);                 // scope 1 at $DIR/receiver-ptr-mutability.rs:15:7: 15:8
-        _2 = Test::x(move _3) -> [return: bb2, unwind: bb4]; // scope 1 at $DIR/receiver-ptr-mutability.rs:15:5: 15:12
+        FakeRead(ForLet(None), _1);      // scope 0 at $DIR/receiver-ptr-mutability.rs:+1:9: +1:12
+        AscribeUserType(_1, o, UserTypeProjection { base: UserType(1), projs: [] }); // scope 0 at $DIR/receiver-ptr-mutability.rs:+1:14: +1:23
+        StorageLive(_2);                 // scope 1 at $DIR/receiver-ptr-mutability.rs:+2:5: +2:12
+        StorageLive(_3);                 // scope 1 at $DIR/receiver-ptr-mutability.rs:+2:5: +2:12
+        StorageLive(_4);                 // scope 1 at $DIR/receiver-ptr-mutability.rs:+2:5: +2:8
+        _4 = _1;                         // scope 1 at $DIR/receiver-ptr-mutability.rs:+2:5: +2:8
+        _3 = move _4 as *const Test (Pointer(MutToConstPointer)); // scope 1 at $DIR/receiver-ptr-mutability.rs:+2:5: +2:12
+        StorageDead(_4);                 // scope 1 at $DIR/receiver-ptr-mutability.rs:+2:7: +2:8
+        _2 = Test::x(move _3) -> [return: bb2, unwind: bb4]; // scope 1 at $DIR/receiver-ptr-mutability.rs:+2:5: +2:12
                                          // mir::Constant
                                          // + span: $DIR/receiver-ptr-mutability.rs:15:9: 15:10
                                          // + literal: Const { ty: fn(*const Test) {Test::x}, val: Value(<ZST>) }
     }
 
     bb2: {
-        StorageDead(_3);                 // scope 1 at $DIR/receiver-ptr-mutability.rs:15:11: 15:12
-        StorageDead(_2);                 // scope 1 at $DIR/receiver-ptr-mutability.rs:15:12: 15:13
-        StorageLive(_5);                 // scope 1 at $DIR/receiver-ptr-mutability.rs:18:9: 18:16
-        StorageLive(_6);                 // scope 1 at $DIR/receiver-ptr-mutability.rs:18:34: 18:41
-        StorageLive(_7);                 // scope 1 at $DIR/receiver-ptr-mutability.rs:18:35: 18:41
-        StorageLive(_8);                 // scope 1 at $DIR/receiver-ptr-mutability.rs:18:36: 18:41
-        StorageLive(_9);                 // scope 1 at $DIR/receiver-ptr-mutability.rs:18:37: 18:41
-        _9 = &_1;                        // scope 1 at $DIR/receiver-ptr-mutability.rs:18:37: 18:41
-        _8 = &_9;                        // scope 1 at $DIR/receiver-ptr-mutability.rs:18:36: 18:41
-        _7 = &_8;                        // scope 1 at $DIR/receiver-ptr-mutability.rs:18:35: 18:41
-        _6 = &_7;                        // scope 1 at $DIR/receiver-ptr-mutability.rs:18:34: 18:41
-        _5 = &(*_6);                     // scope 1 at $DIR/receiver-ptr-mutability.rs:18:34: 18:41
-        FakeRead(ForLet(None), _5);      // scope 1 at $DIR/receiver-ptr-mutability.rs:18:9: 18:16
-        AscribeUserType(_5, o, UserTypeProjection { base: UserType(3), projs: [] }); // scope 1 at $DIR/receiver-ptr-mutability.rs:18:18: 18:31
-        StorageDead(_6);                 // scope 1 at $DIR/receiver-ptr-mutability.rs:18:41: 18:42
-        StorageLive(_10);                // scope 2 at $DIR/receiver-ptr-mutability.rs:19:5: 19:16
-        StorageLive(_11);                // scope 2 at $DIR/receiver-ptr-mutability.rs:19:5: 19:16
-        StorageLive(_12);                // scope 2 at $DIR/receiver-ptr-mutability.rs:19:5: 19:16
-        _12 = (*(*(*(*_5))));            // scope 2 at $DIR/receiver-ptr-mutability.rs:19:5: 19:16
-        _11 = move _12 as *const Test (Pointer(MutToConstPointer)); // scope 2 at $DIR/receiver-ptr-mutability.rs:19:5: 19:16
-        StorageDead(_12);                // scope 2 at $DIR/receiver-ptr-mutability.rs:19:11: 19:12
-        _10 = Test::x(move _11) -> [return: bb3, unwind: bb4]; // scope 2 at $DIR/receiver-ptr-mutability.rs:19:5: 19:16
+        StorageDead(_3);                 // scope 1 at $DIR/receiver-ptr-mutability.rs:+2:11: +2:12
+        StorageDead(_2);                 // scope 1 at $DIR/receiver-ptr-mutability.rs:+2:12: +2:13
+        StorageLive(_5);                 // scope 1 at $DIR/receiver-ptr-mutability.rs:+5:9: +5:16
+        StorageLive(_6);                 // scope 1 at $DIR/receiver-ptr-mutability.rs:+5:34: +5:41
+        StorageLive(_7);                 // scope 1 at $DIR/receiver-ptr-mutability.rs:+5:35: +5:41
+        StorageLive(_8);                 // scope 1 at $DIR/receiver-ptr-mutability.rs:+5:36: +5:41
+        StorageLive(_9);                 // scope 1 at $DIR/receiver-ptr-mutability.rs:+5:37: +5:41
+        _9 = &_1;                        // scope 1 at $DIR/receiver-ptr-mutability.rs:+5:37: +5:41
+        _8 = &_9;                        // scope 1 at $DIR/receiver-ptr-mutability.rs:+5:36: +5:41
+        _7 = &_8;                        // scope 1 at $DIR/receiver-ptr-mutability.rs:+5:35: +5:41
+        _6 = &_7;                        // scope 1 at $DIR/receiver-ptr-mutability.rs:+5:34: +5:41
+        _5 = &(*_6);                     // scope 1 at $DIR/receiver-ptr-mutability.rs:+5:34: +5:41
+        FakeRead(ForLet(None), _5);      // scope 1 at $DIR/receiver-ptr-mutability.rs:+5:9: +5:16
+        AscribeUserType(_5, o, UserTypeProjection { base: UserType(3), projs: [] }); // scope 1 at $DIR/receiver-ptr-mutability.rs:+5:18: +5:31
+        StorageDead(_6);                 // scope 1 at $DIR/receiver-ptr-mutability.rs:+5:41: +5:42
+        StorageLive(_10);                // scope 2 at $DIR/receiver-ptr-mutability.rs:+6:5: +6:16
+        StorageLive(_11);                // scope 2 at $DIR/receiver-ptr-mutability.rs:+6:5: +6:16
+        StorageLive(_12);                // scope 2 at $DIR/receiver-ptr-mutability.rs:+6:5: +6:16
+        _12 = (*(*(*(*_5))));            // scope 2 at $DIR/receiver-ptr-mutability.rs:+6:5: +6:16
+        _11 = move _12 as *const Test (Pointer(MutToConstPointer)); // scope 2 at $DIR/receiver-ptr-mutability.rs:+6:5: +6:16
+        StorageDead(_12);                // scope 2 at $DIR/receiver-ptr-mutability.rs:+6:11: +6:12
+        _10 = Test::x(move _11) -> [return: bb3, unwind: bb4]; // scope 2 at $DIR/receiver-ptr-mutability.rs:+6:5: +6:16
                                          // mir::Constant
                                          // + span: $DIR/receiver-ptr-mutability.rs:19:13: 19:14
                                          // + literal: Const { ty: fn(*const Test) {Test::x}, val: Value(<ZST>) }
     }
 
     bb3: {
-        StorageDead(_11);                // scope 2 at $DIR/receiver-ptr-mutability.rs:19:15: 19:16
-        StorageDead(_10);                // scope 2 at $DIR/receiver-ptr-mutability.rs:19:16: 19:17
-        _0 = const ();                   // scope 0 at $DIR/receiver-ptr-mutability.rs:13:11: 20:2
-        StorageDead(_9);                 // scope 1 at $DIR/receiver-ptr-mutability.rs:20:1: 20:2
-        StorageDead(_8);                 // scope 1 at $DIR/receiver-ptr-mutability.rs:20:1: 20:2
-        StorageDead(_7);                 // scope 1 at $DIR/receiver-ptr-mutability.rs:20:1: 20:2
-        StorageDead(_5);                 // scope 1 at $DIR/receiver-ptr-mutability.rs:20:1: 20:2
-        StorageDead(_1);                 // scope 0 at $DIR/receiver-ptr-mutability.rs:20:1: 20:2
-        return;                          // scope 0 at $DIR/receiver-ptr-mutability.rs:20:2: 20:2
+        StorageDead(_11);                // scope 2 at $DIR/receiver-ptr-mutability.rs:+6:15: +6:16
+        StorageDead(_10);                // scope 2 at $DIR/receiver-ptr-mutability.rs:+6:16: +6:17
+        _0 = const ();                   // scope 0 at $DIR/receiver-ptr-mutability.rs:+0:11: +7:2
+        StorageDead(_9);                 // scope 1 at $DIR/receiver-ptr-mutability.rs:+7:1: +7:2
+        StorageDead(_8);                 // scope 1 at $DIR/receiver-ptr-mutability.rs:+7:1: +7:2
+        StorageDead(_7);                 // scope 1 at $DIR/receiver-ptr-mutability.rs:+7:1: +7:2
+        StorageDead(_5);                 // scope 1 at $DIR/receiver-ptr-mutability.rs:+7:1: +7:2
+        StorageDead(_1);                 // scope 0 at $DIR/receiver-ptr-mutability.rs:+7:1: +7:2
+        return;                          // scope 0 at $DIR/receiver-ptr-mutability.rs:+7:2: +7:2
     }
 
     bb4 (cleanup): {
-        resume;                          // scope 0 at $DIR/receiver-ptr-mutability.rs:13:1: 20:2
+        resume;                          // scope 0 at $DIR/receiver-ptr-mutability.rs:+0:1: +7:2
     }
 }
index 7b6146d4bc14dda4073fc908a709b09c3440447a..243a54b6a8454d68ca0a50e4a570535b80be20d9 100644 (file)
@@ -2,75 +2,75 @@
 + // MIR for `match_guard` after CleanupNonCodegenStatements
   
   fn match_guard(_1: Option<&&i32>, _2: bool) -> i32 {
-      debug x => _1;                       // in scope 0 at $DIR/remove_fake_borrows.rs:6:16: 6:17
-      debug c => _2;                       // in scope 0 at $DIR/remove_fake_borrows.rs:6:34: 6:35
-      let mut _0: i32;                     // return place in scope 0 at $DIR/remove_fake_borrows.rs:6:46: 6:49
-      let mut _3: isize;                   // in scope 0 at $DIR/remove_fake_borrows.rs:8:9: 8:16
-      let mut _4: &std::option::Option<&&i32>; // in scope 0 at $DIR/remove_fake_borrows.rs:7:11: 7:12
-      let mut _5: &&i32;                   // in scope 0 at $DIR/remove_fake_borrows.rs:7:11: 7:12
-      let mut _6: &&&i32;                  // in scope 0 at $DIR/remove_fake_borrows.rs:7:11: 7:12
-      let mut _7: &i32;                    // in scope 0 at $DIR/remove_fake_borrows.rs:7:11: 7:12
-      let mut _8: bool;                    // in scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21
+      debug x => _1;                       // in scope 0 at $DIR/remove_fake_borrows.rs:+0:16: +0:17
+      debug c => _2;                       // in scope 0 at $DIR/remove_fake_borrows.rs:+0:34: +0:35
+      let mut _0: i32;                     // return place in scope 0 at $DIR/remove_fake_borrows.rs:+0:46: +0:49
+      let mut _3: isize;                   // in scope 0 at $DIR/remove_fake_borrows.rs:+2:9: +2:16
+      let mut _4: &std::option::Option<&&i32>; // in scope 0 at $DIR/remove_fake_borrows.rs:+1:11: +1:12
+      let mut _5: &&i32;                   // in scope 0 at $DIR/remove_fake_borrows.rs:+1:11: +1:12
+      let mut _6: &&&i32;                  // in scope 0 at $DIR/remove_fake_borrows.rs:+1:11: +1:12
+      let mut _7: &i32;                    // in scope 0 at $DIR/remove_fake_borrows.rs:+1:11: +1:12
+      let mut _8: bool;                    // in scope 0 at $DIR/remove_fake_borrows.rs:+2:20: +2:21
   
       bb0: {
--         FakeRead(ForMatchedPlace(None), _1); // scope 0 at $DIR/remove_fake_borrows.rs:7:11: 7:12
-+         nop;                             // scope 0 at $DIR/remove_fake_borrows.rs:7:11: 7:12
-          _3 = discriminant(_1);           // scope 0 at $DIR/remove_fake_borrows.rs:7:11: 7:12
-          switchInt(move _3) -> [1_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/remove_fake_borrows.rs:7:5: 7:12
+-         FakeRead(ForMatchedPlace(None), _1); // scope 0 at $DIR/remove_fake_borrows.rs:+1:11: +1:12
++         nop;                             // scope 0 at $DIR/remove_fake_borrows.rs:+1:11: +1:12
+          _3 = discriminant(_1);           // scope 0 at $DIR/remove_fake_borrows.rs:+1:11: +1:12
+          switchInt(move _3) -> [1_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/remove_fake_borrows.rs:+1:5: +1:12
       }
   
       bb1: {
-          _0 = const 1_i32;                // scope 0 at $DIR/remove_fake_borrows.rs:9:14: 9:15
-          goto -> bb7;                     // scope 0 at $DIR/remove_fake_borrows.rs:9:14: 9:15
+          _0 = const 1_i32;                // scope 0 at $DIR/remove_fake_borrows.rs:+3:14: +3:15
+          goto -> bb7;                     // scope 0 at $DIR/remove_fake_borrows.rs:+3:14: +3:15
       }
   
       bb2: {
-          switchInt((*(*((_1 as Some).0: &&i32)))) -> [0_i32: bb3, otherwise: bb1]; // scope 0 at $DIR/remove_fake_borrows.rs:7:5: 7:12
+          switchInt((*(*((_1 as Some).0: &&i32)))) -> [0_i32: bb3, otherwise: bb1]; // scope 0 at $DIR/remove_fake_borrows.rs:+1:5: +1:12
       }
   
       bb3: {
-          goto -> bb4;                     // scope 0 at $DIR/remove_fake_borrows.rs:8:9: 8:16
+          goto -> bb4;                     // scope 0 at $DIR/remove_fake_borrows.rs:+2:9: +2:16
       }
   
       bb4: {
--         _4 = &shallow _1;                // scope 0 at $DIR/remove_fake_borrows.rs:7:11: 7:12
--         _5 = &shallow (*((_1 as Some).0: &&i32)); // scope 0 at $DIR/remove_fake_borrows.rs:7:11: 7:12
--         _6 = &shallow ((_1 as Some).0: &&i32); // scope 0 at $DIR/remove_fake_borrows.rs:7:11: 7:12
--         _7 = &shallow (*(*((_1 as Some).0: &&i32))); // scope 0 at $DIR/remove_fake_borrows.rs:7:11: 7:12
-+         nop;                             // scope 0 at $DIR/remove_fake_borrows.rs:7:11: 7:12
-+         nop;                             // scope 0 at $DIR/remove_fake_borrows.rs:7:11: 7:12
-+         nop;                             // scope 0 at $DIR/remove_fake_borrows.rs:7:11: 7:12
-+         nop;                             // scope 0 at $DIR/remove_fake_borrows.rs:7:11: 7:12
-          StorageLive(_8);                 // scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21
-          _8 = _2;                         // scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21
-          switchInt(move _8) -> [false: bb6, otherwise: bb5]; // scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21
+-         _4 = &shallow _1;                // scope 0 at $DIR/remove_fake_borrows.rs:+1:11: +1:12
+-         _5 = &shallow (*((_1 as Some).0: &&i32)); // scope 0 at $DIR/remove_fake_borrows.rs:+1:11: +1:12
+-         _6 = &shallow ((_1 as Some).0: &&i32); // scope 0 at $DIR/remove_fake_borrows.rs:+1:11: +1:12
+-         _7 = &shallow (*(*((_1 as Some).0: &&i32))); // scope 0 at $DIR/remove_fake_borrows.rs:+1:11: +1:12
++         nop;                             // scope 0 at $DIR/remove_fake_borrows.rs:+1:11: +1:12
++         nop;                             // scope 0 at $DIR/remove_fake_borrows.rs:+1:11: +1:12
++         nop;                             // scope 0 at $DIR/remove_fake_borrows.rs:+1:11: +1:12
++         nop;                             // scope 0 at $DIR/remove_fake_borrows.rs:+1:11: +1:12
+          StorageLive(_8);                 // scope 0 at $DIR/remove_fake_borrows.rs:+2:20: +2:21
+          _8 = _2;                         // scope 0 at $DIR/remove_fake_borrows.rs:+2:20: +2:21
+          switchInt(move _8) -> [false: bb6, otherwise: bb5]; // scope 0 at $DIR/remove_fake_borrows.rs:+2:20: +2:21
       }
   
       bb5: {
-          StorageDead(_8);                 // scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21
--         FakeRead(ForMatchGuard, _4);     // scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21
--         FakeRead(ForMatchGuard, _5);     // scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21
--         FakeRead(ForMatchGuard, _6);     // scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21
--         FakeRead(ForMatchGuard, _7);     // scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21
-+         nop;                             // scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21
-+         nop;                             // scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21
-+         nop;                             // scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21
-+         nop;                             // scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21
-          _0 = const 0_i32;                // scope 0 at $DIR/remove_fake_borrows.rs:8:25: 8:26
-          goto -> bb7;                     // scope 0 at $DIR/remove_fake_borrows.rs:8:25: 8:26
+          StorageDead(_8);                 // scope 0 at $DIR/remove_fake_borrows.rs:+2:20: +2:21
+-         FakeRead(ForMatchGuard, _4);     // scope 0 at $DIR/remove_fake_borrows.rs:+2:20: +2:21
+-         FakeRead(ForMatchGuard, _5);     // scope 0 at $DIR/remove_fake_borrows.rs:+2:20: +2:21
+-         FakeRead(ForMatchGuard, _6);     // scope 0 at $DIR/remove_fake_borrows.rs:+2:20: +2:21
+-         FakeRead(ForMatchGuard, _7);     // scope 0 at $DIR/remove_fake_borrows.rs:+2:20: +2:21
++         nop;                             // scope 0 at $DIR/remove_fake_borrows.rs:+2:20: +2:21
++         nop;                             // scope 0 at $DIR/remove_fake_borrows.rs:+2:20: +2:21
++         nop;                             // scope 0 at $DIR/remove_fake_borrows.rs:+2:20: +2:21
++         nop;                             // scope 0 at $DIR/remove_fake_borrows.rs:+2:20: +2:21
+          _0 = const 0_i32;                // scope 0 at $DIR/remove_fake_borrows.rs:+2:25: +2:26
+          goto -> bb7;                     // scope 0 at $DIR/remove_fake_borrows.rs:+2:25: +2:26
       }
   
       bb6: {
-          StorageDead(_8);                 // scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21
-          goto -> bb1;                     // scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21
+          StorageDead(_8);                 // scope 0 at $DIR/remove_fake_borrows.rs:+2:20: +2:21
+          goto -> bb1;                     // scope 0 at $DIR/remove_fake_borrows.rs:+2:20: +2:21
       }
   
       bb7: {
-          return;                          // scope 0 at $DIR/remove_fake_borrows.rs:11:2: 11:2
+          return;                          // scope 0 at $DIR/remove_fake_borrows.rs:+5:2: +5:2
       }
   
       bb8 (cleanup): {
-          resume;                          // scope 0 at $DIR/remove_fake_borrows.rs:6:1: 11:2
+          resume;                          // scope 0 at $DIR/remove_fake_borrows.rs:+0:1: +5:2
       }
   }
   
index bf62c8441fd110d3b8ab3feb9d3e531fe08a73eb..76bdd23be168485bb1d222641686edc2af715a77 100644 (file)
@@ -1,11 +1,11 @@
 // MIR for `no_codegen` after PreCodegen
 
 fn no_codegen() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/remove-never-const.rs:18:20: 18:20
+    let mut _0: ();                      // return place in scope 0 at $DIR/remove-never-const.rs:+0:20: +0:20
     scope 1 {
     }
 
     bb0: {
-        unreachable;                     // scope 0 at $DIR/remove-never-const.rs:19:13: 19:33
+        unreachable;                     // scope 0 at $DIR/remove-never-const.rs:+1:13: +1:33
     }
 }
index b2bfe4280b0afa48d9271ad5b0ea64f6335cb4f6..a17a0776437d479339354a4e00813213efdba731 100644 (file)
@@ -2,26 +2,26 @@
 + // MIR for `main` after RemoveStorageMarkers
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/remove_storage_markers.rs:6:11: 6:11
-      let mut _1: i32;                     // in scope 0 at $DIR/remove_storage_markers.rs:7:9: 7:16
-      let mut _2: std::ops::Range<i32>;    // in scope 0 at $DIR/remove_storage_markers.rs:8:14: 8:19
-      let mut _3: std::ops::Range<i32>;    // in scope 0 at $DIR/remove_storage_markers.rs:8:14: 8:19
-      let mut _5: ();                      // in scope 0 at $DIR/remove_storage_markers.rs:6:1: 11:2
-      let _6: ();                          // in scope 0 at $DIR/remove_storage_markers.rs:8:14: 8:19
-      let mut _7: std::option::Option<i32>; // in scope 0 at $DIR/remove_storage_markers.rs:8:14: 8:19
-      let mut _8: &mut std::ops::Range<i32>; // in scope 0 at $DIR/remove_storage_markers.rs:8:14: 8:19
-      let mut _9: &mut std::ops::Range<i32>; // in scope 0 at $DIR/remove_storage_markers.rs:8:14: 8:19
-      let mut _10: isize;                  // in scope 0 at $DIR/remove_storage_markers.rs:8:5: 10:6
-      let mut _11: !;                      // in scope 0 at $DIR/remove_storage_markers.rs:8:5: 10:6
-      let mut _13: i32;                    // in scope 0 at $DIR/remove_storage_markers.rs:9:16: 9:17
+      let mut _0: ();                      // return place in scope 0 at $DIR/remove_storage_markers.rs:+0:11: +0:11
+      let mut _1: i32;                     // in scope 0 at $DIR/remove_storage_markers.rs:+1:9: +1:16
+      let mut _2: std::ops::Range<i32>;    // in scope 0 at $DIR/remove_storage_markers.rs:+2:14: +2:19
+      let mut _3: std::ops::Range<i32>;    // in scope 0 at $DIR/remove_storage_markers.rs:+2:14: +2:19
+      let mut _5: ();                      // in scope 0 at $DIR/remove_storage_markers.rs:+0:1: +5:2
+      let _6: ();                          // in scope 0 at $DIR/remove_storage_markers.rs:+2:14: +2:19
+      let mut _7: std::option::Option<i32>; // in scope 0 at $DIR/remove_storage_markers.rs:+2:14: +2:19
+      let mut _8: &mut std::ops::Range<i32>; // in scope 0 at $DIR/remove_storage_markers.rs:+2:14: +2:19
+      let mut _9: &mut std::ops::Range<i32>; // in scope 0 at $DIR/remove_storage_markers.rs:+2:14: +2:19
+      let mut _10: isize;                  // in scope 0 at $DIR/remove_storage_markers.rs:+2:5: +4:6
+      let mut _11: !;                      // in scope 0 at $DIR/remove_storage_markers.rs:+2:5: +4:6
+      let mut _13: i32;                    // in scope 0 at $DIR/remove_storage_markers.rs:+3:16: +3:17
       scope 1 {
-          debug sum => _1;                 // in scope 1 at $DIR/remove_storage_markers.rs:7:9: 7:16
-          let mut _4: std::ops::Range<i32>; // in scope 1 at $DIR/remove_storage_markers.rs:8:14: 8:19
+          debug sum => _1;                 // in scope 1 at $DIR/remove_storage_markers.rs:+1:9: +1:16
+          let mut _4: std::ops::Range<i32>; // in scope 1 at $DIR/remove_storage_markers.rs:+2:14: +2:19
           scope 2 {
-              debug iter => _4;            // in scope 2 at $DIR/remove_storage_markers.rs:8:14: 8:19
-              let _12: i32;                // in scope 2 at $DIR/remove_storage_markers.rs:8:9: 8:10
+              debug iter => _4;            // in scope 2 at $DIR/remove_storage_markers.rs:+2:14: +2:19
+              let _12: i32;                // in scope 2 at $DIR/remove_storage_markers.rs:+2:9: +2:10
               scope 3 {
-                  debug i => _12;          // in scope 3 at $DIR/remove_storage_markers.rs:8:9: 8:10
+                  debug i => _12;          // in scope 3 at $DIR/remove_storage_markers.rs:+2:9: +2:10
               }
               scope 5 (inlined iter::range::<impl Iterator for std::ops::Range<i32>>::next) { // at $DIR/remove_storage_markers.rs:8:14: 8:19
                   debug self => _8;        // in scope 5 at $SRC_DIR/core/src/iter/range.rs:LL:COL
       }
   
       bb0: {
--         StorageLive(_1);                 // scope 0 at $DIR/remove_storage_markers.rs:7:9: 7:16
-          _1 = const 0_i32;                // scope 0 at $DIR/remove_storage_markers.rs:7:19: 7:20
--         StorageLive(_2);                 // scope 1 at $DIR/remove_storage_markers.rs:8:14: 8:19
--         StorageLive(_3);                 // scope 1 at $DIR/remove_storage_markers.rs:8:14: 8:19
-          Deinit(_3);                      // scope 1 at $DIR/remove_storage_markers.rs:8:14: 8:19
-          (_3.0: i32) = const 0_i32;       // scope 1 at $DIR/remove_storage_markers.rs:8:14: 8:19
-          (_3.1: i32) = const 10_i32;      // scope 1 at $DIR/remove_storage_markers.rs:8:14: 8:19
+-         StorageLive(_1);                 // scope 0 at $DIR/remove_storage_markers.rs:+1:9: +1:16
+          _1 = const 0_i32;                // scope 0 at $DIR/remove_storage_markers.rs:+1:19: +1:20
+-         StorageLive(_2);                 // scope 1 at $DIR/remove_storage_markers.rs:+2:14: +2:19
+-         StorageLive(_3);                 // scope 1 at $DIR/remove_storage_markers.rs:+2:14: +2:19
+          Deinit(_3);                      // scope 1 at $DIR/remove_storage_markers.rs:+2:14: +2:19
+          (_3.0: i32) = const 0_i32;       // scope 1 at $DIR/remove_storage_markers.rs:+2:14: +2:19
+          (_3.1: i32) = const 10_i32;      // scope 1 at $DIR/remove_storage_markers.rs:+2:14: +2:19
           _2 = move _3;                    // scope 4 at $SRC_DIR/core/src/iter/traits/collect.rs:LL:COL
--         StorageDead(_3);                 // scope 1 at $DIR/remove_storage_markers.rs:8:18: 8:19
--         StorageLive(_4);                 // scope 1 at $DIR/remove_storage_markers.rs:8:14: 8:19
-          _4 = move _2;                    // scope 1 at $DIR/remove_storage_markers.rs:8:14: 8:19
-          goto -> bb1;                     // scope 2 at $DIR/remove_storage_markers.rs:8:5: 10:6
+-         StorageDead(_3);                 // scope 1 at $DIR/remove_storage_markers.rs:+2:18: +2:19
+-         StorageLive(_4);                 // scope 1 at $DIR/remove_storage_markers.rs:+2:14: +2:19
+          _4 = move _2;                    // scope 1 at $DIR/remove_storage_markers.rs:+2:14: +2:19
+          goto -> bb1;                     // scope 2 at $DIR/remove_storage_markers.rs:+2:5: +4:6
       }
   
       bb1: {
--         StorageLive(_6);                 // scope 2 at $DIR/remove_storage_markers.rs:8:14: 8:19
--         StorageLive(_7);                 // scope 2 at $DIR/remove_storage_markers.rs:8:14: 8:19
--         StorageLive(_8);                 // scope 2 at $DIR/remove_storage_markers.rs:8:14: 8:19
--         StorageLive(_9);                 // scope 2 at $DIR/remove_storage_markers.rs:8:14: 8:19
-          _9 = &mut _4;                    // scope 2 at $DIR/remove_storage_markers.rs:8:14: 8:19
-          _8 = &mut (*_9);                 // scope 2 at $DIR/remove_storage_markers.rs:8:14: 8:19
+-         StorageLive(_6);                 // scope 2 at $DIR/remove_storage_markers.rs:+2:14: +2:19
+-         StorageLive(_7);                 // scope 2 at $DIR/remove_storage_markers.rs:+2:14: +2:19
+-         StorageLive(_8);                 // scope 2 at $DIR/remove_storage_markers.rs:+2:14: +2:19
+-         StorageLive(_9);                 // scope 2 at $DIR/remove_storage_markers.rs:+2:14: +2:19
+          _9 = &mut _4;                    // scope 2 at $DIR/remove_storage_markers.rs:+2:14: +2:19
+          _8 = &mut (*_9);                 // scope 2 at $DIR/remove_storage_markers.rs:+2:14: +2:19
 -         StorageLive(_14);                // scope 5 at $SRC_DIR/core/src/iter/range.rs:LL:COL
           _14 = &mut (*_8);                // scope 5 at $SRC_DIR/core/src/iter/range.rs:LL:COL
           _7 = <std::ops::Range<i32> as iter::range::RangeIteratorImpl>::spec_next(move _14) -> bb4; // scope 5 at $SRC_DIR/core/src/iter/range.rs:LL:COL
       }
   
       bb2: {
--         StorageLive(_12);                // scope 2 at $DIR/remove_storage_markers.rs:8:9: 8:10
-          _12 = ((_7 as Some).0: i32);     // scope 2 at $DIR/remove_storage_markers.rs:8:9: 8:10
--         StorageLive(_13);                // scope 3 at $DIR/remove_storage_markers.rs:9:16: 9:17
-          _13 = _12;                       // scope 3 at $DIR/remove_storage_markers.rs:9:16: 9:17
-          _1 = Add(_1, move _13);          // scope 3 at $DIR/remove_storage_markers.rs:9:9: 9:17
--         StorageDead(_13);                // scope 3 at $DIR/remove_storage_markers.rs:9:16: 9:17
-          _6 = const ();                   // scope 3 at $DIR/remove_storage_markers.rs:8:20: 10:6
--         StorageDead(_12);                // scope 2 at $DIR/remove_storage_markers.rs:10:5: 10:6
--         StorageDead(_9);                 // scope 2 at $DIR/remove_storage_markers.rs:10:5: 10:6
--         StorageDead(_7);                 // scope 2 at $DIR/remove_storage_markers.rs:10:5: 10:6
--         StorageDead(_6);                 // scope 2 at $DIR/remove_storage_markers.rs:10:5: 10:6
-          _5 = const ();                   // scope 2 at $DIR/remove_storage_markers.rs:8:5: 10:6
-          goto -> bb1;                     // scope 2 at $DIR/remove_storage_markers.rs:8:5: 10:6
+-         StorageLive(_12);                // scope 2 at $DIR/remove_storage_markers.rs:+2:9: +2:10
+          _12 = ((_7 as Some).0: i32);     // scope 2 at $DIR/remove_storage_markers.rs:+2:9: +2:10
+-         StorageLive(_13);                // scope 3 at $DIR/remove_storage_markers.rs:+3:16: +3:17
+          _13 = _12;                       // scope 3 at $DIR/remove_storage_markers.rs:+3:16: +3:17
+          _1 = Add(_1, move _13);          // scope 3 at $DIR/remove_storage_markers.rs:+3:9: +3:17
+-         StorageDead(_13);                // scope 3 at $DIR/remove_storage_markers.rs:+3:16: +3:17
+          _6 = const ();                   // scope 3 at $DIR/remove_storage_markers.rs:+2:20: +4:6
+-         StorageDead(_12);                // scope 2 at $DIR/remove_storage_markers.rs:+4:5: +4:6
+-         StorageDead(_9);                 // scope 2 at $DIR/remove_storage_markers.rs:+4:5: +4:6
+-         StorageDead(_7);                 // scope 2 at $DIR/remove_storage_markers.rs:+4:5: +4:6
+-         StorageDead(_6);                 // scope 2 at $DIR/remove_storage_markers.rs:+4:5: +4:6
+          _5 = const ();                   // scope 2 at $DIR/remove_storage_markers.rs:+2:5: +4:6
+          goto -> bb1;                     // scope 2 at $DIR/remove_storage_markers.rs:+2:5: +4:6
       }
   
       bb3: {
-          _0 = const ();                   // scope 2 at $DIR/remove_storage_markers.rs:8:5: 10:6
--         StorageDead(_9);                 // scope 2 at $DIR/remove_storage_markers.rs:10:5: 10:6
--         StorageDead(_7);                 // scope 2 at $DIR/remove_storage_markers.rs:10:5: 10:6
--         StorageDead(_6);                 // scope 2 at $DIR/remove_storage_markers.rs:10:5: 10:6
--         StorageDead(_4);                 // scope 1 at $DIR/remove_storage_markers.rs:10:5: 10:6
--         StorageDead(_2);                 // scope 1 at $DIR/remove_storage_markers.rs:10:5: 10:6
--         StorageDead(_1);                 // scope 0 at $DIR/remove_storage_markers.rs:11:1: 11:2
-          return;                          // scope 0 at $DIR/remove_storage_markers.rs:11:2: 11:2
+          _0 = const ();                   // scope 2 at $DIR/remove_storage_markers.rs:+2:5: +4:6
+-         StorageDead(_9);                 // scope 2 at $DIR/remove_storage_markers.rs:+4:5: +4:6
+-         StorageDead(_7);                 // scope 2 at $DIR/remove_storage_markers.rs:+4:5: +4:6
+-         StorageDead(_6);                 // scope 2 at $DIR/remove_storage_markers.rs:+4:5: +4:6
+-         StorageDead(_4);                 // scope 1 at $DIR/remove_storage_markers.rs:+4:5: +4:6
+-         StorageDead(_2);                 // scope 1 at $DIR/remove_storage_markers.rs:+4:5: +4:6
+-         StorageDead(_1);                 // scope 0 at $DIR/remove_storage_markers.rs:+5:1: +5:2
+          return;                          // scope 0 at $DIR/remove_storage_markers.rs:+5:2: +5:2
       }
   
       bb4: {
 -         StorageDead(_14);                // scope 5 at $SRC_DIR/core/src/iter/range.rs:LL:COL
--         StorageDead(_8);                 // scope 2 at $DIR/remove_storage_markers.rs:8:18: 8:19
-          _10 = discriminant(_7);          // scope 2 at $DIR/remove_storage_markers.rs:8:14: 8:19
-          switchInt(move _10) -> [0_isize: bb3, otherwise: bb2]; // scope 2 at $DIR/remove_storage_markers.rs:8:14: 8:19
+-         StorageDead(_8);                 // scope 2 at $DIR/remove_storage_markers.rs:+2:18: +2:19
+          _10 = discriminant(_7);          // scope 2 at $DIR/remove_storage_markers.rs:+2:14: +2:19
+          switchInt(move _10) -> [0_isize: bb3, otherwise: bb2]; // scope 2 at $DIR/remove_storage_markers.rs:+2:14: +2:19
       }
   
       bb5 (cleanup): {
-          resume;                          // scope 0 at $DIR/remove_storage_markers.rs:6:1: 11:2
+          resume;                          // scope 0 at $DIR/remove_storage_markers.rs:+0:1: +5:2
       }
   }
   
index 8b321130236f81c47f9362593e03fe9004d08a79..07e4dd418132447694b25844c9bba7f74e1e2584 100644 (file)
@@ -2,30 +2,30 @@
 + // MIR for `cannot_opt_generic` after RemoveUnneededDrops
   
   fn cannot_opt_generic(_1: T) -> () {
-      debug x => _1;                       // in scope 0 at $DIR/remove_unneeded_drops.rs:20:26: 20:27
-      let mut _0: ();                      // return place in scope 0 at $DIR/remove_unneeded_drops.rs:20:32: 20:32
-      let _2: ();                          // in scope 0 at $DIR/remove_unneeded_drops.rs:21:5: 21:12
-      let mut _3: T;                       // in scope 0 at $DIR/remove_unneeded_drops.rs:21:10: 21:11
+      debug x => _1;                       // in scope 0 at $DIR/remove_unneeded_drops.rs:+0:26: +0:27
+      let mut _0: ();                      // return place in scope 0 at $DIR/remove_unneeded_drops.rs:+0:32: +0:32
+      let _2: ();                          // in scope 0 at $DIR/remove_unneeded_drops.rs:+1:5: +1:12
+      let mut _3: T;                       // in scope 0 at $DIR/remove_unneeded_drops.rs:+1:10: +1:11
       scope 1 (inlined std::mem::drop::<T>) { // at $DIR/remove_unneeded_drops.rs:21:5: 21:12
           debug _x => _3;                  // in scope 1 at $SRC_DIR/core/src/mem/mod.rs:LL:COL
       }
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/remove_unneeded_drops.rs:21:5: 21:12
-          StorageLive(_3);                 // scope 0 at $DIR/remove_unneeded_drops.rs:21:10: 21:11
-          _3 = move _1;                    // scope 0 at $DIR/remove_unneeded_drops.rs:21:10: 21:11
+          StorageLive(_2);                 // scope 0 at $DIR/remove_unneeded_drops.rs:+1:5: +1:12
+          StorageLive(_3);                 // scope 0 at $DIR/remove_unneeded_drops.rs:+1:10: +1:11
+          _3 = move _1;                    // scope 0 at $DIR/remove_unneeded_drops.rs:+1:10: +1:11
           drop(_3) -> [return: bb2, unwind: bb1]; // scope 1 at $SRC_DIR/core/src/mem/mod.rs:LL:COL
       }
   
       bb1 (cleanup): {
-          resume;                          // scope 0 at $DIR/remove_unneeded_drops.rs:20:1: 22:2
+          resume;                          // scope 0 at $DIR/remove_unneeded_drops.rs:+0:1: +2:2
       }
   
       bb2: {
-          StorageDead(_3);                 // scope 0 at $DIR/remove_unneeded_drops.rs:21:11: 21:12
-          StorageDead(_2);                 // scope 0 at $DIR/remove_unneeded_drops.rs:21:12: 21:13
-          nop;                             // scope 0 at $DIR/remove_unneeded_drops.rs:20:32: 22:2
-          return;                          // scope 0 at $DIR/remove_unneeded_drops.rs:22:2: 22:2
+          StorageDead(_3);                 // scope 0 at $DIR/remove_unneeded_drops.rs:+1:11: +1:12
+          StorageDead(_2);                 // scope 0 at $DIR/remove_unneeded_drops.rs:+1:12: +1:13
+          nop;                             // scope 0 at $DIR/remove_unneeded_drops.rs:+0:32: +2:2
+          return;                          // scope 0 at $DIR/remove_unneeded_drops.rs:+2:2: +2:2
       }
   }
   
index a0c8565134cd9d4e18d3991a2ce0604a874ddf7b..e809ca4e9006681feee2a11152ba7edab76bfde9 100644 (file)
@@ -2,30 +2,30 @@
 + // MIR for `dont_opt` after RemoveUnneededDrops
   
   fn dont_opt(_1: Vec<bool>) -> () {
-      debug x => _1;                       // in scope 0 at $DIR/remove_unneeded_drops.rs:8:13: 8:14
-      let mut _0: ();                      // return place in scope 0 at $DIR/remove_unneeded_drops.rs:8:27: 8:27
-      let _2: ();                          // in scope 0 at $DIR/remove_unneeded_drops.rs:9:5: 9:12
-      let mut _3: std::vec::Vec<bool>;     // in scope 0 at $DIR/remove_unneeded_drops.rs:9:10: 9:11
+      debug x => _1;                       // in scope 0 at $DIR/remove_unneeded_drops.rs:+0:13: +0:14
+      let mut _0: ();                      // return place in scope 0 at $DIR/remove_unneeded_drops.rs:+0:27: +0:27
+      let _2: ();                          // in scope 0 at $DIR/remove_unneeded_drops.rs:+1:5: +1:12
+      let mut _3: std::vec::Vec<bool>;     // in scope 0 at $DIR/remove_unneeded_drops.rs:+1:10: +1:11
       scope 1 (inlined std::mem::drop::<Vec<bool>>) { // at $DIR/remove_unneeded_drops.rs:9:5: 9:12
           debug _x => _3;                  // in scope 1 at $SRC_DIR/core/src/mem/mod.rs:LL:COL
       }
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/remove_unneeded_drops.rs:9:5: 9:12
-          StorageLive(_3);                 // scope 0 at $DIR/remove_unneeded_drops.rs:9:10: 9:11
-          _3 = move _1;                    // scope 0 at $DIR/remove_unneeded_drops.rs:9:10: 9:11
+          StorageLive(_2);                 // scope 0 at $DIR/remove_unneeded_drops.rs:+1:5: +1:12
+          StorageLive(_3);                 // scope 0 at $DIR/remove_unneeded_drops.rs:+1:10: +1:11
+          _3 = move _1;                    // scope 0 at $DIR/remove_unneeded_drops.rs:+1:10: +1:11
           drop(_3) -> [return: bb2, unwind: bb1]; // scope 1 at $SRC_DIR/core/src/mem/mod.rs:LL:COL
       }
   
       bb1 (cleanup): {
-          resume;                          // scope 0 at $DIR/remove_unneeded_drops.rs:8:1: 10:2
+          resume;                          // scope 0 at $DIR/remove_unneeded_drops.rs:+0:1: +2:2
       }
   
       bb2: {
-          StorageDead(_3);                 // scope 0 at $DIR/remove_unneeded_drops.rs:9:11: 9:12
-          StorageDead(_2);                 // scope 0 at $DIR/remove_unneeded_drops.rs:9:12: 9:13
-          nop;                             // scope 0 at $DIR/remove_unneeded_drops.rs:8:27: 10:2
-          return;                          // scope 0 at $DIR/remove_unneeded_drops.rs:10:2: 10:2
+          StorageDead(_3);                 // scope 0 at $DIR/remove_unneeded_drops.rs:+1:11: +1:12
+          StorageDead(_2);                 // scope 0 at $DIR/remove_unneeded_drops.rs:+1:12: +1:13
+          nop;                             // scope 0 at $DIR/remove_unneeded_drops.rs:+0:27: +2:2
+          return;                          // scope 0 at $DIR/remove_unneeded_drops.rs:+2:2: +2:2
       }
   }
   
index 44eda308bdf9020f0bb79119961c7c94cfb2c803..b29b08f836d33ecd413d6edd52b0319ee943d824 100644 (file)
@@ -2,30 +2,30 @@
 + // MIR for `opt` after RemoveUnneededDrops
   
   fn opt(_1: bool) -> () {
-      debug x => _1;                       // in scope 0 at $DIR/remove_unneeded_drops.rs:3:8: 3:9
-      let mut _0: ();                      // return place in scope 0 at $DIR/remove_unneeded_drops.rs:3:17: 3:17
-      let _2: ();                          // in scope 0 at $DIR/remove_unneeded_drops.rs:4:5: 4:12
-      let mut _3: bool;                    // in scope 0 at $DIR/remove_unneeded_drops.rs:4:10: 4:11
+      debug x => _1;                       // in scope 0 at $DIR/remove_unneeded_drops.rs:+0:8: +0:9
+      let mut _0: ();                      // return place in scope 0 at $DIR/remove_unneeded_drops.rs:+0:17: +0:17
+      let _2: ();                          // in scope 0 at $DIR/remove_unneeded_drops.rs:+1:5: +1:12
+      let mut _3: bool;                    // in scope 0 at $DIR/remove_unneeded_drops.rs:+1:10: +1:11
       scope 1 (inlined std::mem::drop::<bool>) { // at $DIR/remove_unneeded_drops.rs:4:5: 4:12
           debug _x => _3;                  // in scope 1 at $SRC_DIR/core/src/mem/mod.rs:LL:COL
       }
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/remove_unneeded_drops.rs:4:5: 4:12
-          StorageLive(_3);                 // scope 0 at $DIR/remove_unneeded_drops.rs:4:10: 4:11
-          _3 = _1;                         // scope 0 at $DIR/remove_unneeded_drops.rs:4:10: 4:11
+          StorageLive(_2);                 // scope 0 at $DIR/remove_unneeded_drops.rs:+1:5: +1:12
+          StorageLive(_3);                 // scope 0 at $DIR/remove_unneeded_drops.rs:+1:10: +1:11
+          _3 = _1;                         // scope 0 at $DIR/remove_unneeded_drops.rs:+1:10: +1:11
 -         drop(_3) -> bb1;                 // scope 1 at $SRC_DIR/core/src/mem/mod.rs:LL:COL
 -     }
 - 
 -     bb1: {
-          StorageDead(_3);                 // scope 0 at $DIR/remove_unneeded_drops.rs:4:11: 4:12
-          StorageDead(_2);                 // scope 0 at $DIR/remove_unneeded_drops.rs:4:12: 4:13
--         nop;                             // scope 0 at $DIR/remove_unneeded_drops.rs:3:17: 5:2
-          return;                          // scope 0 at $DIR/remove_unneeded_drops.rs:5:2: 5:2
+          StorageDead(_3);                 // scope 0 at $DIR/remove_unneeded_drops.rs:+1:11: +1:12
+          StorageDead(_2);                 // scope 0 at $DIR/remove_unneeded_drops.rs:+1:12: +1:13
+-         nop;                             // scope 0 at $DIR/remove_unneeded_drops.rs:+0:17: +2:2
+          return;                          // scope 0 at $DIR/remove_unneeded_drops.rs:+2:2: +2:2
 -     }
 - 
 -     bb2 (cleanup): {
--         resume;                          // scope 0 at $DIR/remove_unneeded_drops.rs:3:1: 5:2
+-         resume;                          // scope 0 at $DIR/remove_unneeded_drops.rs:+0:1: +2:2
       }
   }
   
index 85de00e7001a7c5a7e4e2e29cde2803cbf8071b4..9058ddbd7ec7975f81c21293562dcedecec82e1d 100644 (file)
@@ -2,30 +2,30 @@
 + // MIR for `opt_generic_copy` after RemoveUnneededDrops
   
   fn opt_generic_copy(_1: T) -> () {
-      debug x => _1;                       // in scope 0 at $DIR/remove_unneeded_drops.rs:13:30: 13:31
-      let mut _0: ();                      // return place in scope 0 at $DIR/remove_unneeded_drops.rs:13:36: 13:36
-      let _2: ();                          // in scope 0 at $DIR/remove_unneeded_drops.rs:14:5: 14:12
-      let mut _3: T;                       // in scope 0 at $DIR/remove_unneeded_drops.rs:14:10: 14:11
+      debug x => _1;                       // in scope 0 at $DIR/remove_unneeded_drops.rs:+0:30: +0:31
+      let mut _0: ();                      // return place in scope 0 at $DIR/remove_unneeded_drops.rs:+0:36: +0:36
+      let _2: ();                          // in scope 0 at $DIR/remove_unneeded_drops.rs:+1:5: +1:12
+      let mut _3: T;                       // in scope 0 at $DIR/remove_unneeded_drops.rs:+1:10: +1:11
       scope 1 (inlined std::mem::drop::<T>) { // at $DIR/remove_unneeded_drops.rs:14:5: 14:12
           debug _x => _3;                  // in scope 1 at $SRC_DIR/core/src/mem/mod.rs:LL:COL
       }
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/remove_unneeded_drops.rs:14:5: 14:12
-          StorageLive(_3);                 // scope 0 at $DIR/remove_unneeded_drops.rs:14:10: 14:11
-          _3 = _1;                         // scope 0 at $DIR/remove_unneeded_drops.rs:14:10: 14:11
+          StorageLive(_2);                 // scope 0 at $DIR/remove_unneeded_drops.rs:+1:5: +1:12
+          StorageLive(_3);                 // scope 0 at $DIR/remove_unneeded_drops.rs:+1:10: +1:11
+          _3 = _1;                         // scope 0 at $DIR/remove_unneeded_drops.rs:+1:10: +1:11
 -         drop(_3) -> bb1;                 // scope 1 at $SRC_DIR/core/src/mem/mod.rs:LL:COL
 -     }
 - 
 -     bb1: {
-          StorageDead(_3);                 // scope 0 at $DIR/remove_unneeded_drops.rs:14:11: 14:12
-          StorageDead(_2);                 // scope 0 at $DIR/remove_unneeded_drops.rs:14:12: 14:13
--         nop;                             // scope 0 at $DIR/remove_unneeded_drops.rs:13:36: 15:2
-          return;                          // scope 0 at $DIR/remove_unneeded_drops.rs:15:2: 15:2
+          StorageDead(_3);                 // scope 0 at $DIR/remove_unneeded_drops.rs:+1:11: +1:12
+          StorageDead(_2);                 // scope 0 at $DIR/remove_unneeded_drops.rs:+1:12: +1:13
+-         nop;                             // scope 0 at $DIR/remove_unneeded_drops.rs:+0:36: +2:2
+          return;                          // scope 0 at $DIR/remove_unneeded_drops.rs:+2:2: +2:2
 -     }
 - 
 -     bb2 (cleanup): {
--         resume;                          // scope 0 at $DIR/remove_unneeded_drops.rs:13:1: 15:2
+-         resume;                          // scope 0 at $DIR/remove_unneeded_drops.rs:+0:1: +2:2
       }
   }
   
index ad8f0acc763a65a1536b2e308f711557d631c61f..7d9e6046202ca312023fefc4b4c35e5bd94f7dae 100644 (file)
@@ -1,15 +1,15 @@
 // MIR for `get_union` after RemoveZsts
 
 fn get_union() -> Foo {
-    let mut _0: Foo;                     // return place in scope 0 at $DIR/remove_zsts_dont_touch_unions.rs:12:19: 12:22
-    let mut _1: ();                      // in scope 0 at $DIR/remove_zsts_dont_touch_unions.rs:13:14: 13:16
+    let mut _0: Foo;                     // return place in scope 0 at $DIR/remove_zsts_dont_touch_unions.rs:+0:19: +0:22
+    let mut _1: ();                      // in scope 0 at $DIR/remove_zsts_dont_touch_unions.rs:+1:14: +1:16
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/remove_zsts_dont_touch_unions.rs:13:14: 13:16
-        nop;                             // scope 0 at $DIR/remove_zsts_dont_touch_unions.rs:13:14: 13:16
-        Deinit(_0);                      // scope 0 at $DIR/remove_zsts_dont_touch_unions.rs:13:5: 13:18
-        (_0.0: ()) = move _1;            // scope 0 at $DIR/remove_zsts_dont_touch_unions.rs:13:5: 13:18
-        StorageDead(_1);                 // scope 0 at $DIR/remove_zsts_dont_touch_unions.rs:13:17: 13:18
-        return;                          // scope 0 at $DIR/remove_zsts_dont_touch_unions.rs:14:2: 14:2
+        StorageLive(_1);                 // scope 0 at $DIR/remove_zsts_dont_touch_unions.rs:+1:14: +1:16
+        nop;                             // scope 0 at $DIR/remove_zsts_dont_touch_unions.rs:+1:14: +1:16
+        Deinit(_0);                      // scope 0 at $DIR/remove_zsts_dont_touch_unions.rs:+1:5: +1:18
+        (_0.0: ()) = move _1;            // scope 0 at $DIR/remove_zsts_dont_touch_unions.rs:+1:5: +1:18
+        StorageDead(_1);                 // scope 0 at $DIR/remove_zsts_dont_touch_unions.rs:+1:17: +1:18
+        return;                          // scope 0 at $DIR/remove_zsts_dont_touch_unions.rs:+2:2: +2:2
     }
 }
index 05e83b13a50c464753bfdad70bd041c3660a6ab9..451d0fe4c02dcdb51a9f844f5e6a6f1ccfb54608 100644 (file)
@@ -1,23 +1,23 @@
 // MIR for `array_casts` after SimplifyCfg-elaborate-drops
 
 fn array_casts() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/retag.rs:57:18: 57:18
-    let mut _1: [usize; 2];              // in scope 0 at $DIR/retag.rs:58:9: 58:14
-    let mut _3: *mut [usize; 2];         // in scope 0 at $DIR/retag.rs:59:13: 59:19
-    let mut _4: &mut [usize; 2];         // in scope 0 at $DIR/retag.rs:59:13: 59:19
-    let _5: ();                          // in scope 0 at $DIR/retag.rs:60:5: 60:30
-    let mut _6: *mut usize;              // in scope 0 at $DIR/retag.rs:60:15: 60:23
-    let mut _7: *mut usize;              // in scope 0 at $DIR/retag.rs:60:15: 60:16
-    let mut _10: *const [usize; 2];      // in scope 0 at $DIR/retag.rs:63:13: 63:15
-    let _11: &[usize; 2];                // in scope 0 at $DIR/retag.rs:63:13: 63:15
+    let mut _0: ();                      // return place in scope 0 at $DIR/retag.rs:+0:18: +0:18
+    let mut _1: [usize; 2];              // in scope 0 at $DIR/retag.rs:+1:9: +1:14
+    let mut _3: *mut [usize; 2];         // in scope 0 at $DIR/retag.rs:+2:13: +2:19
+    let mut _4: &mut [usize; 2];         // in scope 0 at $DIR/retag.rs:+2:13: +2:19
+    let _5: ();                          // in scope 0 at $DIR/retag.rs:+3:5: +3:30
+    let mut _6: *mut usize;              // in scope 0 at $DIR/retag.rs:+3:15: +3:23
+    let mut _7: *mut usize;              // in scope 0 at $DIR/retag.rs:+3:15: +3:16
+    let mut _10: *const [usize; 2];      // in scope 0 at $DIR/retag.rs:+6:13: +6:15
+    let _11: &[usize; 2];                // in scope 0 at $DIR/retag.rs:+6:13: +6:15
     let _12: ();                         // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
     let mut _13: (&usize, &usize);       // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
     let mut _14: &usize;                 // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-    let _15: usize;                      // in scope 0 at $DIR/retag.rs:64:16: 64:36
-    let mut _16: *const usize;           // in scope 0 at $DIR/retag.rs:64:26: 64:34
-    let mut _17: *const usize;           // in scope 0 at $DIR/retag.rs:64:26: 64:27
+    let _15: usize;                      // in scope 0 at $DIR/retag.rs:+7:16: +7:36
+    let mut _16: *const usize;           // in scope 0 at $DIR/retag.rs:+7:26: +7:34
+    let mut _17: *const usize;           // in scope 0 at $DIR/retag.rs:+7:26: +7:27
     let mut _18: &usize;                 // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-    let _19: usize;                      // in scope 0 at $DIR/retag.rs:64:38: 64:39
+    let _19: usize;                      // in scope 0 at $DIR/retag.rs:+7:38: +7:39
     let mut _22: bool;                   // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
     let mut _23: bool;                   // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
     let mut _24: usize;                  // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
@@ -31,18 +31,18 @@ fn array_casts() -> () {
     let _33: &usize;                     // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
     let mut _34: std::option::Option<std::fmt::Arguments>; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
     scope 1 {
-        debug x => _1;                   // in scope 1 at $DIR/retag.rs:58:9: 58:14
-        let _2: *mut usize;              // in scope 1 at $DIR/retag.rs:59:9: 59:10
+        debug x => _1;                   // in scope 1 at $DIR/retag.rs:+1:9: +1:14
+        let _2: *mut usize;              // in scope 1 at $DIR/retag.rs:+2:9: +2:10
         scope 2 {
-            debug p => _2;               // in scope 2 at $DIR/retag.rs:59:9: 59:10
-            let _8: [usize; 2];          // in scope 2 at $DIR/retag.rs:62:9: 62:10
+            debug p => _2;               // in scope 2 at $DIR/retag.rs:+2:9: +2:10
+            let _8: [usize; 2];          // in scope 2 at $DIR/retag.rs:+5:9: +5:10
             scope 3 {
             }
             scope 4 {
-                debug x => _8;           // in scope 4 at $DIR/retag.rs:62:9: 62:10
-                let _9: *const usize;    // in scope 4 at $DIR/retag.rs:63:9: 63:10
+                debug x => _8;           // in scope 4 at $DIR/retag.rs:+5:9: +5:10
+                let _9: *const usize;    // in scope 4 at $DIR/retag.rs:+6:9: +6:10
                 scope 5 {
-                    debug p => _9;       // in scope 5 at $DIR/retag.rs:63:9: 63:10
+                    debug p => _9;       // in scope 5 at $DIR/retag.rs:+6:9: +6:10
                     let _20: &usize;     // in scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
                     let _21: &usize;     // in scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
                     let mut _35: &usize; // in scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
@@ -62,62 +62,62 @@ fn array_casts() -> () {
     }
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/retag.rs:58:9: 58:14
-        _1 = [const 0_usize, const 0_usize]; // scope 0 at $DIR/retag.rs:58:29: 58:35
-        StorageLive(_2);                 // scope 1 at $DIR/retag.rs:59:9: 59:10
-        StorageLive(_3);                 // scope 1 at $DIR/retag.rs:59:13: 59:19
-        StorageLive(_4);                 // scope 1 at $DIR/retag.rs:59:13: 59:19
-        _4 = &mut _1;                    // scope 1 at $DIR/retag.rs:59:13: 59:19
-        Retag(_4);                       // scope 1 at $DIR/retag.rs:59:13: 59:19
-        _3 = &raw mut (*_4);             // scope 1 at $DIR/retag.rs:59:13: 59:19
-        Retag([raw] _3);                 // scope 1 at $DIR/retag.rs:59:13: 59:19
-        _2 = move _3 as *mut usize (Pointer(ArrayToPointer)); // scope 1 at $DIR/retag.rs:59:13: 59:33
-        StorageDead(_3);                 // scope 1 at $DIR/retag.rs:59:32: 59:33
-        StorageDead(_4);                 // scope 1 at $DIR/retag.rs:59:33: 59:34
-        StorageLive(_5);                 // scope 2 at $DIR/retag.rs:60:5: 60:30
-        StorageLive(_6);                 // scope 3 at $DIR/retag.rs:60:15: 60:23
-        StorageLive(_7);                 // scope 3 at $DIR/retag.rs:60:15: 60:16
-        _7 = _2;                         // scope 3 at $DIR/retag.rs:60:15: 60:16
-        _6 = ptr::mut_ptr::<impl *mut usize>::add(move _7, const 1_usize) -> bb1; // scope 3 at $DIR/retag.rs:60:15: 60:23
+        StorageLive(_1);                 // scope 0 at $DIR/retag.rs:+1:9: +1:14
+        _1 = [const 0_usize, const 0_usize]; // scope 0 at $DIR/retag.rs:+1:29: +1:35
+        StorageLive(_2);                 // scope 1 at $DIR/retag.rs:+2:9: +2:10
+        StorageLive(_3);                 // scope 1 at $DIR/retag.rs:+2:13: +2:19
+        StorageLive(_4);                 // scope 1 at $DIR/retag.rs:+2:13: +2:19
+        _4 = &mut _1;                    // scope 1 at $DIR/retag.rs:+2:13: +2:19
+        Retag(_4);                       // scope 1 at $DIR/retag.rs:+2:13: +2:19
+        _3 = &raw mut (*_4);             // scope 1 at $DIR/retag.rs:+2:13: +2:19
+        Retag([raw] _3);                 // scope 1 at $DIR/retag.rs:+2:13: +2:19
+        _2 = move _3 as *mut usize (Pointer(ArrayToPointer)); // scope 1 at $DIR/retag.rs:+2:13: +2:33
+        StorageDead(_3);                 // scope 1 at $DIR/retag.rs:+2:32: +2:33
+        StorageDead(_4);                 // scope 1 at $DIR/retag.rs:+2:33: +2:34
+        StorageLive(_5);                 // scope 2 at $DIR/retag.rs:+3:5: +3:30
+        StorageLive(_6);                 // scope 3 at $DIR/retag.rs:+3:15: +3:23
+        StorageLive(_7);                 // scope 3 at $DIR/retag.rs:+3:15: +3:16
+        _7 = _2;                         // scope 3 at $DIR/retag.rs:+3:15: +3:16
+        _6 = ptr::mut_ptr::<impl *mut usize>::add(move _7, const 1_usize) -> bb1; // scope 3 at $DIR/retag.rs:+3:15: +3:23
                                          // mir::Constant
                                          // + span: $DIR/retag.rs:60:17: 60:20
                                          // + literal: Const { ty: unsafe fn(*mut usize, usize) -> *mut usize {ptr::mut_ptr::<impl *mut usize>::add}, val: Value(<ZST>) }
     }
 
     bb1: {
-        StorageDead(_7);                 // scope 3 at $DIR/retag.rs:60:22: 60:23
-        (*_6) = const 1_usize;           // scope 3 at $DIR/retag.rs:60:14: 60:27
-        StorageDead(_6);                 // scope 3 at $DIR/retag.rs:60:27: 60:28
-        _5 = const ();                   // scope 3 at $DIR/retag.rs:60:5: 60:30
-        StorageDead(_5);                 // scope 2 at $DIR/retag.rs:60:29: 60:30
-        StorageLive(_8);                 // scope 2 at $DIR/retag.rs:62:9: 62:10
-        _8 = [const 0_usize, const 1_usize]; // scope 2 at $DIR/retag.rs:62:25: 62:31
-        StorageLive(_9);                 // scope 4 at $DIR/retag.rs:63:9: 63:10
-        StorageLive(_10);                // scope 4 at $DIR/retag.rs:63:13: 63:15
-        StorageLive(_11);                // scope 4 at $DIR/retag.rs:63:13: 63:15
-        _11 = &_8;                       // scope 4 at $DIR/retag.rs:63:13: 63:15
-        Retag(_11);                      // scope 4 at $DIR/retag.rs:63:13: 63:15
-        _10 = &raw const (*_11);         // scope 4 at $DIR/retag.rs:63:13: 63:15
-        Retag([raw] _10);                // scope 4 at $DIR/retag.rs:63:13: 63:15
-        _9 = move _10 as *const usize (Pointer(ArrayToPointer)); // scope 4 at $DIR/retag.rs:63:13: 63:31
-        StorageDead(_10);                // scope 4 at $DIR/retag.rs:63:30: 63:31
-        StorageDead(_11);                // scope 4 at $DIR/retag.rs:63:31: 63:32
+        StorageDead(_7);                 // scope 3 at $DIR/retag.rs:+3:22: +3:23
+        (*_6) = const 1_usize;           // scope 3 at $DIR/retag.rs:+3:14: +3:27
+        StorageDead(_6);                 // scope 3 at $DIR/retag.rs:+3:27: +3:28
+        _5 = const ();                   // scope 3 at $DIR/retag.rs:+3:5: +3:30
+        StorageDead(_5);                 // scope 2 at $DIR/retag.rs:+3:29: +3:30
+        StorageLive(_8);                 // scope 2 at $DIR/retag.rs:+5:9: +5:10
+        _8 = [const 0_usize, const 1_usize]; // scope 2 at $DIR/retag.rs:+5:25: +5:31
+        StorageLive(_9);                 // scope 4 at $DIR/retag.rs:+6:9: +6:10
+        StorageLive(_10);                // scope 4 at $DIR/retag.rs:+6:13: +6:15
+        StorageLive(_11);                // scope 4 at $DIR/retag.rs:+6:13: +6:15
+        _11 = &_8;                       // scope 4 at $DIR/retag.rs:+6:13: +6:15
+        Retag(_11);                      // scope 4 at $DIR/retag.rs:+6:13: +6:15
+        _10 = &raw const (*_11);         // scope 4 at $DIR/retag.rs:+6:13: +6:15
+        Retag([raw] _10);                // scope 4 at $DIR/retag.rs:+6:13: +6:15
+        _9 = move _10 as *const usize (Pointer(ArrayToPointer)); // scope 4 at $DIR/retag.rs:+6:13: +6:31
+        StorageDead(_10);                // scope 4 at $DIR/retag.rs:+6:30: +6:31
+        StorageDead(_11);                // scope 4 at $DIR/retag.rs:+6:31: +6:32
         StorageLive(_12);                // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
         StorageLive(_13);                // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
         StorageLive(_14);                // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-        StorageLive(_15);                // scope 5 at $DIR/retag.rs:64:16: 64:36
-        StorageLive(_16);                // scope 6 at $DIR/retag.rs:64:26: 64:34
-        StorageLive(_17);                // scope 6 at $DIR/retag.rs:64:26: 64:27
-        _17 = _9;                        // scope 6 at $DIR/retag.rs:64:26: 64:27
-        _16 = ptr::const_ptr::<impl *const usize>::add(move _17, const 1_usize) -> bb2; // scope 6 at $DIR/retag.rs:64:26: 64:34
+        StorageLive(_15);                // scope 5 at $DIR/retag.rs:+7:16: +7:36
+        StorageLive(_16);                // scope 6 at $DIR/retag.rs:+7:26: +7:34
+        StorageLive(_17);                // scope 6 at $DIR/retag.rs:+7:26: +7:27
+        _17 = _9;                        // scope 6 at $DIR/retag.rs:+7:26: +7:27
+        _16 = ptr::const_ptr::<impl *const usize>::add(move _17, const 1_usize) -> bb2; // scope 6 at $DIR/retag.rs:+7:26: +7:34
                                          // mir::Constant
                                          // + span: $DIR/retag.rs:64:28: 64:31
                                          // + literal: Const { ty: unsafe fn(*const usize, usize) -> *const usize {ptr::const_ptr::<impl *const usize>::add}, val: Value(<ZST>) }
     }
 
     bb2: {
-        StorageDead(_17);                // scope 6 at $DIR/retag.rs:64:33: 64:34
-        _15 = (*_16);                    // scope 6 at $DIR/retag.rs:64:25: 64:34
+        StorageDead(_17);                // scope 6 at $DIR/retag.rs:+7:33: +7:34
+        _15 = (*_16);                    // scope 6 at $DIR/retag.rs:+7:25: +7:34
         _14 = &_15;                      // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
         Retag(_14);                      // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
         StorageLive(_18);                // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
@@ -188,11 +188,11 @@ fn array_casts() -> () {
         StorageDead(_15);                // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
         StorageDead(_13);                // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
         StorageDead(_12);                // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
-        _0 = const ();                   // scope 0 at $DIR/retag.rs:57:18: 65:2
-        StorageDead(_9);                 // scope 4 at $DIR/retag.rs:65:1: 65:2
-        StorageDead(_8);                 // scope 2 at $DIR/retag.rs:65:1: 65:2
-        StorageDead(_2);                 // scope 1 at $DIR/retag.rs:65:1: 65:2
-        StorageDead(_1);                 // scope 0 at $DIR/retag.rs:65:1: 65:2
-        return;                          // scope 0 at $DIR/retag.rs:65:2: 65:2
+        _0 = const ();                   // scope 0 at $DIR/retag.rs:+0:18: +8:2
+        StorageDead(_9);                 // scope 4 at $DIR/retag.rs:+8:1: +8:2
+        StorageDead(_8);                 // scope 2 at $DIR/retag.rs:+8:1: +8:2
+        StorageDead(_2);                 // scope 1 at $DIR/retag.rs:+8:1: +8:2
+        StorageDead(_1);                 // scope 0 at $DIR/retag.rs:+8:1: +8:2
+        return;                          // scope 0 at $DIR/retag.rs:+8:2: +8:2
     }
 }
index 8057aa13a9ffbf7d1aaaa5165bdd22b8a93a1b12..84f674db2d154abb985b35be70ec4d1b24d841d1 100644 (file)
@@ -1,20 +1,20 @@
 // MIR for `std::ptr::drop_in_place` after SimplifyCfg-make_shim
 
 fn std::ptr::drop_in_place(_1: *mut Test) -> () {
-    let mut _0: ();                      // return place in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-    let mut _2: &mut Test;               // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-    let mut _3: ();                      // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+    let mut _0: ();                      // return place in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+    let mut _2: &mut Test;               // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+    let mut _3: ();                      // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
 
     bb0: {
-        Retag([raw] _1);                 // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-        _2 = &mut (*_1);                 // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-        _3 = <Test as Drop>::drop(move _2) -> bb1; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        Retag([raw] _1);                 // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+        _2 = &mut (*_1);                 // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+        _3 = <Test as Drop>::drop(move _2) -> bb1; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
                                          // mir::Constant
                                          // + span: $SRC_DIR/core/src/ptr/mod.rs:LL:COL
                                          // + literal: Const { ty: for<'r> fn(&'r mut Test) {<Test as Drop>::drop}, val: Value(<ZST>) }
     }
 
     bb1: {
-        return;                          // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        return;                          // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 }
index 5808c607752522df3d0257947d780f67b4b31517..60c0f336e74c6e9141d80fa85a32cb9330fb3f30 100644 (file)
@@ -1,22 +1,22 @@
 // MIR for `main::{closure#0}` after SimplifyCfg-elaborate-drops
 
 fn main::{closure#0}(_1: &[closure@main::{closure#0}], _2: &i32) -> &i32 {
-    debug x => _2;                       // in scope 0 at $DIR/retag.rs:40:32: 40:33
-    let mut _0: &i32;                    // return place in scope 0 at $DIR/retag.rs:40:44: 40:48
-    let _3: &i32;                        // in scope 0 at $DIR/retag.rs:41:13: 41:15
+    debug x => _2;                       // in scope 0 at $DIR/retag.rs:+0:32: +0:33
+    let mut _0: &i32;                    // return place in scope 0 at $DIR/retag.rs:+0:44: +0:48
+    let _3: &i32;                        // in scope 0 at $DIR/retag.rs:+1:13: +1:15
     scope 1 {
-        debug _y => _3;                  // in scope 1 at $DIR/retag.rs:41:13: 41:15
+        debug _y => _3;                  // in scope 1 at $DIR/retag.rs:+1:13: +1:15
     }
 
     bb0: {
-        Retag([fn entry] _1);            // scope 0 at $DIR/retag.rs:40:31: 40:48
-        Retag([fn entry] _2);            // scope 0 at $DIR/retag.rs:40:31: 40:48
-        StorageLive(_3);                 // scope 0 at $DIR/retag.rs:41:13: 41:15
-        _3 = _2;                         // scope 0 at $DIR/retag.rs:41:18: 41:19
-        Retag(_3);                       // scope 0 at $DIR/retag.rs:41:18: 41:19
-        _0 = _2;                         // scope 1 at $DIR/retag.rs:42:9: 42:10
-        Retag(_0);                       // scope 1 at $DIR/retag.rs:42:9: 42:10
-        StorageDead(_3);                 // scope 0 at $DIR/retag.rs:43:5: 43:6
-        return;                          // scope 0 at $DIR/retag.rs:40:48: 40:48
+        Retag([fn entry] _1);            // scope 0 at $DIR/retag.rs:+0:31: +0:48
+        Retag([fn entry] _2);            // scope 0 at $DIR/retag.rs:+0:31: +0:48
+        StorageLive(_3);                 // scope 0 at $DIR/retag.rs:+1:13: +1:15
+        _3 = _2;                         // scope 0 at $DIR/retag.rs:+1:18: +1:19
+        Retag(_3);                       // scope 0 at $DIR/retag.rs:+1:18: +1:19
+        _0 = _2;                         // scope 1 at $DIR/retag.rs:+2:9: +2:10
+        Retag(_0);                       // scope 1 at $DIR/retag.rs:+2:9: +2:10
+        StorageDead(_3);                 // scope 0 at $DIR/retag.rs:+3:5: +3:6
+        return;                          // scope 0 at $DIR/retag.rs:+0:48: +0:48
     }
 }
index a3490d460ec547586ce86fe139f1172b0ad1fa5e..ae6b5cfe21ebb32a3e74d7eb16437576838f27e1 100644 (file)
 // MIR for `main` after SimplifyCfg-elaborate-drops
 
 fn main() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/retag.rs:29:11: 29:11
-    let mut _1: i32;                     // in scope 0 at $DIR/retag.rs:30:9: 30:14
-    let _2: ();                          // in scope 0 at $DIR/retag.rs:31:5: 37:6
-    let mut _4: &Test;                   // in scope 0 at $DIR/retag.rs:32:17: 32:36
-    let _5: Test;                        // in scope 0 at $DIR/retag.rs:32:17: 32:24
-    let mut _6: &mut i32;                // in scope 0 at $DIR/retag.rs:32:29: 32:35
-    let mut _7: &mut i32;                // in scope 0 at $DIR/retag.rs:32:29: 32:35
-    let mut _9: &mut i32;                // in scope 0 at $DIR/retag.rs:33:19: 33:20
-    let mut _12: *mut i32;               // in scope 0 at $DIR/retag.rs:36:18: 36:29
-    let mut _14: [closure@main::{closure#0}]; // in scope 0 at $DIR/retag.rs:40:31: 43:6
-    let mut _16: for<'r> fn(&'r i32) -> &'r i32; // in scope 0 at $DIR/retag.rs:44:14: 44:15
-    let mut _17: &i32;                   // in scope 0 at $DIR/retag.rs:44:16: 44:18
-    let _18: &i32;                       // in scope 0 at $DIR/retag.rs:44:16: 44:18
-    let _19: &i32;                       // in scope 0 at $DIR/retag.rs:47:5: 47:24
-    let mut _20: &Test;                  // in scope 0 at $DIR/retag.rs:47:5: 47:24
-    let _21: Test;                       // in scope 0 at $DIR/retag.rs:47:5: 47:12
-    let mut _22: &i32;                   // in scope 0 at $DIR/retag.rs:47:21: 47:23
-    let _23: &i32;                       // in scope 0 at $DIR/retag.rs:47:21: 47:23
-    let _24: i32;                        // in scope 0 at $DIR/retag.rs:47:22: 47:23
-    let mut _26: *const i32;             // in scope 0 at $DIR/retag.rs:50:14: 50:28
-    let _27: ();                         // in scope 0 at $DIR/retag.rs:52:5: 52:18
+    let mut _0: ();                      // return place in scope 0 at $DIR/retag.rs:+0:11: +0:11
+    let mut _1: i32;                     // in scope 0 at $DIR/retag.rs:+1:9: +1:14
+    let _2: ();                          // in scope 0 at $DIR/retag.rs:+2:5: +8:6
+    let mut _4: &Test;                   // in scope 0 at $DIR/retag.rs:+3:17: +3:36
+    let _5: Test;                        // in scope 0 at $DIR/retag.rs:+3:17: +3:24
+    let mut _6: &mut i32;                // in scope 0 at $DIR/retag.rs:+3:29: +3:35
+    let mut _7: &mut i32;                // in scope 0 at $DIR/retag.rs:+3:29: +3:35
+    let mut _9: &mut i32;                // in scope 0 at $DIR/retag.rs:+4:19: +4:20
+    let mut _12: *mut i32;               // in scope 0 at $DIR/retag.rs:+7:18: +7:29
+    let mut _14: [closure@main::{closure#0}]; // in scope 0 at $DIR/retag.rs:+11:31: +14:6
+    let mut _16: for<'r> fn(&'r i32) -> &'r i32; // in scope 0 at $DIR/retag.rs:+15:14: +15:15
+    let mut _17: &i32;                   // in scope 0 at $DIR/retag.rs:+15:16: +15:18
+    let _18: &i32;                       // in scope 0 at $DIR/retag.rs:+15:16: +15:18
+    let _19: &i32;                       // in scope 0 at $DIR/retag.rs:+18:5: +18:24
+    let mut _20: &Test;                  // in scope 0 at $DIR/retag.rs:+18:5: +18:24
+    let _21: Test;                       // in scope 0 at $DIR/retag.rs:+18:5: +18:12
+    let mut _22: &i32;                   // in scope 0 at $DIR/retag.rs:+18:21: +18:23
+    let _23: &i32;                       // in scope 0 at $DIR/retag.rs:+18:21: +18:23
+    let _24: i32;                        // in scope 0 at $DIR/retag.rs:+18:22: +18:23
+    let mut _26: *const i32;             // in scope 0 at $DIR/retag.rs:+21:14: +21:28
+    let _27: ();                         // in scope 0 at $DIR/retag.rs:+23:5: +23:18
     scope 1 {
-        debug x => _1;                   // in scope 1 at $DIR/retag.rs:30:9: 30:14
-        let _3: &mut i32;                // in scope 1 at $DIR/retag.rs:32:13: 32:14
-        let _13: for<'r> fn(&'r i32) -> &'r i32; // in scope 1 at $DIR/retag.rs:40:9: 40:10
+        debug x => _1;                   // in scope 1 at $DIR/retag.rs:+1:9: +1:14
+        let _3: &mut i32;                // in scope 1 at $DIR/retag.rs:+3:13: +3:14
+        let _13: for<'r> fn(&'r i32) -> &'r i32; // in scope 1 at $DIR/retag.rs:+11:9: +11:10
         scope 2 {
-            debug v => _3;               // in scope 2 at $DIR/retag.rs:32:13: 32:14
-            let _8: &mut i32;            // in scope 2 at $DIR/retag.rs:33:13: 33:14
+            debug v => _3;               // in scope 2 at $DIR/retag.rs:+3:13: +3:14
+            let _8: &mut i32;            // in scope 2 at $DIR/retag.rs:+4:13: +4:14
             scope 3 {
-                debug w => _8;           // in scope 3 at $DIR/retag.rs:33:13: 33:14
-                let _10: &mut i32;       // in scope 3 at $DIR/retag.rs:34:13: 34:14
+                debug w => _8;           // in scope 3 at $DIR/retag.rs:+4:13: +4:14
+                let _10: &mut i32;       // in scope 3 at $DIR/retag.rs:+5:13: +5:14
                 scope 4 {
-                    debug w => _10;      // in scope 4 at $DIR/retag.rs:34:13: 34:14
-                    let _11: *mut i32;   // in scope 4 at $DIR/retag.rs:36:13: 36:15
+                    debug w => _10;      // in scope 4 at $DIR/retag.rs:+5:13: +5:14
+                    let _11: *mut i32;   // in scope 4 at $DIR/retag.rs:+7:13: +7:15
                     scope 5 {
-                        debug _w => _11; // in scope 5 at $DIR/retag.rs:36:13: 36:15
+                        debug _w => _11; // in scope 5 at $DIR/retag.rs:+7:13: +7:15
                     }
                 }
             }
         }
         scope 6 {
-            debug c => _13;              // in scope 6 at $DIR/retag.rs:40:9: 40:10
-            let _15: &i32;               // in scope 6 at $DIR/retag.rs:44:9: 44:11
+            debug c => _13;              // in scope 6 at $DIR/retag.rs:+11:9: +11:10
+            let _15: &i32;               // in scope 6 at $DIR/retag.rs:+15:9: +15:11
             scope 7 {
-                debug _w => _15;         // in scope 7 at $DIR/retag.rs:44:9: 44:11
-                let _25: *const i32;     // in scope 7 at $DIR/retag.rs:50:9: 50:11
-                let mut _28: &i32;       // in scope 7 at $DIR/retag.rs:47:21: 47:23
+                debug _w => _15;         // in scope 7 at $DIR/retag.rs:+15:9: +15:11
+                let _25: *const i32;     // in scope 7 at $DIR/retag.rs:+21:9: +21:11
+                let mut _28: &i32;       // in scope 7 at $DIR/retag.rs:+18:21: +18:23
                 scope 8 {
-                    debug _w => _25;     // in scope 8 at $DIR/retag.rs:50:9: 50:11
+                    debug _w => _25;     // in scope 8 at $DIR/retag.rs:+21:9: +21:11
                 }
             }
         }
     }
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/retag.rs:30:9: 30:14
-        _1 = const 0_i32;                // scope 0 at $DIR/retag.rs:30:17: 30:18
-        StorageLive(_2);                 // scope 1 at $DIR/retag.rs:31:5: 37:6
-        StorageLive(_3);                 // scope 1 at $DIR/retag.rs:32:13: 32:14
-        StorageLive(_4);                 // scope 1 at $DIR/retag.rs:32:17: 32:36
-        StorageLive(_5);                 // scope 1 at $DIR/retag.rs:32:17: 32:24
-        _5 = Test(const 0_i32);          // scope 1 at $DIR/retag.rs:32:17: 32:24
-        _4 = &_5;                        // scope 1 at $DIR/retag.rs:32:17: 32:36
-        Retag(_4);                       // scope 1 at $DIR/retag.rs:32:17: 32:36
-        StorageLive(_6);                 // scope 1 at $DIR/retag.rs:32:29: 32:35
-        StorageLive(_7);                 // scope 1 at $DIR/retag.rs:32:29: 32:35
-        _7 = &mut _1;                    // scope 1 at $DIR/retag.rs:32:29: 32:35
-        Retag(_7);                       // scope 1 at $DIR/retag.rs:32:29: 32:35
-        _6 = &mut (*_7);                 // scope 1 at $DIR/retag.rs:32:29: 32:35
-        Retag([2phase] _6);              // scope 1 at $DIR/retag.rs:32:29: 32:35
-        _3 = Test::foo(move _4, move _6) -> [return: bb1, unwind: bb8]; // scope 1 at $DIR/retag.rs:32:17: 32:36
+        StorageLive(_1);                 // scope 0 at $DIR/retag.rs:+1:9: +1:14
+        _1 = const 0_i32;                // scope 0 at $DIR/retag.rs:+1:17: +1:18
+        StorageLive(_2);                 // scope 1 at $DIR/retag.rs:+2:5: +8:6
+        StorageLive(_3);                 // scope 1 at $DIR/retag.rs:+3:13: +3:14
+        StorageLive(_4);                 // scope 1 at $DIR/retag.rs:+3:17: +3:36
+        StorageLive(_5);                 // scope 1 at $DIR/retag.rs:+3:17: +3:24
+        _5 = Test(const 0_i32);          // scope 1 at $DIR/retag.rs:+3:17: +3:24
+        _4 = &_5;                        // scope 1 at $DIR/retag.rs:+3:17: +3:36
+        Retag(_4);                       // scope 1 at $DIR/retag.rs:+3:17: +3:36
+        StorageLive(_6);                 // scope 1 at $DIR/retag.rs:+3:29: +3:35
+        StorageLive(_7);                 // scope 1 at $DIR/retag.rs:+3:29: +3:35
+        _7 = &mut _1;                    // scope 1 at $DIR/retag.rs:+3:29: +3:35
+        Retag(_7);                       // scope 1 at $DIR/retag.rs:+3:29: +3:35
+        _6 = &mut (*_7);                 // scope 1 at $DIR/retag.rs:+3:29: +3:35
+        Retag([2phase] _6);              // scope 1 at $DIR/retag.rs:+3:29: +3:35
+        _3 = Test::foo(move _4, move _6) -> [return: bb1, unwind: bb8]; // scope 1 at $DIR/retag.rs:+3:17: +3:36
                                          // mir::Constant
                                          // + span: $DIR/retag.rs:32:25: 32:28
                                          // + literal: Const { ty: for<'r, 'x> fn(&'r Test, &'x mut i32) -> &'x mut i32 {Test::foo}, val: Value(<ZST>) }
     }
 
     bb1: {
-        Retag(_3);                       // scope 1 at $DIR/retag.rs:32:17: 32:36
-        StorageDead(_6);                 // scope 1 at $DIR/retag.rs:32:35: 32:36
-        StorageDead(_4);                 // scope 1 at $DIR/retag.rs:32:35: 32:36
-        StorageDead(_7);                 // scope 1 at $DIR/retag.rs:32:36: 32:37
-        drop(_5) -> [return: bb2, unwind: bb9]; // scope 1 at $DIR/retag.rs:32:36: 32:37
+        Retag(_3);                       // scope 1 at $DIR/retag.rs:+3:17: +3:36
+        StorageDead(_6);                 // scope 1 at $DIR/retag.rs:+3:35: +3:36
+        StorageDead(_4);                 // scope 1 at $DIR/retag.rs:+3:35: +3:36
+        StorageDead(_7);                 // scope 1 at $DIR/retag.rs:+3:36: +3:37
+        drop(_5) -> [return: bb2, unwind: bb9]; // scope 1 at $DIR/retag.rs:+3:36: +3:37
     }
 
     bb2: {
-        StorageDead(_5);                 // scope 1 at $DIR/retag.rs:32:36: 32:37
-        StorageLive(_8);                 // scope 2 at $DIR/retag.rs:33:13: 33:14
-        StorageLive(_9);                 // scope 2 at $DIR/retag.rs:33:19: 33:20
-        _9 = move _3;                    // scope 2 at $DIR/retag.rs:33:19: 33:20
-        Retag(_9);                       // scope 2 at $DIR/retag.rs:33:19: 33:20
-        _8 = &mut (*_9);                 // scope 2 at $DIR/retag.rs:33:19: 33:20
-        Retag(_8);                       // scope 2 at $DIR/retag.rs:33:19: 33:20
-        StorageDead(_9);                 // scope 2 at $DIR/retag.rs:33:22: 33:23
-        StorageLive(_10);                // scope 3 at $DIR/retag.rs:34:13: 34:14
-        _10 = move _8;                   // scope 3 at $DIR/retag.rs:34:17: 34:18
-        Retag(_10);                      // scope 3 at $DIR/retag.rs:34:17: 34:18
-        StorageLive(_11);                // scope 4 at $DIR/retag.rs:36:13: 36:15
-        StorageLive(_12);                // scope 4 at $DIR/retag.rs:36:18: 36:29
-        _12 = &raw mut (*_10);           // scope 4 at $DIR/retag.rs:36:18: 36:19
-        Retag([raw] _12);                // scope 4 at $DIR/retag.rs:36:18: 36:19
-        _11 = _12;                       // scope 4 at $DIR/retag.rs:36:18: 36:29
-        StorageDead(_12);                // scope 4 at $DIR/retag.rs:36:29: 36:30
-        _2 = const ();                   // scope 1 at $DIR/retag.rs:31:5: 37:6
-        StorageDead(_11);                // scope 4 at $DIR/retag.rs:37:5: 37:6
-        StorageDead(_10);                // scope 3 at $DIR/retag.rs:37:5: 37:6
-        StorageDead(_8);                 // scope 2 at $DIR/retag.rs:37:5: 37:6
-        StorageDead(_3);                 // scope 1 at $DIR/retag.rs:37:5: 37:6
-        StorageDead(_2);                 // scope 1 at $DIR/retag.rs:37:5: 37:6
-        StorageLive(_13);                // scope 1 at $DIR/retag.rs:40:9: 40:10
-        StorageLive(_14);                // scope 1 at $DIR/retag.rs:40:31: 43:6
-        _14 = [closure@main::{closure#0}]; // scope 1 at $DIR/retag.rs:40:31: 43:6
+        StorageDead(_5);                 // scope 1 at $DIR/retag.rs:+3:36: +3:37
+        StorageLive(_8);                 // scope 2 at $DIR/retag.rs:+4:13: +4:14
+        StorageLive(_9);                 // scope 2 at $DIR/retag.rs:+4:19: +4:20
+        _9 = move _3;                    // scope 2 at $DIR/retag.rs:+4:19: +4:20
+        Retag(_9);                       // scope 2 at $DIR/retag.rs:+4:19: +4:20
+        _8 = &mut (*_9);                 // scope 2 at $DIR/retag.rs:+4:19: +4:20
+        Retag(_8);                       // scope 2 at $DIR/retag.rs:+4:19: +4:20
+        StorageDead(_9);                 // scope 2 at $DIR/retag.rs:+4:22: +4:23
+        StorageLive(_10);                // scope 3 at $DIR/retag.rs:+5:13: +5:14
+        _10 = move _8;                   // scope 3 at $DIR/retag.rs:+5:17: +5:18
+        Retag(_10);                      // scope 3 at $DIR/retag.rs:+5:17: +5:18
+        StorageLive(_11);                // scope 4 at $DIR/retag.rs:+7:13: +7:15
+        StorageLive(_12);                // scope 4 at $DIR/retag.rs:+7:18: +7:29
+        _12 = &raw mut (*_10);           // scope 4 at $DIR/retag.rs:+7:18: +7:19
+        Retag([raw] _12);                // scope 4 at $DIR/retag.rs:+7:18: +7:19
+        _11 = _12;                       // scope 4 at $DIR/retag.rs:+7:18: +7:29
+        StorageDead(_12);                // scope 4 at $DIR/retag.rs:+7:29: +7:30
+        _2 = const ();                   // scope 1 at $DIR/retag.rs:+2:5: +8:6
+        StorageDead(_11);                // scope 4 at $DIR/retag.rs:+8:5: +8:6
+        StorageDead(_10);                // scope 3 at $DIR/retag.rs:+8:5: +8:6
+        StorageDead(_8);                 // scope 2 at $DIR/retag.rs:+8:5: +8:6
+        StorageDead(_3);                 // scope 1 at $DIR/retag.rs:+8:5: +8:6
+        StorageDead(_2);                 // scope 1 at $DIR/retag.rs:+8:5: +8:6
+        StorageLive(_13);                // scope 1 at $DIR/retag.rs:+11:9: +11:10
+        StorageLive(_14);                // scope 1 at $DIR/retag.rs:+11:31: +14:6
+        _14 = [closure@main::{closure#0}]; // scope 1 at $DIR/retag.rs:+11:31: +14:6
                                          // closure
                                          // + def_id: DefId(0:14 ~ retag[4622]::main::{closure#0})
                                          // + substs: [
@@ -119,92 +119,92 @@ fn main() -> () {
                                          //     for<'r> extern "rust-call" fn((&'r i32,)) -> &'r i32,
                                          //     (),
                                          // ]
-        Retag(_14);                      // scope 1 at $DIR/retag.rs:40:31: 43:6
-        _13 = move _14 as for<'r> fn(&'r i32) -> &'r i32 (Pointer(ClosureFnPointer(Normal))); // scope 1 at $DIR/retag.rs:40:31: 43:6
-        StorageDead(_14);                // scope 1 at $DIR/retag.rs:40:47: 40:48
-        StorageLive(_15);                // scope 6 at $DIR/retag.rs:44:9: 44:11
-        StorageLive(_16);                // scope 6 at $DIR/retag.rs:44:14: 44:15
-        _16 = _13;                       // scope 6 at $DIR/retag.rs:44:14: 44:15
-        StorageLive(_17);                // scope 6 at $DIR/retag.rs:44:16: 44:18
-        StorageLive(_18);                // scope 6 at $DIR/retag.rs:44:16: 44:18
-        _18 = &_1;                       // scope 6 at $DIR/retag.rs:44:16: 44:18
-        Retag(_18);                      // scope 6 at $DIR/retag.rs:44:16: 44:18
-        _17 = &(*_18);                   // scope 6 at $DIR/retag.rs:44:16: 44:18
-        Retag(_17);                      // scope 6 at $DIR/retag.rs:44:16: 44:18
-        _15 = move _16(move _17) -> bb3; // scope 6 at $DIR/retag.rs:44:14: 44:19
+        Retag(_14);                      // scope 1 at $DIR/retag.rs:+11:31: +14:6
+        _13 = move _14 as for<'r> fn(&'r i32) -> &'r i32 (Pointer(ClosureFnPointer(Normal))); // scope 1 at $DIR/retag.rs:+11:31: +14:6
+        StorageDead(_14);                // scope 1 at $DIR/retag.rs:+11:47: +11:48
+        StorageLive(_15);                // scope 6 at $DIR/retag.rs:+15:9: +15:11
+        StorageLive(_16);                // scope 6 at $DIR/retag.rs:+15:14: +15:15
+        _16 = _13;                       // scope 6 at $DIR/retag.rs:+15:14: +15:15
+        StorageLive(_17);                // scope 6 at $DIR/retag.rs:+15:16: +15:18
+        StorageLive(_18);                // scope 6 at $DIR/retag.rs:+15:16: +15:18
+        _18 = &_1;                       // scope 6 at $DIR/retag.rs:+15:16: +15:18
+        Retag(_18);                      // scope 6 at $DIR/retag.rs:+15:16: +15:18
+        _17 = &(*_18);                   // scope 6 at $DIR/retag.rs:+15:16: +15:18
+        Retag(_17);                      // scope 6 at $DIR/retag.rs:+15:16: +15:18
+        _15 = move _16(move _17) -> bb3; // scope 6 at $DIR/retag.rs:+15:14: +15:19
     }
 
     bb3: {
-        Retag(_15);                      // scope 6 at $DIR/retag.rs:44:14: 44:19
-        StorageDead(_17);                // scope 6 at $DIR/retag.rs:44:18: 44:19
-        StorageDead(_16);                // scope 6 at $DIR/retag.rs:44:18: 44:19
-        StorageDead(_18);                // scope 6 at $DIR/retag.rs:44:19: 44:20
-        StorageLive(_19);                // scope 7 at $DIR/retag.rs:47:5: 47:24
-        StorageLive(_20);                // scope 7 at $DIR/retag.rs:47:5: 47:24
-        StorageLive(_21);                // scope 7 at $DIR/retag.rs:47:5: 47:12
-        _21 = Test(const 0_i32);         // scope 7 at $DIR/retag.rs:47:5: 47:12
-        _20 = &_21;                      // scope 7 at $DIR/retag.rs:47:5: 47:24
-        Retag(_20);                      // scope 7 at $DIR/retag.rs:47:5: 47:24
-        StorageLive(_22);                // scope 7 at $DIR/retag.rs:47:21: 47:23
-        StorageLive(_23);                // scope 7 at $DIR/retag.rs:47:21: 47:23
-        _28 = const main::promoted[0];   // scope 7 at $DIR/retag.rs:47:21: 47:23
+        Retag(_15);                      // scope 6 at $DIR/retag.rs:+15:14: +15:19
+        StorageDead(_17);                // scope 6 at $DIR/retag.rs:+15:18: +15:19
+        StorageDead(_16);                // scope 6 at $DIR/retag.rs:+15:18: +15:19
+        StorageDead(_18);                // scope 6 at $DIR/retag.rs:+15:19: +15:20
+        StorageLive(_19);                // scope 7 at $DIR/retag.rs:+18:5: +18:24
+        StorageLive(_20);                // scope 7 at $DIR/retag.rs:+18:5: +18:24
+        StorageLive(_21);                // scope 7 at $DIR/retag.rs:+18:5: +18:12
+        _21 = Test(const 0_i32);         // scope 7 at $DIR/retag.rs:+18:5: +18:12
+        _20 = &_21;                      // scope 7 at $DIR/retag.rs:+18:5: +18:24
+        Retag(_20);                      // scope 7 at $DIR/retag.rs:+18:5: +18:24
+        StorageLive(_22);                // scope 7 at $DIR/retag.rs:+18:21: +18:23
+        StorageLive(_23);                // scope 7 at $DIR/retag.rs:+18:21: +18:23
+        _28 = const main::promoted[0];   // scope 7 at $DIR/retag.rs:+18:21: +18:23
                                          // mir::Constant
                                          // + span: $DIR/retag.rs:47:21: 47:23
                                          // + literal: Const { ty: &i32, val: Unevaluated(main, [], Some(promoted[0])) }
-        Retag(_28);                      // scope 7 at $DIR/retag.rs:47:21: 47:23
-        _23 = &(*_28);                   // scope 7 at $DIR/retag.rs:47:21: 47:23
-        Retag(_23);                      // scope 7 at $DIR/retag.rs:47:21: 47:23
-        _22 = &(*_23);                   // scope 7 at $DIR/retag.rs:47:21: 47:23
-        Retag(_22);                      // scope 7 at $DIR/retag.rs:47:21: 47:23
-        _19 = Test::foo_shr(move _20, move _22) -> [return: bb4, unwind: bb7]; // scope 7 at $DIR/retag.rs:47:5: 47:24
+        Retag(_28);                      // scope 7 at $DIR/retag.rs:+18:21: +18:23
+        _23 = &(*_28);                   // scope 7 at $DIR/retag.rs:+18:21: +18:23
+        Retag(_23);                      // scope 7 at $DIR/retag.rs:+18:21: +18:23
+        _22 = &(*_23);                   // scope 7 at $DIR/retag.rs:+18:21: +18:23
+        Retag(_22);                      // scope 7 at $DIR/retag.rs:+18:21: +18:23
+        _19 = Test::foo_shr(move _20, move _22) -> [return: bb4, unwind: bb7]; // scope 7 at $DIR/retag.rs:+18:5: +18:24
                                          // mir::Constant
                                          // + span: $DIR/retag.rs:47:13: 47:20
                                          // + literal: Const { ty: for<'r, 'x> fn(&'r Test, &'x i32) -> &'x i32 {Test::foo_shr}, val: Value(<ZST>) }
     }
 
     bb4: {
-        Retag(_19);                      // scope 7 at $DIR/retag.rs:47:5: 47:24
-        StorageDead(_22);                // scope 7 at $DIR/retag.rs:47:23: 47:24
-        StorageDead(_20);                // scope 7 at $DIR/retag.rs:47:23: 47:24
-        StorageDead(_23);                // scope 7 at $DIR/retag.rs:47:24: 47:25
-        drop(_21) -> [return: bb5, unwind: bb9]; // scope 7 at $DIR/retag.rs:47:24: 47:25
+        Retag(_19);                      // scope 7 at $DIR/retag.rs:+18:5: +18:24
+        StorageDead(_22);                // scope 7 at $DIR/retag.rs:+18:23: +18:24
+        StorageDead(_20);                // scope 7 at $DIR/retag.rs:+18:23: +18:24
+        StorageDead(_23);                // scope 7 at $DIR/retag.rs:+18:24: +18:25
+        drop(_21) -> [return: bb5, unwind: bb9]; // scope 7 at $DIR/retag.rs:+18:24: +18:25
     }
 
     bb5: {
-        StorageDead(_21);                // scope 7 at $DIR/retag.rs:47:24: 47:25
-        StorageDead(_19);                // scope 7 at $DIR/retag.rs:47:24: 47:25
-        StorageLive(_25);                // scope 7 at $DIR/retag.rs:50:9: 50:11
-        StorageLive(_26);                // scope 7 at $DIR/retag.rs:50:14: 50:28
-        _26 = &raw const (*_15);         // scope 7 at $DIR/retag.rs:50:14: 50:16
-        Retag([raw] _26);                // scope 7 at $DIR/retag.rs:50:14: 50:16
-        _25 = _26;                       // scope 7 at $DIR/retag.rs:50:14: 50:28
-        StorageDead(_26);                // scope 7 at $DIR/retag.rs:50:28: 50:29
-        StorageLive(_27);                // scope 8 at $DIR/retag.rs:52:5: 52:18
-        _27 = array_casts() -> bb6;      // scope 8 at $DIR/retag.rs:52:5: 52:18
+        StorageDead(_21);                // scope 7 at $DIR/retag.rs:+18:24: +18:25
+        StorageDead(_19);                // scope 7 at $DIR/retag.rs:+18:24: +18:25
+        StorageLive(_25);                // scope 7 at $DIR/retag.rs:+21:9: +21:11
+        StorageLive(_26);                // scope 7 at $DIR/retag.rs:+21:14: +21:28
+        _26 = &raw const (*_15);         // scope 7 at $DIR/retag.rs:+21:14: +21:16
+        Retag([raw] _26);                // scope 7 at $DIR/retag.rs:+21:14: +21:16
+        _25 = _26;                       // scope 7 at $DIR/retag.rs:+21:14: +21:28
+        StorageDead(_26);                // scope 7 at $DIR/retag.rs:+21:28: +21:29
+        StorageLive(_27);                // scope 8 at $DIR/retag.rs:+23:5: +23:18
+        _27 = array_casts() -> bb6;      // scope 8 at $DIR/retag.rs:+23:5: +23:18
                                          // mir::Constant
                                          // + span: $DIR/retag.rs:52:5: 52:16
                                          // + literal: Const { ty: fn() {array_casts}, val: Value(<ZST>) }
     }
 
     bb6: {
-        StorageDead(_27);                // scope 8 at $DIR/retag.rs:52:18: 52:19
-        _0 = const ();                   // scope 0 at $DIR/retag.rs:29:11: 53:2
-        StorageDead(_25);                // scope 7 at $DIR/retag.rs:53:1: 53:2
-        StorageDead(_15);                // scope 6 at $DIR/retag.rs:53:1: 53:2
-        StorageDead(_13);                // scope 1 at $DIR/retag.rs:53:1: 53:2
-        StorageDead(_1);                 // scope 0 at $DIR/retag.rs:53:1: 53:2
-        return;                          // scope 0 at $DIR/retag.rs:53:2: 53:2
+        StorageDead(_27);                // scope 8 at $DIR/retag.rs:+23:18: +23:19
+        _0 = const ();                   // scope 0 at $DIR/retag.rs:+0:11: +24:2
+        StorageDead(_25);                // scope 7 at $DIR/retag.rs:+24:1: +24:2
+        StorageDead(_15);                // scope 6 at $DIR/retag.rs:+24:1: +24:2
+        StorageDead(_13);                // scope 1 at $DIR/retag.rs:+24:1: +24:2
+        StorageDead(_1);                 // scope 0 at $DIR/retag.rs:+24:1: +24:2
+        return;                          // scope 0 at $DIR/retag.rs:+24:2: +24:2
     }
 
     bb7 (cleanup): {
-        drop(_21) -> bb9;                // scope 7 at $DIR/retag.rs:47:24: 47:25
+        drop(_21) -> bb9;                // scope 7 at $DIR/retag.rs:+18:24: +18:25
     }
 
     bb8 (cleanup): {
-        drop(_5) -> bb9;                 // scope 1 at $DIR/retag.rs:32:36: 32:37
+        drop(_5) -> bb9;                 // scope 1 at $DIR/retag.rs:+3:36: +3:37
     }
 
     bb9 (cleanup): {
-        resume;                          // scope 0 at $DIR/retag.rs:29:1: 53:2
+        resume;                          // scope 0 at $DIR/retag.rs:+0:1: +24:2
     }
 }
index 980f07d5f109607e9093124bee0dfc70363b67ed..e395fdb274f371428523f04d78077e32b5b87510 100644 (file)
@@ -1,20 +1,20 @@
 // MIR for `<impl at $DIR/retag.rs:11:1: 11:10>::foo` after SimplifyCfg-elaborate-drops
 
 fn <impl at $DIR/retag.rs:11:1: 11:10>::foo(_1: &Test, _2: &mut i32) -> &mut i32 {
-    debug self => _1;                    // in scope 0 at $DIR/retag.rs:13:16: 13:21
-    debug x => _2;                       // in scope 0 at $DIR/retag.rs:13:23: 13:24
-    let mut _0: &mut i32;                // return place in scope 0 at $DIR/retag.rs:13:42: 13:53
-    let mut _3: &mut i32;                // in scope 0 at $DIR/retag.rs:14:9: 14:10
+    debug self => _1;                    // in scope 0 at $DIR/retag.rs:+0:16: +0:21
+    debug x => _2;                       // in scope 0 at $DIR/retag.rs:+0:23: +0:24
+    let mut _0: &mut i32;                // return place in scope 0 at $DIR/retag.rs:+0:42: +0:53
+    let mut _3: &mut i32;                // in scope 0 at $DIR/retag.rs:+1:9: +1:10
 
     bb0: {
-        Retag([fn entry] _1);            // scope 0 at $DIR/retag.rs:13:5: 15:6
-        Retag([fn entry] _2);            // scope 0 at $DIR/retag.rs:13:5: 15:6
-        StorageLive(_3);                 // scope 0 at $DIR/retag.rs:14:9: 14:10
-        _3 = &mut (*_2);                 // scope 0 at $DIR/retag.rs:14:9: 14:10
-        Retag(_3);                       // scope 0 at $DIR/retag.rs:14:9: 14:10
-        _0 = &mut (*_3);                 // scope 0 at $DIR/retag.rs:14:9: 14:10
-        Retag(_0);                       // scope 0 at $DIR/retag.rs:14:9: 14:10
-        StorageDead(_3);                 // scope 0 at $DIR/retag.rs:15:5: 15:6
-        return;                          // scope 0 at $DIR/retag.rs:15:6: 15:6
+        Retag([fn entry] _1);            // scope 0 at $DIR/retag.rs:+0:5: +2:6
+        Retag([fn entry] _2);            // scope 0 at $DIR/retag.rs:+0:5: +2:6
+        StorageLive(_3);                 // scope 0 at $DIR/retag.rs:+1:9: +1:10
+        _3 = &mut (*_2);                 // scope 0 at $DIR/retag.rs:+1:9: +1:10
+        Retag(_3);                       // scope 0 at $DIR/retag.rs:+1:9: +1:10
+        _0 = &mut (*_3);                 // scope 0 at $DIR/retag.rs:+1:9: +1:10
+        Retag(_0);                       // scope 0 at $DIR/retag.rs:+1:9: +1:10
+        StorageDead(_3);                 // scope 0 at $DIR/retag.rs:+2:5: +2:6
+        return;                          // scope 0 at $DIR/retag.rs:+2:6: +2:6
     }
 }
index 9c252d63fc72cbcc2851e639670d2962d976c1f1..e609166dec892a87b6e71107e76aa74c5ce8ab6d 100644 (file)
@@ -1,15 +1,15 @@
 // MIR for `<impl at $DIR/retag.rs:11:1: 11:10>::foo_shr` after SimplifyCfg-elaborate-drops
 
 fn <impl at $DIR/retag.rs:11:1: 11:10>::foo_shr(_1: &Test, _2: &i32) -> &i32 {
-    debug self => _1;                    // in scope 0 at $DIR/retag.rs:16:20: 16:25
-    debug x => _2;                       // in scope 0 at $DIR/retag.rs:16:27: 16:28
-    let mut _0: &i32;                    // return place in scope 0 at $DIR/retag.rs:16:42: 16:49
+    debug self => _1;                    // in scope 0 at $DIR/retag.rs:+0:20: +0:25
+    debug x => _2;                       // in scope 0 at $DIR/retag.rs:+0:27: +0:28
+    let mut _0: &i32;                    // return place in scope 0 at $DIR/retag.rs:+0:42: +0:49
 
     bb0: {
-        Retag([fn entry] _1);            // scope 0 at $DIR/retag.rs:16:5: 18:6
-        Retag([fn entry] _2);            // scope 0 at $DIR/retag.rs:16:5: 18:6
-        _0 = _2;                         // scope 0 at $DIR/retag.rs:17:9: 17:10
-        Retag(_0);                       // scope 0 at $DIR/retag.rs:17:9: 17:10
-        return;                          // scope 0 at $DIR/retag.rs:18:6: 18:6
+        Retag([fn entry] _1);            // scope 0 at $DIR/retag.rs:+0:5: +2:6
+        Retag([fn entry] _2);            // scope 0 at $DIR/retag.rs:+0:5: +2:6
+        _0 = _2;                         // scope 0 at $DIR/retag.rs:+1:9: +1:10
+        Retag(_0);                       // scope 0 at $DIR/retag.rs:+1:9: +1:10
+        return;                          // scope 0 at $DIR/retag.rs:+2:6: +2:6
     }
 }
index 4cdbaec7d2a2a0f2c219c24d1e51d493cac836fe..3a11e45cacde5e9d324bc977af9900414ef986bc 100644 (file)
@@ -2,18 +2,18 @@
 + // MIR for `identity` after ConstProp
   
   fn identity(_1: Result<i32, i32>) -> Result<i32, i32> {
-      debug x => _1;                       // in scope 0 at $DIR/separate_const_switch.rs:28:13: 28:14
-      let mut _0: std::result::Result<i32, i32>; // return place in scope 0 at $DIR/separate_const_switch.rs:28:37: 28:53
-      let mut _2: i32;                     // in scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
-      let mut _3: std::ops::ControlFlow<std::result::Result<std::convert::Infallible, i32>, i32>; // in scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
-      let mut _4: std::result::Result<i32, i32>; // in scope 0 at $DIR/separate_const_switch.rs:29:8: 29:9
-      let mut _5: isize;                   // in scope 0 at $DIR/separate_const_switch.rs:29:9: 29:10
-      let _6: std::result::Result<std::convert::Infallible, i32>; // in scope 0 at $DIR/separate_const_switch.rs:29:9: 29:10
-      let mut _7: !;                       // in scope 0 at $DIR/separate_const_switch.rs:29:9: 29:10
-      let mut _8: std::result::Result<std::convert::Infallible, i32>; // in scope 0 at $DIR/separate_const_switch.rs:29:9: 29:10
-      let _9: i32;                         // in scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
+      debug x => _1;                       // in scope 0 at $DIR/separate_const_switch.rs:+0:13: +0:14
+      let mut _0: std::result::Result<i32, i32>; // return place in scope 0 at $DIR/separate_const_switch.rs:+0:37: +0:53
+      let mut _2: i32;                     // in scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
+      let mut _3: std::ops::ControlFlow<std::result::Result<std::convert::Infallible, i32>, i32>; // in scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
+      let mut _4: std::result::Result<i32, i32>; // in scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:9
+      let mut _5: isize;                   // in scope 0 at $DIR/separate_const_switch.rs:+1:9: +1:10
+      let _6: std::result::Result<std::convert::Infallible, i32>; // in scope 0 at $DIR/separate_const_switch.rs:+1:9: +1:10
+      let mut _7: !;                       // in scope 0 at $DIR/separate_const_switch.rs:+1:9: +1:10
+      let mut _8: std::result::Result<std::convert::Infallible, i32>; // in scope 0 at $DIR/separate_const_switch.rs:+1:9: +1:10
+      let _9: i32;                         // in scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
       scope 1 {
-          debug residual => _6;            // in scope 1 at $DIR/separate_const_switch.rs:29:9: 29:10
+          debug residual => _6;            // in scope 1 at $DIR/separate_const_switch.rs:+1:9: +1:10
           scope 2 {
               scope 8 (inlined #[track_caller] <Result<i32, i32> as FromResidual<Result<Infallible, i32>>>::from_residual) { // at $DIR/separate_const_switch.rs:29:8: 29:10
                   debug residual => _8;    // in scope 8 at $SRC_DIR/core/src/result.rs:LL:COL
@@ -30,7 +30,7 @@
           }
       }
       scope 3 {
-          debug val => _9;                 // in scope 3 at $DIR/separate_const_switch.rs:29:8: 29:10
+          debug val => _9;                 // in scope 3 at $DIR/separate_const_switch.rs:+1:8: +1:10
           scope 4 {
           }
       }
       }
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
-          StorageLive(_3);                 // scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
-          StorageLive(_4);                 // scope 0 at $DIR/separate_const_switch.rs:29:8: 29:9
-          _4 = _1;                         // scope 0 at $DIR/separate_const_switch.rs:29:8: 29:9
-          StorageLive(_10);                // scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
+          StorageLive(_2);                 // scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
+          StorageLive(_3);                 // scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
+          StorageLive(_4);                 // scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:9
+          _4 = _1;                         // scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:9
+          StorageLive(_10);                // scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
           _10 = discriminant(_4);          // scope 5 at $SRC_DIR/core/src/result.rs:LL:COL
           switchInt(move _10) -> [0_isize: bb5, 1_isize: bb3, otherwise: bb4]; // scope 5 at $SRC_DIR/core/src/result.rs:LL:COL
       }
   
       bb1: {
-          StorageLive(_9);                 // scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
-          _9 = ((_3 as Continue).0: i32);  // scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
-          _2 = _9;                         // scope 4 at $DIR/separate_const_switch.rs:29:8: 29:10
-          StorageDead(_9);                 // scope 0 at $DIR/separate_const_switch.rs:29:9: 29:10
-          Deinit(_0);                      // scope 0 at $DIR/separate_const_switch.rs:29:5: 29:11
-          ((_0 as Ok).0: i32) = move _2;   // scope 0 at $DIR/separate_const_switch.rs:29:5: 29:11
-          discriminant(_0) = 0;            // scope 0 at $DIR/separate_const_switch.rs:29:5: 29:11
-          StorageDead(_2);                 // scope 0 at $DIR/separate_const_switch.rs:29:10: 29:11
-          StorageDead(_3);                 // scope 0 at $DIR/separate_const_switch.rs:30:1: 30:2
-          return;                          // scope 0 at $DIR/separate_const_switch.rs:30:2: 30:2
+          StorageLive(_9);                 // scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
+          _9 = ((_3 as Continue).0: i32);  // scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
+          _2 = _9;                         // scope 4 at $DIR/separate_const_switch.rs:+1:8: +1:10
+          StorageDead(_9);                 // scope 0 at $DIR/separate_const_switch.rs:+1:9: +1:10
+          Deinit(_0);                      // scope 0 at $DIR/separate_const_switch.rs:+1:5: +1:11
+          ((_0 as Ok).0: i32) = move _2;   // scope 0 at $DIR/separate_const_switch.rs:+1:5: +1:11
+          discriminant(_0) = 0;            // scope 0 at $DIR/separate_const_switch.rs:+1:5: +1:11
+          StorageDead(_2);                 // scope 0 at $DIR/separate_const_switch.rs:+1:10: +1:11
+          StorageDead(_3);                 // scope 0 at $DIR/separate_const_switch.rs:+2:1: +2:2
+          return;                          // scope 0 at $DIR/separate_const_switch.rs:+2:2: +2:2
       }
   
       bb2: {
-          StorageLive(_6);                 // scope 0 at $DIR/separate_const_switch.rs:29:9: 29:10
-          _6 = ((_3 as Break).0: std::result::Result<std::convert::Infallible, i32>); // scope 0 at $DIR/separate_const_switch.rs:29:9: 29:10
-          StorageLive(_8);                 // scope 2 at $DIR/separate_const_switch.rs:29:9: 29:10
-          _8 = _6;                         // scope 2 at $DIR/separate_const_switch.rs:29:9: 29:10
+          StorageLive(_6);                 // scope 0 at $DIR/separate_const_switch.rs:+1:9: +1:10
+          _6 = ((_3 as Break).0: std::result::Result<std::convert::Infallible, i32>); // scope 0 at $DIR/separate_const_switch.rs:+1:9: +1:10
+          StorageLive(_8);                 // scope 2 at $DIR/separate_const_switch.rs:+1:9: +1:10
+          _8 = _6;                         // scope 2 at $DIR/separate_const_switch.rs:+1:9: +1:10
           StorageLive(_16);                // scope 8 at $SRC_DIR/core/src/result.rs:LL:COL
           _16 = move ((_8 as Err).0: i32); // scope 8 at $SRC_DIR/core/src/result.rs:LL:COL
           StorageLive(_17);                // scope 9 at $SRC_DIR/core/src/result.rs:LL:COL
           discriminant(_0) = 1;            // scope 9 at $SRC_DIR/core/src/result.rs:LL:COL
           StorageDead(_17);                // scope 9 at $SRC_DIR/core/src/result.rs:LL:COL
           StorageDead(_16);                // scope 8 at $SRC_DIR/core/src/result.rs:LL:COL
-          StorageDead(_8);                 // scope 2 at $DIR/separate_const_switch.rs:29:9: 29:10
-          StorageDead(_6);                 // scope 0 at $DIR/separate_const_switch.rs:29:9: 29:10
-          StorageDead(_2);                 // scope 0 at $DIR/separate_const_switch.rs:29:10: 29:11
-          StorageDead(_3);                 // scope 0 at $DIR/separate_const_switch.rs:30:1: 30:2
-          return;                          // scope 0 at $DIR/separate_const_switch.rs:30:2: 30:2
+          StorageDead(_8);                 // scope 2 at $DIR/separate_const_switch.rs:+1:9: +1:10
+          StorageDead(_6);                 // scope 0 at $DIR/separate_const_switch.rs:+1:9: +1:10
+          StorageDead(_2);                 // scope 0 at $DIR/separate_const_switch.rs:+1:10: +1:11
+          StorageDead(_3);                 // scope 0 at $DIR/separate_const_switch.rs:+2:1: +2:2
+          return;                          // scope 0 at $DIR/separate_const_switch.rs:+2:2: +2:2
       }
   
       bb3: {
           discriminant(_3) = 1;            // scope 7 at $SRC_DIR/core/src/result.rs:LL:COL
           StorageDead(_14);                // scope 7 at $SRC_DIR/core/src/result.rs:LL:COL
           StorageDead(_13);                // scope 5 at $SRC_DIR/core/src/result.rs:LL:COL
-          StorageDead(_10);                // scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
-          StorageDead(_4);                 // scope 0 at $DIR/separate_const_switch.rs:29:9: 29:10
--         _5 = discriminant(_3);           // scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
--         switchInt(move _5) -> [0_isize: bb1, otherwise: bb2]; // scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
-+         _5 = const 1_isize;              // scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
-+         switchInt(const 1_isize) -> [0_isize: bb1, otherwise: bb2]; // scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
+          StorageDead(_10);                // scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
+          StorageDead(_4);                 // scope 0 at $DIR/separate_const_switch.rs:+1:9: +1:10
+-         _5 = discriminant(_3);           // scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
+-         switchInt(move _5) -> [0_isize: bb1, otherwise: bb2]; // scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
++         _5 = const 1_isize;              // scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
++         switchInt(const 1_isize) -> [0_isize: bb1, otherwise: bb2]; // scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
       }
   
       bb4: {
           discriminant(_3) = 0;            // scope 6 at $SRC_DIR/core/src/result.rs:LL:COL
           StorageDead(_12);                // scope 6 at $SRC_DIR/core/src/result.rs:LL:COL
           StorageDead(_11);                // scope 5 at $SRC_DIR/core/src/result.rs:LL:COL
-          StorageDead(_10);                // scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
-          StorageDead(_4);                 // scope 0 at $DIR/separate_const_switch.rs:29:9: 29:10
--         _5 = discriminant(_3);           // scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
--         switchInt(move _5) -> [0_isize: bb1, otherwise: bb2]; // scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
-+         _5 = const 0_isize;              // scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
-+         switchInt(const 0_isize) -> [0_isize: bb1, otherwise: bb2]; // scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
+          StorageDead(_10);                // scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
+          StorageDead(_4);                 // scope 0 at $DIR/separate_const_switch.rs:+1:9: +1:10
+-         _5 = discriminant(_3);           // scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
+-         switchInt(move _5) -> [0_isize: bb1, otherwise: bb2]; // scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
++         _5 = const 0_isize;              // scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
++         switchInt(const 0_isize) -> [0_isize: bb1, otherwise: bb2]; // scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
       }
   }
   
index f4c526c6b1979265b907b2d21d892734603e1711..952ef22d41001c16ec6044b66cba54f788c27992 100644 (file)
@@ -1,16 +1,16 @@
 // MIR for `identity` after PreCodegen
 
 fn identity(_1: Result<i32, i32>) -> Result<i32, i32> {
-    debug x => _1;                       // in scope 0 at $DIR/separate_const_switch.rs:28:13: 28:14
-    let mut _0: std::result::Result<i32, i32>; // return place in scope 0 at $DIR/separate_const_switch.rs:28:37: 28:53
-    let mut _2: i32;                     // in scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
-    let mut _3: std::ops::ControlFlow<std::result::Result<std::convert::Infallible, i32>, i32>; // in scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
-    let mut _4: std::result::Result<i32, i32>; // in scope 0 at $DIR/separate_const_switch.rs:29:8: 29:9
-    let _5: std::result::Result<std::convert::Infallible, i32>; // in scope 0 at $DIR/separate_const_switch.rs:29:9: 29:10
-    let mut _6: std::result::Result<std::convert::Infallible, i32>; // in scope 0 at $DIR/separate_const_switch.rs:29:9: 29:10
-    let _7: i32;                         // in scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
+    debug x => _1;                       // in scope 0 at $DIR/separate_const_switch.rs:+0:13: +0:14
+    let mut _0: std::result::Result<i32, i32>; // return place in scope 0 at $DIR/separate_const_switch.rs:+0:37: +0:53
+    let mut _2: i32;                     // in scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
+    let mut _3: std::ops::ControlFlow<std::result::Result<std::convert::Infallible, i32>, i32>; // in scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
+    let mut _4: std::result::Result<i32, i32>; // in scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:9
+    let _5: std::result::Result<std::convert::Infallible, i32>; // in scope 0 at $DIR/separate_const_switch.rs:+1:9: +1:10
+    let mut _6: std::result::Result<std::convert::Infallible, i32>; // in scope 0 at $DIR/separate_const_switch.rs:+1:9: +1:10
+    let _7: i32;                         // in scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
     scope 1 {
-        debug residual => _5;            // in scope 1 at $DIR/separate_const_switch.rs:29:9: 29:10
+        debug residual => _5;            // in scope 1 at $DIR/separate_const_switch.rs:+1:9: +1:10
         scope 2 {
             scope 8 (inlined #[track_caller] <Result<i32, i32> as FromResidual<Result<Infallible, i32>>>::from_residual) { // at $DIR/separate_const_switch.rs:29:8: 29:10
                 debug residual => _6;    // in scope 8 at $SRC_DIR/core/src/result.rs:LL:COL
@@ -27,7 +27,7 @@ fn identity(_1: Result<i32, i32>) -> Result<i32, i32> {
         }
     }
     scope 3 {
-        debug val => _7;                 // in scope 3 at $DIR/separate_const_switch.rs:29:8: 29:10
+        debug val => _7;                 // in scope 3 at $DIR/separate_const_switch.rs:+1:8: +1:10
         scope 4 {
         }
     }
@@ -48,11 +48,11 @@ fn identity(_1: Result<i32, i32>) -> Result<i32, i32> {
     }
 
     bb0: {
-        StorageLive(_2);                 // scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
-        StorageLive(_3);                 // scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
-        StorageLive(_4);                 // scope 0 at $DIR/separate_const_switch.rs:29:8: 29:9
-        _4 = _1;                         // scope 0 at $DIR/separate_const_switch.rs:29:8: 29:9
-        StorageLive(_8);                 // scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
+        StorageLive(_2);                 // scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
+        StorageLive(_3);                 // scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
+        StorageLive(_4);                 // scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:9
+        _4 = _1;                         // scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:9
+        StorageLive(_8);                 // scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
         _8 = discriminant(_4);           // scope 5 at $SRC_DIR/core/src/result.rs:LL:COL
         switchInt(move _8) -> [0_isize: bb3, 1_isize: bb1, otherwise: bb2]; // scope 5 at $SRC_DIR/core/src/result.rs:LL:COL
     }
@@ -72,12 +72,12 @@ fn identity(_1: Result<i32, i32>) -> Result<i32, i32> {
         discriminant(_3) = 1;            // scope 7 at $SRC_DIR/core/src/result.rs:LL:COL
         StorageDead(_12);                // scope 7 at $SRC_DIR/core/src/result.rs:LL:COL
         StorageDead(_11);                // scope 5 at $SRC_DIR/core/src/result.rs:LL:COL
-        StorageDead(_8);                 // scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
-        StorageDead(_4);                 // scope 0 at $DIR/separate_const_switch.rs:29:9: 29:10
-        StorageLive(_5);                 // scope 0 at $DIR/separate_const_switch.rs:29:9: 29:10
-        _5 = ((_3 as Break).0: std::result::Result<std::convert::Infallible, i32>); // scope 0 at $DIR/separate_const_switch.rs:29:9: 29:10
-        StorageLive(_6);                 // scope 2 at $DIR/separate_const_switch.rs:29:9: 29:10
-        _6 = _5;                         // scope 2 at $DIR/separate_const_switch.rs:29:9: 29:10
+        StorageDead(_8);                 // scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
+        StorageDead(_4);                 // scope 0 at $DIR/separate_const_switch.rs:+1:9: +1:10
+        StorageLive(_5);                 // scope 0 at $DIR/separate_const_switch.rs:+1:9: +1:10
+        _5 = ((_3 as Break).0: std::result::Result<std::convert::Infallible, i32>); // scope 0 at $DIR/separate_const_switch.rs:+1:9: +1:10
+        StorageLive(_6);                 // scope 2 at $DIR/separate_const_switch.rs:+1:9: +1:10
+        _6 = _5;                         // scope 2 at $DIR/separate_const_switch.rs:+1:9: +1:10
         StorageLive(_14);                // scope 8 at $SRC_DIR/core/src/result.rs:LL:COL
         _14 = move ((_6 as Err).0: i32); // scope 8 at $SRC_DIR/core/src/result.rs:LL:COL
         StorageLive(_15);                // scope 9 at $SRC_DIR/core/src/result.rs:LL:COL
@@ -90,11 +90,11 @@ fn identity(_1: Result<i32, i32>) -> Result<i32, i32> {
         discriminant(_0) = 1;            // scope 9 at $SRC_DIR/core/src/result.rs:LL:COL
         StorageDead(_15);                // scope 9 at $SRC_DIR/core/src/result.rs:LL:COL
         StorageDead(_14);                // scope 8 at $SRC_DIR/core/src/result.rs:LL:COL
-        StorageDead(_6);                 // scope 2 at $DIR/separate_const_switch.rs:29:9: 29:10
-        StorageDead(_5);                 // scope 0 at $DIR/separate_const_switch.rs:29:9: 29:10
-        StorageDead(_2);                 // scope 0 at $DIR/separate_const_switch.rs:29:10: 29:11
-        StorageDead(_3);                 // scope 0 at $DIR/separate_const_switch.rs:30:1: 30:2
-        return;                          // scope 0 at $DIR/separate_const_switch.rs:30:2: 30:2
+        StorageDead(_6);                 // scope 2 at $DIR/separate_const_switch.rs:+1:9: +1:10
+        StorageDead(_5);                 // scope 0 at $DIR/separate_const_switch.rs:+1:9: +1:10
+        StorageDead(_2);                 // scope 0 at $DIR/separate_const_switch.rs:+1:10: +1:11
+        StorageDead(_3);                 // scope 0 at $DIR/separate_const_switch.rs:+2:1: +2:2
+        return;                          // scope 0 at $DIR/separate_const_switch.rs:+2:2: +2:2
     }
 
     bb2: {
@@ -111,17 +111,17 @@ fn identity(_1: Result<i32, i32>) -> Result<i32, i32> {
         discriminant(_3) = 0;            // scope 6 at $SRC_DIR/core/src/result.rs:LL:COL
         StorageDead(_10);                // scope 6 at $SRC_DIR/core/src/result.rs:LL:COL
         StorageDead(_9);                 // scope 5 at $SRC_DIR/core/src/result.rs:LL:COL
-        StorageDead(_8);                 // scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
-        StorageDead(_4);                 // scope 0 at $DIR/separate_const_switch.rs:29:9: 29:10
-        StorageLive(_7);                 // scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
-        _7 = ((_3 as Continue).0: i32);  // scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
-        _2 = _7;                         // scope 4 at $DIR/separate_const_switch.rs:29:8: 29:10
-        StorageDead(_7);                 // scope 0 at $DIR/separate_const_switch.rs:29:9: 29:10
-        Deinit(_0);                      // scope 0 at $DIR/separate_const_switch.rs:29:5: 29:11
-        ((_0 as Ok).0: i32) = move _2;   // scope 0 at $DIR/separate_const_switch.rs:29:5: 29:11
-        discriminant(_0) = 0;            // scope 0 at $DIR/separate_const_switch.rs:29:5: 29:11
-        StorageDead(_2);                 // scope 0 at $DIR/separate_const_switch.rs:29:10: 29:11
-        StorageDead(_3);                 // scope 0 at $DIR/separate_const_switch.rs:30:1: 30:2
-        return;                          // scope 0 at $DIR/separate_const_switch.rs:30:2: 30:2
+        StorageDead(_8);                 // scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
+        StorageDead(_4);                 // scope 0 at $DIR/separate_const_switch.rs:+1:9: +1:10
+        StorageLive(_7);                 // scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
+        _7 = ((_3 as Continue).0: i32);  // scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
+        _2 = _7;                         // scope 4 at $DIR/separate_const_switch.rs:+1:8: +1:10
+        StorageDead(_7);                 // scope 0 at $DIR/separate_const_switch.rs:+1:9: +1:10
+        Deinit(_0);                      // scope 0 at $DIR/separate_const_switch.rs:+1:5: +1:11
+        ((_0 as Ok).0: i32) = move _2;   // scope 0 at $DIR/separate_const_switch.rs:+1:5: +1:11
+        discriminant(_0) = 0;            // scope 0 at $DIR/separate_const_switch.rs:+1:5: +1:11
+        StorageDead(_2);                 // scope 0 at $DIR/separate_const_switch.rs:+1:10: +1:11
+        StorageDead(_3);                 // scope 0 at $DIR/separate_const_switch.rs:+2:1: +2:2
+        return;                          // scope 0 at $DIR/separate_const_switch.rs:+2:2: +2:2
     }
 }
index d94967072ba75c1ce4a21e7877c0cf78c88d8986..8453d534150b385a16f80338e2f5368e5109e627 100644 (file)
@@ -2,18 +2,18 @@
 + // MIR for `identity` after SeparateConstSwitch
   
   fn identity(_1: Result<i32, i32>) -> Result<i32, i32> {
-      debug x => _1;                       // in scope 0 at $DIR/separate_const_switch.rs:28:13: 28:14
-      let mut _0: std::result::Result<i32, i32>; // return place in scope 0 at $DIR/separate_const_switch.rs:28:37: 28:53
-      let mut _2: i32;                     // in scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
-      let mut _3: std::ops::ControlFlow<std::result::Result<std::convert::Infallible, i32>, i32>; // in scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
-      let mut _4: std::result::Result<i32, i32>; // in scope 0 at $DIR/separate_const_switch.rs:29:8: 29:9
-      let mut _5: isize;                   // in scope 0 at $DIR/separate_const_switch.rs:29:9: 29:10
-      let _6: std::result::Result<std::convert::Infallible, i32>; // in scope 0 at $DIR/separate_const_switch.rs:29:9: 29:10
-      let mut _7: !;                       // in scope 0 at $DIR/separate_const_switch.rs:29:9: 29:10
-      let mut _8: std::result::Result<std::convert::Infallible, i32>; // in scope 0 at $DIR/separate_const_switch.rs:29:9: 29:10
-      let _9: i32;                         // in scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
+      debug x => _1;                       // in scope 0 at $DIR/separate_const_switch.rs:+0:13: +0:14
+      let mut _0: std::result::Result<i32, i32>; // return place in scope 0 at $DIR/separate_const_switch.rs:+0:37: +0:53
+      let mut _2: i32;                     // in scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
+      let mut _3: std::ops::ControlFlow<std::result::Result<std::convert::Infallible, i32>, i32>; // in scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
+      let mut _4: std::result::Result<i32, i32>; // in scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:9
+      let mut _5: isize;                   // in scope 0 at $DIR/separate_const_switch.rs:+1:9: +1:10
+      let _6: std::result::Result<std::convert::Infallible, i32>; // in scope 0 at $DIR/separate_const_switch.rs:+1:9: +1:10
+      let mut _7: !;                       // in scope 0 at $DIR/separate_const_switch.rs:+1:9: +1:10
+      let mut _8: std::result::Result<std::convert::Infallible, i32>; // in scope 0 at $DIR/separate_const_switch.rs:+1:9: +1:10
+      let _9: i32;                         // in scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
       scope 1 {
-          debug residual => _6;            // in scope 1 at $DIR/separate_const_switch.rs:29:9: 29:10
+          debug residual => _6;            // in scope 1 at $DIR/separate_const_switch.rs:+1:9: +1:10
           scope 2 {
               scope 8 (inlined #[track_caller] <Result<i32, i32> as FromResidual<Result<Infallible, i32>>>::from_residual) { // at $DIR/separate_const_switch.rs:29:8: 29:10
                   debug residual => _8;    // in scope 8 at $SRC_DIR/core/src/result.rs:LL:COL
@@ -30,7 +30,7 @@
           }
       }
       scope 3 {
-          debug val => _9;                 // in scope 3 at $DIR/separate_const_switch.rs:29:8: 29:10
+          debug val => _9;                 // in scope 3 at $DIR/separate_const_switch.rs:+1:8: +1:10
           scope 4 {
           }
       }
       }
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
-          StorageLive(_3);                 // scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
-          StorageLive(_4);                 // scope 0 at $DIR/separate_const_switch.rs:29:8: 29:9
-          _4 = _1;                         // scope 0 at $DIR/separate_const_switch.rs:29:8: 29:9
-          StorageLive(_10);                // scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
+          StorageLive(_2);                 // scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
+          StorageLive(_3);                 // scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
+          StorageLive(_4);                 // scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:9
+          _4 = _1;                         // scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:9
+          StorageLive(_10);                // scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
           _10 = discriminant(_4);          // scope 5 at $SRC_DIR/core/src/result.rs:LL:COL
 -         switchInt(move _10) -> [0_isize: bb6, 1_isize: bb4, otherwise: bb5]; // scope 5 at $SRC_DIR/core/src/result.rs:LL:COL
 +         switchInt(move _10) -> [0_isize: bb5, 1_isize: bb3, otherwise: bb4]; // scope 5 at $SRC_DIR/core/src/result.rs:LL:COL
       }
   
       bb1: {
--         StorageDead(_10);                // scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
--         StorageDead(_4);                 // scope 0 at $DIR/separate_const_switch.rs:29:9: 29:10
--         _5 = discriminant(_3);           // scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
--         switchInt(move _5) -> [0_isize: bb2, otherwise: bb3]; // scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
+-         StorageDead(_10);                // scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
+-         StorageDead(_4);                 // scope 0 at $DIR/separate_const_switch.rs:+1:9: +1:10
+-         _5 = discriminant(_3);           // scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
+-         switchInt(move _5) -> [0_isize: bb2, otherwise: bb3]; // scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
 -     }
 - 
 -     bb2: {
-          StorageLive(_9);                 // scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
-          _9 = ((_3 as Continue).0: i32);  // scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
-          _2 = _9;                         // scope 4 at $DIR/separate_const_switch.rs:29:8: 29:10
-          StorageDead(_9);                 // scope 0 at $DIR/separate_const_switch.rs:29:9: 29:10
-          Deinit(_0);                      // scope 0 at $DIR/separate_const_switch.rs:29:5: 29:11
-          ((_0 as Ok).0: i32) = move _2;   // scope 0 at $DIR/separate_const_switch.rs:29:5: 29:11
-          discriminant(_0) = 0;            // scope 0 at $DIR/separate_const_switch.rs:29:5: 29:11
-          StorageDead(_2);                 // scope 0 at $DIR/separate_const_switch.rs:29:10: 29:11
-          StorageDead(_3);                 // scope 0 at $DIR/separate_const_switch.rs:30:1: 30:2
-          return;                          // scope 0 at $DIR/separate_const_switch.rs:30:2: 30:2
+          StorageLive(_9);                 // scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
+          _9 = ((_3 as Continue).0: i32);  // scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
+          _2 = _9;                         // scope 4 at $DIR/separate_const_switch.rs:+1:8: +1:10
+          StorageDead(_9);                 // scope 0 at $DIR/separate_const_switch.rs:+1:9: +1:10
+          Deinit(_0);                      // scope 0 at $DIR/separate_const_switch.rs:+1:5: +1:11
+          ((_0 as Ok).0: i32) = move _2;   // scope 0 at $DIR/separate_const_switch.rs:+1:5: +1:11
+          discriminant(_0) = 0;            // scope 0 at $DIR/separate_const_switch.rs:+1:5: +1:11
+          StorageDead(_2);                 // scope 0 at $DIR/separate_const_switch.rs:+1:10: +1:11
+          StorageDead(_3);                 // scope 0 at $DIR/separate_const_switch.rs:+2:1: +2:2
+          return;                          // scope 0 at $DIR/separate_const_switch.rs:+2:2: +2:2
       }
   
 -     bb3: {
 +     bb2: {
-          StorageLive(_6);                 // scope 0 at $DIR/separate_const_switch.rs:29:9: 29:10
-          _6 = ((_3 as Break).0: std::result::Result<std::convert::Infallible, i32>); // scope 0 at $DIR/separate_const_switch.rs:29:9: 29:10
-          StorageLive(_8);                 // scope 2 at $DIR/separate_const_switch.rs:29:9: 29:10
-          _8 = _6;                         // scope 2 at $DIR/separate_const_switch.rs:29:9: 29:10
+          StorageLive(_6);                 // scope 0 at $DIR/separate_const_switch.rs:+1:9: +1:10
+          _6 = ((_3 as Break).0: std::result::Result<std::convert::Infallible, i32>); // scope 0 at $DIR/separate_const_switch.rs:+1:9: +1:10
+          StorageLive(_8);                 // scope 2 at $DIR/separate_const_switch.rs:+1:9: +1:10
+          _8 = _6;                         // scope 2 at $DIR/separate_const_switch.rs:+1:9: +1:10
           StorageLive(_16);                // scope 8 at $SRC_DIR/core/src/result.rs:LL:COL
           _16 = move ((_8 as Err).0: i32); // scope 8 at $SRC_DIR/core/src/result.rs:LL:COL
           StorageLive(_17);                // scope 9 at $SRC_DIR/core/src/result.rs:LL:COL
           discriminant(_0) = 1;            // scope 9 at $SRC_DIR/core/src/result.rs:LL:COL
           StorageDead(_17);                // scope 9 at $SRC_DIR/core/src/result.rs:LL:COL
           StorageDead(_16);                // scope 8 at $SRC_DIR/core/src/result.rs:LL:COL
-          StorageDead(_8);                 // scope 2 at $DIR/separate_const_switch.rs:29:9: 29:10
-          StorageDead(_6);                 // scope 0 at $DIR/separate_const_switch.rs:29:9: 29:10
-          StorageDead(_2);                 // scope 0 at $DIR/separate_const_switch.rs:29:10: 29:11
-          StorageDead(_3);                 // scope 0 at $DIR/separate_const_switch.rs:30:1: 30:2
-          return;                          // scope 0 at $DIR/separate_const_switch.rs:30:2: 30:2
+          StorageDead(_8);                 // scope 2 at $DIR/separate_const_switch.rs:+1:9: +1:10
+          StorageDead(_6);                 // scope 0 at $DIR/separate_const_switch.rs:+1:9: +1:10
+          StorageDead(_2);                 // scope 0 at $DIR/separate_const_switch.rs:+1:10: +1:11
+          StorageDead(_3);                 // scope 0 at $DIR/separate_const_switch.rs:+2:1: +2:2
+          return;                          // scope 0 at $DIR/separate_const_switch.rs:+2:2: +2:2
       }
   
 -     bb4: {
           StorageDead(_14);                // scope 7 at $SRC_DIR/core/src/result.rs:LL:COL
           StorageDead(_13);                // scope 5 at $SRC_DIR/core/src/result.rs:LL:COL
 -         goto -> bb1;                     // scope 5 at $SRC_DIR/core/src/result.rs:LL:COL
-+         StorageDead(_10);                // scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
-+         StorageDead(_4);                 // scope 0 at $DIR/separate_const_switch.rs:29:9: 29:10
-+         _5 = discriminant(_3);           // scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
-+         switchInt(move _5) -> [0_isize: bb1, otherwise: bb2]; // scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
++         StorageDead(_10);                // scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
++         StorageDead(_4);                 // scope 0 at $DIR/separate_const_switch.rs:+1:9: +1:10
++         _5 = discriminant(_3);           // scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
++         switchInt(move _5) -> [0_isize: bb1, otherwise: bb2]; // scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
       }
   
 -     bb5: {
           StorageDead(_12);                // scope 6 at $SRC_DIR/core/src/result.rs:LL:COL
           StorageDead(_11);                // scope 5 at $SRC_DIR/core/src/result.rs:LL:COL
 -         goto -> bb1;                     // scope 5 at $SRC_DIR/core/src/result.rs:LL:COL
-+         StorageDead(_10);                // scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
-+         StorageDead(_4);                 // scope 0 at $DIR/separate_const_switch.rs:29:9: 29:10
-+         _5 = discriminant(_3);           // scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
-+         switchInt(move _5) -> [0_isize: bb1, otherwise: bb2]; // scope 0 at $DIR/separate_const_switch.rs:29:8: 29:10
++         StorageDead(_10);                // scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
++         StorageDead(_4);                 // scope 0 at $DIR/separate_const_switch.rs:+1:9: +1:10
++         _5 = discriminant(_3);           // scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
++         switchInt(move _5) -> [0_isize: bb1, otherwise: bb2]; // scope 0 at $DIR/separate_const_switch.rs:+1:8: +1:10
       }
   }
   
index ea549a76f5810509a3d5fc8136210d626e54c175..de9f45c3d469019a623156b2065243c6644dc5df 100644 (file)
@@ -2,94 +2,94 @@
 + // MIR for `too_complex` after ConstProp
   
   fn too_complex(_1: Result<i32, usize>) -> Option<i32> {
-      debug x => _1;                       // in scope 0 at $DIR/separate_const_switch.rs:9:16: 9:17
-      let mut _0: std::option::Option<i32>; // return place in scope 0 at $DIR/separate_const_switch.rs:9:42: 9:53
-      let mut _2: std::ops::ControlFlow<usize, i32>; // in scope 0 at $DIR/separate_const_switch.rs:14:11: 19:6
-      let mut _3: isize;                   // in scope 0 at $DIR/separate_const_switch.rs:16:13: 16:18
-      let _4: i32;                         // in scope 0 at $DIR/separate_const_switch.rs:16:16: 16:17
-      let mut _5: i32;                     // in scope 0 at $DIR/separate_const_switch.rs:16:44: 16:45
-      let _6: usize;                       // in scope 0 at $DIR/separate_const_switch.rs:17:17: 17:18
-      let mut _7: usize;                   // in scope 0 at $DIR/separate_const_switch.rs:17:42: 17:43
-      let mut _8: isize;                   // in scope 0 at $DIR/separate_const_switch.rs:20:9: 20:33
-      let _9: i32;                         // in scope 0 at $DIR/separate_const_switch.rs:20:31: 20:32
-      let mut _10: i32;                    // in scope 0 at $DIR/separate_const_switch.rs:20:42: 20:43
-      let _11: usize;                      // in scope 0 at $DIR/separate_const_switch.rs:21:28: 21:29
+      debug x => _1;                       // in scope 0 at $DIR/separate_const_switch.rs:+0:16: +0:17
+      let mut _0: std::option::Option<i32>; // return place in scope 0 at $DIR/separate_const_switch.rs:+0:42: +0:53
+      let mut _2: std::ops::ControlFlow<usize, i32>; // in scope 0 at $DIR/separate_const_switch.rs:+5:11: +10:6
+      let mut _3: isize;                   // in scope 0 at $DIR/separate_const_switch.rs:+7:13: +7:18
+      let _4: i32;                         // in scope 0 at $DIR/separate_const_switch.rs:+7:16: +7:17
+      let mut _5: i32;                     // in scope 0 at $DIR/separate_const_switch.rs:+7:44: +7:45
+      let _6: usize;                       // in scope 0 at $DIR/separate_const_switch.rs:+8:17: +8:18
+      let mut _7: usize;                   // in scope 0 at $DIR/separate_const_switch.rs:+8:42: +8:43
+      let mut _8: isize;                   // in scope 0 at $DIR/separate_const_switch.rs:+11:9: +11:33
+      let _9: i32;                         // in scope 0 at $DIR/separate_const_switch.rs:+11:31: +11:32
+      let mut _10: i32;                    // in scope 0 at $DIR/separate_const_switch.rs:+11:42: +11:43
+      let _11: usize;                      // in scope 0 at $DIR/separate_const_switch.rs:+12:28: +12:29
       scope 1 {
-          debug v => _4;                   // in scope 1 at $DIR/separate_const_switch.rs:16:16: 16:17
+          debug v => _4;                   // in scope 1 at $DIR/separate_const_switch.rs:+7:16: +7:17
       }
       scope 2 {
-          debug r => _6;                   // in scope 2 at $DIR/separate_const_switch.rs:17:17: 17:18
+          debug r => _6;                   // in scope 2 at $DIR/separate_const_switch.rs:+8:17: +8:18
       }
       scope 3 {
-          debug v => _9;                   // in scope 3 at $DIR/separate_const_switch.rs:20:31: 20:32
+          debug v => _9;                   // in scope 3 at $DIR/separate_const_switch.rs:+11:31: +11:32
       }
       scope 4 {
-          debug r => _11;                  // in scope 4 at $DIR/separate_const_switch.rs:21:28: 21:29
+          debug r => _11;                  // in scope 4 at $DIR/separate_const_switch.rs:+12:28: +12:29
       }
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/separate_const_switch.rs:14:11: 19:6
-          _3 = discriminant(_1);           // scope 0 at $DIR/separate_const_switch.rs:15:15: 15:16
-          switchInt(move _3) -> [0_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/separate_const_switch.rs:15:9: 15:16
+          StorageLive(_2);                 // scope 0 at $DIR/separate_const_switch.rs:+5:11: +10:6
+          _3 = discriminant(_1);           // scope 0 at $DIR/separate_const_switch.rs:+6:15: +6:16
+          switchInt(move _3) -> [0_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/separate_const_switch.rs:+6:9: +6:16
       }
   
       bb1: {
-          StorageLive(_6);                 // scope 0 at $DIR/separate_const_switch.rs:17:17: 17:18
-          _6 = ((_1 as Err).0: usize);     // scope 0 at $DIR/separate_const_switch.rs:17:17: 17:18
-          StorageLive(_7);                 // scope 2 at $DIR/separate_const_switch.rs:17:42: 17:43
-          _7 = _6;                         // scope 2 at $DIR/separate_const_switch.rs:17:42: 17:43
-          Deinit(_2);                      // scope 2 at $DIR/separate_const_switch.rs:17:23: 17:44
-          ((_2 as Break).0: usize) = move _7; // scope 2 at $DIR/separate_const_switch.rs:17:23: 17:44
-          discriminant(_2) = 1;            // scope 2 at $DIR/separate_const_switch.rs:17:23: 17:44
-          StorageDead(_7);                 // scope 2 at $DIR/separate_const_switch.rs:17:43: 17:44
-          StorageDead(_6);                 // scope 0 at $DIR/separate_const_switch.rs:17:43: 17:44
--         _8 = discriminant(_2);           // scope 0 at $DIR/separate_const_switch.rs:14:11: 19:6
--         switchInt(move _8) -> [0_isize: bb4, otherwise: bb3]; // scope 0 at $DIR/separate_const_switch.rs:14:5: 19:6
-+         _8 = const 1_isize;              // scope 0 at $DIR/separate_const_switch.rs:14:11: 19:6
-+         switchInt(const 1_isize) -> [0_isize: bb4, otherwise: bb3]; // scope 0 at $DIR/separate_const_switch.rs:14:5: 19:6
+          StorageLive(_6);                 // scope 0 at $DIR/separate_const_switch.rs:+8:17: +8:18
+          _6 = ((_1 as Err).0: usize);     // scope 0 at $DIR/separate_const_switch.rs:+8:17: +8:18
+          StorageLive(_7);                 // scope 2 at $DIR/separate_const_switch.rs:+8:42: +8:43
+          _7 = _6;                         // scope 2 at $DIR/separate_const_switch.rs:+8:42: +8:43
+          Deinit(_2);                      // scope 2 at $DIR/separate_const_switch.rs:+8:23: +8:44
+          ((_2 as Break).0: usize) = move _7; // scope 2 at $DIR/separate_const_switch.rs:+8:23: +8:44
+          discriminant(_2) = 1;            // scope 2 at $DIR/separate_const_switch.rs:+8:23: +8:44
+          StorageDead(_7);                 // scope 2 at $DIR/separate_const_switch.rs:+8:43: +8:44
+          StorageDead(_6);                 // scope 0 at $DIR/separate_const_switch.rs:+8:43: +8:44
+-         _8 = discriminant(_2);           // scope 0 at $DIR/separate_const_switch.rs:+5:11: +10:6
+-         switchInt(move _8) -> [0_isize: bb4, otherwise: bb3]; // scope 0 at $DIR/separate_const_switch.rs:+5:5: +10:6
++         _8 = const 1_isize;              // scope 0 at $DIR/separate_const_switch.rs:+5:11: +10:6
++         switchInt(const 1_isize) -> [0_isize: bb4, otherwise: bb3]; // scope 0 at $DIR/separate_const_switch.rs:+5:5: +10:6
       }
   
       bb2: {
-          StorageLive(_4);                 // scope 0 at $DIR/separate_const_switch.rs:16:16: 16:17
-          _4 = ((_1 as Ok).0: i32);        // scope 0 at $DIR/separate_const_switch.rs:16:16: 16:17
-          StorageLive(_5);                 // scope 1 at $DIR/separate_const_switch.rs:16:44: 16:45
-          _5 = _4;                         // scope 1 at $DIR/separate_const_switch.rs:16:44: 16:45
-          Deinit(_2);                      // scope 1 at $DIR/separate_const_switch.rs:16:22: 16:46
-          ((_2 as Continue).0: i32) = move _5; // scope 1 at $DIR/separate_const_switch.rs:16:22: 16:46
-          discriminant(_2) = 0;            // scope 1 at $DIR/separate_const_switch.rs:16:22: 16:46
-          StorageDead(_5);                 // scope 1 at $DIR/separate_const_switch.rs:16:45: 16:46
-          StorageDead(_4);                 // scope 0 at $DIR/separate_const_switch.rs:16:45: 16:46
--         _8 = discriminant(_2);           // scope 0 at $DIR/separate_const_switch.rs:14:11: 19:6
--         switchInt(move _8) -> [0_isize: bb4, otherwise: bb3]; // scope 0 at $DIR/separate_const_switch.rs:14:5: 19:6
-+         _8 = const 0_isize;              // scope 0 at $DIR/separate_const_switch.rs:14:11: 19:6
-+         switchInt(const 0_isize) -> [0_isize: bb4, otherwise: bb3]; // scope 0 at $DIR/separate_const_switch.rs:14:5: 19:6
+          StorageLive(_4);                 // scope 0 at $DIR/separate_const_switch.rs:+7:16: +7:17
+          _4 = ((_1 as Ok).0: i32);        // scope 0 at $DIR/separate_const_switch.rs:+7:16: +7:17
+          StorageLive(_5);                 // scope 1 at $DIR/separate_const_switch.rs:+7:44: +7:45
+          _5 = _4;                         // scope 1 at $DIR/separate_const_switch.rs:+7:44: +7:45
+          Deinit(_2);                      // scope 1 at $DIR/separate_const_switch.rs:+7:22: +7:46
+          ((_2 as Continue).0: i32) = move _5; // scope 1 at $DIR/separate_const_switch.rs:+7:22: +7:46
+          discriminant(_2) = 0;            // scope 1 at $DIR/separate_const_switch.rs:+7:22: +7:46
+          StorageDead(_5);                 // scope 1 at $DIR/separate_const_switch.rs:+7:45: +7:46
+          StorageDead(_4);                 // scope 0 at $DIR/separate_const_switch.rs:+7:45: +7:46
+-         _8 = discriminant(_2);           // scope 0 at $DIR/separate_const_switch.rs:+5:11: +10:6
+-         switchInt(move _8) -> [0_isize: bb4, otherwise: bb3]; // scope 0 at $DIR/separate_const_switch.rs:+5:5: +10:6
++         _8 = const 0_isize;              // scope 0 at $DIR/separate_const_switch.rs:+5:11: +10:6
++         switchInt(const 0_isize) -> [0_isize: bb4, otherwise: bb3]; // scope 0 at $DIR/separate_const_switch.rs:+5:5: +10:6
       }
   
       bb3: {
-          StorageLive(_11);                // scope 0 at $DIR/separate_const_switch.rs:21:28: 21:29
-          _11 = ((_2 as Break).0: usize);  // scope 0 at $DIR/separate_const_switch.rs:21:28: 21:29
-          Deinit(_0);                      // scope 4 at $DIR/separate_const_switch.rs:21:34: 21:38
-          discriminant(_0) = 0;            // scope 4 at $DIR/separate_const_switch.rs:21:34: 21:38
-          StorageDead(_11);                // scope 0 at $DIR/separate_const_switch.rs:21:37: 21:38
-          goto -> bb5;                     // scope 0 at $DIR/separate_const_switch.rs:21:37: 21:38
+          StorageLive(_11);                // scope 0 at $DIR/separate_const_switch.rs:+12:28: +12:29
+          _11 = ((_2 as Break).0: usize);  // scope 0 at $DIR/separate_const_switch.rs:+12:28: +12:29
+          Deinit(_0);                      // scope 4 at $DIR/separate_const_switch.rs:+12:34: +12:38
+          discriminant(_0) = 0;            // scope 4 at $DIR/separate_const_switch.rs:+12:34: +12:38
+          StorageDead(_11);                // scope 0 at $DIR/separate_const_switch.rs:+12:37: +12:38
+          goto -> bb5;                     // scope 0 at $DIR/separate_const_switch.rs:+12:37: +12:38
       }
   
       bb4: {
-          StorageLive(_9);                 // scope 0 at $DIR/separate_const_switch.rs:20:31: 20:32
-          _9 = ((_2 as Continue).0: i32);  // scope 0 at $DIR/separate_const_switch.rs:20:31: 20:32
-          StorageLive(_10);                // scope 3 at $DIR/separate_const_switch.rs:20:42: 20:43
-          _10 = _9;                        // scope 3 at $DIR/separate_const_switch.rs:20:42: 20:43
-          Deinit(_0);                      // scope 3 at $DIR/separate_const_switch.rs:20:37: 20:44
-          ((_0 as Some).0: i32) = move _10; // scope 3 at $DIR/separate_const_switch.rs:20:37: 20:44
-          discriminant(_0) = 1;            // scope 3 at $DIR/separate_const_switch.rs:20:37: 20:44
-          StorageDead(_10);                // scope 3 at $DIR/separate_const_switch.rs:20:43: 20:44
-          StorageDead(_9);                 // scope 0 at $DIR/separate_const_switch.rs:20:43: 20:44
-          goto -> bb5;                     // scope 0 at $DIR/separate_const_switch.rs:20:43: 20:44
+          StorageLive(_9);                 // scope 0 at $DIR/separate_const_switch.rs:+11:31: +11:32
+          _9 = ((_2 as Continue).0: i32);  // scope 0 at $DIR/separate_const_switch.rs:+11:31: +11:32
+          StorageLive(_10);                // scope 3 at $DIR/separate_const_switch.rs:+11:42: +11:43
+          _10 = _9;                        // scope 3 at $DIR/separate_const_switch.rs:+11:42: +11:43
+          Deinit(_0);                      // scope 3 at $DIR/separate_const_switch.rs:+11:37: +11:44
+          ((_0 as Some).0: i32) = move _10; // scope 3 at $DIR/separate_const_switch.rs:+11:37: +11:44
+          discriminant(_0) = 1;            // scope 3 at $DIR/separate_const_switch.rs:+11:37: +11:44
+          StorageDead(_10);                // scope 3 at $DIR/separate_const_switch.rs:+11:43: +11:44
+          StorageDead(_9);                 // scope 0 at $DIR/separate_const_switch.rs:+11:43: +11:44
+          goto -> bb5;                     // scope 0 at $DIR/separate_const_switch.rs:+11:43: +11:44
       }
   
       bb5: {
-          StorageDead(_2);                 // scope 0 at $DIR/separate_const_switch.rs:23:1: 23:2
-          return;                          // scope 0 at $DIR/separate_const_switch.rs:23:2: 23:2
+          StorageDead(_2);                 // scope 0 at $DIR/separate_const_switch.rs:+14:1: +14:2
+          return;                          // scope 0 at $DIR/separate_const_switch.rs:+14:2: +14:2
       }
   }
   
index 39100316597e31117c959fdd95f1b6e7c319c1d8..1009225b733f9697b339d3f14ab5a967f64c79fa 100644 (file)
@@ -1,69 +1,69 @@
 // MIR for `too_complex` after PreCodegen
 
 fn too_complex(_1: Result<i32, usize>) -> Option<i32> {
-    debug x => _1;                       // in scope 0 at $DIR/separate_const_switch.rs:9:16: 9:17
-    let mut _0: std::option::Option<i32>; // return place in scope 0 at $DIR/separate_const_switch.rs:9:42: 9:53
-    let mut _2: std::ops::ControlFlow<usize, i32>; // in scope 0 at $DIR/separate_const_switch.rs:14:11: 19:6
-    let mut _3: isize;                   // in scope 0 at $DIR/separate_const_switch.rs:16:13: 16:18
-    let _4: i32;                         // in scope 0 at $DIR/separate_const_switch.rs:16:16: 16:17
-    let mut _5: i32;                     // in scope 0 at $DIR/separate_const_switch.rs:16:44: 16:45
-    let _6: usize;                       // in scope 0 at $DIR/separate_const_switch.rs:17:17: 17:18
-    let _7: i32;                         // in scope 0 at $DIR/separate_const_switch.rs:20:31: 20:32
-    let mut _8: i32;                     // in scope 0 at $DIR/separate_const_switch.rs:20:42: 20:43
-    let _9: usize;                       // in scope 0 at $DIR/separate_const_switch.rs:21:28: 21:29
+    debug x => _1;                       // in scope 0 at $DIR/separate_const_switch.rs:+0:16: +0:17
+    let mut _0: std::option::Option<i32>; // return place in scope 0 at $DIR/separate_const_switch.rs:+0:42: +0:53
+    let mut _2: std::ops::ControlFlow<usize, i32>; // in scope 0 at $DIR/separate_const_switch.rs:+5:11: +10:6
+    let mut _3: isize;                   // in scope 0 at $DIR/separate_const_switch.rs:+7:13: +7:18
+    let _4: i32;                         // in scope 0 at $DIR/separate_const_switch.rs:+7:16: +7:17
+    let mut _5: i32;                     // in scope 0 at $DIR/separate_const_switch.rs:+7:44: +7:45
+    let _6: usize;                       // in scope 0 at $DIR/separate_const_switch.rs:+8:17: +8:18
+    let _7: i32;                         // in scope 0 at $DIR/separate_const_switch.rs:+11:31: +11:32
+    let mut _8: i32;                     // in scope 0 at $DIR/separate_const_switch.rs:+11:42: +11:43
+    let _9: usize;                       // in scope 0 at $DIR/separate_const_switch.rs:+12:28: +12:29
     scope 1 {
-        debug v => _4;                   // in scope 1 at $DIR/separate_const_switch.rs:16:16: 16:17
+        debug v => _4;                   // in scope 1 at $DIR/separate_const_switch.rs:+7:16: +7:17
     }
     scope 2 {
-        debug r => _6;                   // in scope 2 at $DIR/separate_const_switch.rs:17:17: 17:18
+        debug r => _6;                   // in scope 2 at $DIR/separate_const_switch.rs:+8:17: +8:18
     }
     scope 3 {
-        debug v => _7;                   // in scope 3 at $DIR/separate_const_switch.rs:20:31: 20:32
+        debug v => _7;                   // in scope 3 at $DIR/separate_const_switch.rs:+11:31: +11:32
     }
     scope 4 {
-        debug r => _9;                   // in scope 4 at $DIR/separate_const_switch.rs:21:28: 21:29
+        debug r => _9;                   // in scope 4 at $DIR/separate_const_switch.rs:+12:28: +12:29
     }
 
     bb0: {
-        StorageLive(_2);                 // scope 0 at $DIR/separate_const_switch.rs:14:11: 19:6
-        _3 = discriminant(_1);           // scope 0 at $DIR/separate_const_switch.rs:15:15: 15:16
-        switchInt(move _3) -> [0_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/separate_const_switch.rs:15:9: 15:16
+        StorageLive(_2);                 // scope 0 at $DIR/separate_const_switch.rs:+5:11: +10:6
+        _3 = discriminant(_1);           // scope 0 at $DIR/separate_const_switch.rs:+6:15: +6:16
+        switchInt(move _3) -> [0_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/separate_const_switch.rs:+6:9: +6:16
     }
 
     bb1: {
-        StorageLive(_6);                 // scope 0 at $DIR/separate_const_switch.rs:17:17: 17:18
-        StorageDead(_6);                 // scope 0 at $DIR/separate_const_switch.rs:17:43: 17:44
-        StorageLive(_9);                 // scope 0 at $DIR/separate_const_switch.rs:21:28: 21:29
-        Deinit(_0);                      // scope 4 at $DIR/separate_const_switch.rs:21:34: 21:38
-        discriminant(_0) = 0;            // scope 4 at $DIR/separate_const_switch.rs:21:34: 21:38
-        StorageDead(_9);                 // scope 0 at $DIR/separate_const_switch.rs:21:37: 21:38
-        goto -> bb3;                     // scope 0 at $DIR/separate_const_switch.rs:21:37: 21:38
+        StorageLive(_6);                 // scope 0 at $DIR/separate_const_switch.rs:+8:17: +8:18
+        StorageDead(_6);                 // scope 0 at $DIR/separate_const_switch.rs:+8:43: +8:44
+        StorageLive(_9);                 // scope 0 at $DIR/separate_const_switch.rs:+12:28: +12:29
+        Deinit(_0);                      // scope 4 at $DIR/separate_const_switch.rs:+12:34: +12:38
+        discriminant(_0) = 0;            // scope 4 at $DIR/separate_const_switch.rs:+12:34: +12:38
+        StorageDead(_9);                 // scope 0 at $DIR/separate_const_switch.rs:+12:37: +12:38
+        goto -> bb3;                     // scope 0 at $DIR/separate_const_switch.rs:+12:37: +12:38
     }
 
     bb2: {
-        StorageLive(_4);                 // scope 0 at $DIR/separate_const_switch.rs:16:16: 16:17
-        _4 = ((_1 as Ok).0: i32);        // scope 0 at $DIR/separate_const_switch.rs:16:16: 16:17
-        StorageLive(_5);                 // scope 1 at $DIR/separate_const_switch.rs:16:44: 16:45
-        _5 = _4;                         // scope 1 at $DIR/separate_const_switch.rs:16:44: 16:45
-        Deinit(_2);                      // scope 1 at $DIR/separate_const_switch.rs:16:22: 16:46
-        ((_2 as Continue).0: i32) = move _5; // scope 1 at $DIR/separate_const_switch.rs:16:22: 16:46
-        discriminant(_2) = 0;            // scope 1 at $DIR/separate_const_switch.rs:16:22: 16:46
-        StorageDead(_5);                 // scope 1 at $DIR/separate_const_switch.rs:16:45: 16:46
-        StorageDead(_4);                 // scope 0 at $DIR/separate_const_switch.rs:16:45: 16:46
-        StorageLive(_7);                 // scope 0 at $DIR/separate_const_switch.rs:20:31: 20:32
-        _7 = ((_2 as Continue).0: i32);  // scope 0 at $DIR/separate_const_switch.rs:20:31: 20:32
-        StorageLive(_8);                 // scope 3 at $DIR/separate_const_switch.rs:20:42: 20:43
-        _8 = _7;                         // scope 3 at $DIR/separate_const_switch.rs:20:42: 20:43
-        Deinit(_0);                      // scope 3 at $DIR/separate_const_switch.rs:20:37: 20:44
-        ((_0 as Some).0: i32) = move _8; // scope 3 at $DIR/separate_const_switch.rs:20:37: 20:44
-        discriminant(_0) = 1;            // scope 3 at $DIR/separate_const_switch.rs:20:37: 20:44
-        StorageDead(_8);                 // scope 3 at $DIR/separate_const_switch.rs:20:43: 20:44
-        StorageDead(_7);                 // scope 0 at $DIR/separate_const_switch.rs:20:43: 20:44
-        goto -> bb3;                     // scope 0 at $DIR/separate_const_switch.rs:20:43: 20:44
+        StorageLive(_4);                 // scope 0 at $DIR/separate_const_switch.rs:+7:16: +7:17
+        _4 = ((_1 as Ok).0: i32);        // scope 0 at $DIR/separate_const_switch.rs:+7:16: +7:17
+        StorageLive(_5);                 // scope 1 at $DIR/separate_const_switch.rs:+7:44: +7:45
+        _5 = _4;                         // scope 1 at $DIR/separate_const_switch.rs:+7:44: +7:45
+        Deinit(_2);                      // scope 1 at $DIR/separate_const_switch.rs:+7:22: +7:46
+        ((_2 as Continue).0: i32) = move _5; // scope 1 at $DIR/separate_const_switch.rs:+7:22: +7:46
+        discriminant(_2) = 0;            // scope 1 at $DIR/separate_const_switch.rs:+7:22: +7:46
+        StorageDead(_5);                 // scope 1 at $DIR/separate_const_switch.rs:+7:45: +7:46
+        StorageDead(_4);                 // scope 0 at $DIR/separate_const_switch.rs:+7:45: +7:46
+        StorageLive(_7);                 // scope 0 at $DIR/separate_const_switch.rs:+11:31: +11:32
+        _7 = ((_2 as Continue).0: i32);  // scope 0 at $DIR/separate_const_switch.rs:+11:31: +11:32
+        StorageLive(_8);                 // scope 3 at $DIR/separate_const_switch.rs:+11:42: +11:43
+        _8 = _7;                         // scope 3 at $DIR/separate_const_switch.rs:+11:42: +11:43
+        Deinit(_0);                      // scope 3 at $DIR/separate_const_switch.rs:+11:37: +11:44
+        ((_0 as Some).0: i32) = move _8; // scope 3 at $DIR/separate_const_switch.rs:+11:37: +11:44
+        discriminant(_0) = 1;            // scope 3 at $DIR/separate_const_switch.rs:+11:37: +11:44
+        StorageDead(_8);                 // scope 3 at $DIR/separate_const_switch.rs:+11:43: +11:44
+        StorageDead(_7);                 // scope 0 at $DIR/separate_const_switch.rs:+11:43: +11:44
+        goto -> bb3;                     // scope 0 at $DIR/separate_const_switch.rs:+11:43: +11:44
     }
 
     bb3: {
-        StorageDead(_2);                 // scope 0 at $DIR/separate_const_switch.rs:23:1: 23:2
-        return;                          // scope 0 at $DIR/separate_const_switch.rs:23:2: 23:2
+        StorageDead(_2);                 // scope 0 at $DIR/separate_const_switch.rs:+14:1: +14:2
+        return;                          // scope 0 at $DIR/separate_const_switch.rs:+14:2: +14:2
     }
 }
index 11f8d509281ea71921edcd13b6175bee991a9850..3ab1c572aa1a37b2f6b54f175b027b9f94e9431a 100644 (file)
 + // MIR for `too_complex` after SeparateConstSwitch
   
   fn too_complex(_1: Result<i32, usize>) -> Option<i32> {
-      debug x => _1;                       // in scope 0 at $DIR/separate_const_switch.rs:9:16: 9:17
-      let mut _0: std::option::Option<i32>; // return place in scope 0 at $DIR/separate_const_switch.rs:9:42: 9:53
-      let mut _2: std::ops::ControlFlow<usize, i32>; // in scope 0 at $DIR/separate_const_switch.rs:14:11: 19:6
-      let mut _3: isize;                   // in scope 0 at $DIR/separate_const_switch.rs:16:13: 16:18
-      let _4: i32;                         // in scope 0 at $DIR/separate_const_switch.rs:16:16: 16:17
-      let mut _5: i32;                     // in scope 0 at $DIR/separate_const_switch.rs:16:44: 16:45
-      let _6: usize;                       // in scope 0 at $DIR/separate_const_switch.rs:17:17: 17:18
-      let mut _7: usize;                   // in scope 0 at $DIR/separate_const_switch.rs:17:42: 17:43
-      let mut _8: isize;                   // in scope 0 at $DIR/separate_const_switch.rs:20:9: 20:33
-      let _9: i32;                         // in scope 0 at $DIR/separate_const_switch.rs:20:31: 20:32
-      let mut _10: i32;                    // in scope 0 at $DIR/separate_const_switch.rs:20:42: 20:43
-      let _11: usize;                      // in scope 0 at $DIR/separate_const_switch.rs:21:28: 21:29
+      debug x => _1;                       // in scope 0 at $DIR/separate_const_switch.rs:+0:16: +0:17
+      let mut _0: std::option::Option<i32>; // return place in scope 0 at $DIR/separate_const_switch.rs:+0:42: +0:53
+      let mut _2: std::ops::ControlFlow<usize, i32>; // in scope 0 at $DIR/separate_const_switch.rs:+5:11: +10:6
+      let mut _3: isize;                   // in scope 0 at $DIR/separate_const_switch.rs:+7:13: +7:18
+      let _4: i32;                         // in scope 0 at $DIR/separate_const_switch.rs:+7:16: +7:17
+      let mut _5: i32;                     // in scope 0 at $DIR/separate_const_switch.rs:+7:44: +7:45
+      let _6: usize;                       // in scope 0 at $DIR/separate_const_switch.rs:+8:17: +8:18
+      let mut _7: usize;                   // in scope 0 at $DIR/separate_const_switch.rs:+8:42: +8:43
+      let mut _8: isize;                   // in scope 0 at $DIR/separate_const_switch.rs:+11:9: +11:33
+      let _9: i32;                         // in scope 0 at $DIR/separate_const_switch.rs:+11:31: +11:32
+      let mut _10: i32;                    // in scope 0 at $DIR/separate_const_switch.rs:+11:42: +11:43
+      let _11: usize;                      // in scope 0 at $DIR/separate_const_switch.rs:+12:28: +12:29
       scope 1 {
-          debug v => _4;                   // in scope 1 at $DIR/separate_const_switch.rs:16:16: 16:17
+          debug v => _4;                   // in scope 1 at $DIR/separate_const_switch.rs:+7:16: +7:17
       }
       scope 2 {
-          debug r => _6;                   // in scope 2 at $DIR/separate_const_switch.rs:17:17: 17:18
+          debug r => _6;                   // in scope 2 at $DIR/separate_const_switch.rs:+8:17: +8:18
       }
       scope 3 {
-          debug v => _9;                   // in scope 3 at $DIR/separate_const_switch.rs:20:31: 20:32
+          debug v => _9;                   // in scope 3 at $DIR/separate_const_switch.rs:+11:31: +11:32
       }
       scope 4 {
-          debug r => _11;                  // in scope 4 at $DIR/separate_const_switch.rs:21:28: 21:29
+          debug r => _11;                  // in scope 4 at $DIR/separate_const_switch.rs:+12:28: +12:29
       }
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/separate_const_switch.rs:14:11: 19:6
-          _3 = discriminant(_1);           // scope 0 at $DIR/separate_const_switch.rs:15:15: 15:16
-          switchInt(move _3) -> [0_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/separate_const_switch.rs:15:9: 15:16
+          StorageLive(_2);                 // scope 0 at $DIR/separate_const_switch.rs:+5:11: +10:6
+          _3 = discriminant(_1);           // scope 0 at $DIR/separate_const_switch.rs:+6:15: +6:16
+          switchInt(move _3) -> [0_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/separate_const_switch.rs:+6:9: +6:16
       }
   
       bb1: {
-          StorageLive(_6);                 // scope 0 at $DIR/separate_const_switch.rs:17:17: 17:18
-          _6 = ((_1 as Err).0: usize);     // scope 0 at $DIR/separate_const_switch.rs:17:17: 17:18
-          StorageLive(_7);                 // scope 2 at $DIR/separate_const_switch.rs:17:42: 17:43
-          _7 = _6;                         // scope 2 at $DIR/separate_const_switch.rs:17:42: 17:43
-          Deinit(_2);                      // scope 2 at $DIR/separate_const_switch.rs:17:23: 17:44
-          ((_2 as Break).0: usize) = move _7; // scope 2 at $DIR/separate_const_switch.rs:17:23: 17:44
-          discriminant(_2) = 1;            // scope 2 at $DIR/separate_const_switch.rs:17:23: 17:44
-          StorageDead(_7);                 // scope 2 at $DIR/separate_const_switch.rs:17:43: 17:44
-          StorageDead(_6);                 // scope 0 at $DIR/separate_const_switch.rs:17:43: 17:44
--         goto -> bb3;                     // scope 0 at $DIR/separate_const_switch.rs:17:43: 17:44
-+         _8 = discriminant(_2);           // scope 0 at $DIR/separate_const_switch.rs:14:11: 19:6
-+         switchInt(move _8) -> [0_isize: bb4, otherwise: bb3]; // scope 0 at $DIR/separate_const_switch.rs:14:5: 19:6
+          StorageLive(_6);                 // scope 0 at $DIR/separate_const_switch.rs:+8:17: +8:18
+          _6 = ((_1 as Err).0: usize);     // scope 0 at $DIR/separate_const_switch.rs:+8:17: +8:18
+          StorageLive(_7);                 // scope 2 at $DIR/separate_const_switch.rs:+8:42: +8:43
+          _7 = _6;                         // scope 2 at $DIR/separate_const_switch.rs:+8:42: +8:43
+          Deinit(_2);                      // scope 2 at $DIR/separate_const_switch.rs:+8:23: +8:44
+          ((_2 as Break).0: usize) = move _7; // scope 2 at $DIR/separate_const_switch.rs:+8:23: +8:44
+          discriminant(_2) = 1;            // scope 2 at $DIR/separate_const_switch.rs:+8:23: +8:44
+          StorageDead(_7);                 // scope 2 at $DIR/separate_const_switch.rs:+8:43: +8:44
+          StorageDead(_6);                 // scope 0 at $DIR/separate_const_switch.rs:+8:43: +8:44
+-         goto -> bb3;                     // scope 0 at $DIR/separate_const_switch.rs:+8:43: +8:44
++         _8 = discriminant(_2);           // scope 0 at $DIR/separate_const_switch.rs:+5:11: +10:6
++         switchInt(move _8) -> [0_isize: bb4, otherwise: bb3]; // scope 0 at $DIR/separate_const_switch.rs:+5:5: +10:6
       }
   
       bb2: {
-          StorageLive(_4);                 // scope 0 at $DIR/separate_const_switch.rs:16:16: 16:17
-          _4 = ((_1 as Ok).0: i32);        // scope 0 at $DIR/separate_const_switch.rs:16:16: 16:17
-          StorageLive(_5);                 // scope 1 at $DIR/separate_const_switch.rs:16:44: 16:45
-          _5 = _4;                         // scope 1 at $DIR/separate_const_switch.rs:16:44: 16:45
-          Deinit(_2);                      // scope 1 at $DIR/separate_const_switch.rs:16:22: 16:46
-          ((_2 as Continue).0: i32) = move _5; // scope 1 at $DIR/separate_const_switch.rs:16:22: 16:46
-          discriminant(_2) = 0;            // scope 1 at $DIR/separate_const_switch.rs:16:22: 16:46
-          StorageDead(_5);                 // scope 1 at $DIR/separate_const_switch.rs:16:45: 16:46
-          StorageDead(_4);                 // scope 0 at $DIR/separate_const_switch.rs:16:45: 16:46
--         goto -> bb3;                     // scope 0 at $DIR/separate_const_switch.rs:16:45: 16:46
+          StorageLive(_4);                 // scope 0 at $DIR/separate_const_switch.rs:+7:16: +7:17
+          _4 = ((_1 as Ok).0: i32);        // scope 0 at $DIR/separate_const_switch.rs:+7:16: +7:17
+          StorageLive(_5);                 // scope 1 at $DIR/separate_const_switch.rs:+7:44: +7:45
+          _5 = _4;                         // scope 1 at $DIR/separate_const_switch.rs:+7:44: +7:45
+          Deinit(_2);                      // scope 1 at $DIR/separate_const_switch.rs:+7:22: +7:46
+          ((_2 as Continue).0: i32) = move _5; // scope 1 at $DIR/separate_const_switch.rs:+7:22: +7:46
+          discriminant(_2) = 0;            // scope 1 at $DIR/separate_const_switch.rs:+7:22: +7:46
+          StorageDead(_5);                 // scope 1 at $DIR/separate_const_switch.rs:+7:45: +7:46
+          StorageDead(_4);                 // scope 0 at $DIR/separate_const_switch.rs:+7:45: +7:46
+-         goto -> bb3;                     // scope 0 at $DIR/separate_const_switch.rs:+7:45: +7:46
 -     }
 - 
 -     bb3: {
-          _8 = discriminant(_2);           // scope 0 at $DIR/separate_const_switch.rs:14:11: 19:6
--         switchInt(move _8) -> [0_isize: bb5, otherwise: bb4]; // scope 0 at $DIR/separate_const_switch.rs:14:5: 19:6
-+         switchInt(move _8) -> [0_isize: bb4, otherwise: bb3]; // scope 0 at $DIR/separate_const_switch.rs:14:5: 19:6
+          _8 = discriminant(_2);           // scope 0 at $DIR/separate_const_switch.rs:+5:11: +10:6
+-         switchInt(move _8) -> [0_isize: bb5, otherwise: bb4]; // scope 0 at $DIR/separate_const_switch.rs:+5:5: +10:6
++         switchInt(move _8) -> [0_isize: bb4, otherwise: bb3]; // scope 0 at $DIR/separate_const_switch.rs:+5:5: +10:6
       }
   
 -     bb4: {
 +     bb3: {
-          StorageLive(_11);                // scope 0 at $DIR/separate_const_switch.rs:21:28: 21:29
-          _11 = ((_2 as Break).0: usize);  // scope 0 at $DIR/separate_const_switch.rs:21:28: 21:29
-          Deinit(_0);                      // scope 4 at $DIR/separate_const_switch.rs:21:34: 21:38
-          discriminant(_0) = 0;            // scope 4 at $DIR/separate_const_switch.rs:21:34: 21:38
-          StorageDead(_11);                // scope 0 at $DIR/separate_const_switch.rs:21:37: 21:38
--         goto -> bb6;                     // scope 0 at $DIR/separate_const_switch.rs:21:37: 21:38
-+         goto -> bb5;                     // scope 0 at $DIR/separate_const_switch.rs:21:37: 21:38
+          StorageLive(_11);                // scope 0 at $DIR/separate_const_switch.rs:+12:28: +12:29
+          _11 = ((_2 as Break).0: usize);  // scope 0 at $DIR/separate_const_switch.rs:+12:28: +12:29
+          Deinit(_0);                      // scope 4 at $DIR/separate_const_switch.rs:+12:34: +12:38
+          discriminant(_0) = 0;            // scope 4 at $DIR/separate_const_switch.rs:+12:34: +12:38
+          StorageDead(_11);                // scope 0 at $DIR/separate_const_switch.rs:+12:37: +12:38
+-         goto -> bb6;                     // scope 0 at $DIR/separate_const_switch.rs:+12:37: +12:38
++         goto -> bb5;                     // scope 0 at $DIR/separate_const_switch.rs:+12:37: +12:38
       }
   
 -     bb5: {
 +     bb4: {
-          StorageLive(_9);                 // scope 0 at $DIR/separate_const_switch.rs:20:31: 20:32
-          _9 = ((_2 as Continue).0: i32);  // scope 0 at $DIR/separate_const_switch.rs:20:31: 20:32
-          StorageLive(_10);                // scope 3 at $DIR/separate_const_switch.rs:20:42: 20:43
-          _10 = _9;                        // scope 3 at $DIR/separate_const_switch.rs:20:42: 20:43
-          Deinit(_0);                      // scope 3 at $DIR/separate_const_switch.rs:20:37: 20:44
-          ((_0 as Some).0: i32) = move _10; // scope 3 at $DIR/separate_const_switch.rs:20:37: 20:44
-          discriminant(_0) = 1;            // scope 3 at $DIR/separate_const_switch.rs:20:37: 20:44
-          StorageDead(_10);                // scope 3 at $DIR/separate_const_switch.rs:20:43: 20:44
-          StorageDead(_9);                 // scope 0 at $DIR/separate_const_switch.rs:20:43: 20:44
--         goto -> bb6;                     // scope 0 at $DIR/separate_const_switch.rs:20:43: 20:44
-+         goto -> bb5;                     // scope 0 at $DIR/separate_const_switch.rs:20:43: 20:44
+          StorageLive(_9);                 // scope 0 at $DIR/separate_const_switch.rs:+11:31: +11:32
+          _9 = ((_2 as Continue).0: i32);  // scope 0 at $DIR/separate_const_switch.rs:+11:31: +11:32
+          StorageLive(_10);                // scope 3 at $DIR/separate_const_switch.rs:+11:42: +11:43
+          _10 = _9;                        // scope 3 at $DIR/separate_const_switch.rs:+11:42: +11:43
+          Deinit(_0);                      // scope 3 at $DIR/separate_const_switch.rs:+11:37: +11:44
+          ((_0 as Some).0: i32) = move _10; // scope 3 at $DIR/separate_const_switch.rs:+11:37: +11:44
+          discriminant(_0) = 1;            // scope 3 at $DIR/separate_const_switch.rs:+11:37: +11:44
+          StorageDead(_10);                // scope 3 at $DIR/separate_const_switch.rs:+11:43: +11:44
+          StorageDead(_9);                 // scope 0 at $DIR/separate_const_switch.rs:+11:43: +11:44
+-         goto -> bb6;                     // scope 0 at $DIR/separate_const_switch.rs:+11:43: +11:44
++         goto -> bb5;                     // scope 0 at $DIR/separate_const_switch.rs:+11:43: +11:44
       }
   
 -     bb6: {
 +     bb5: {
-          StorageDead(_2);                 // scope 0 at $DIR/separate_const_switch.rs:23:1: 23:2
-          return;                          // scope 0 at $DIR/separate_const_switch.rs:23:2: 23:2
+          StorageDead(_2);                 // scope 0 at $DIR/separate_const_switch.rs:+14:1: +14:2
+          return;                          // scope 0 at $DIR/separate_const_switch.rs:+14:2: +14:2
       }
   }
   
index c189c18d2d0e741414580ee9ecb92907a77f27c3..3bef6aa0579a77a32611f3130eb95f8b46dc15a3 100644 (file)
@@ -1,29 +1,29 @@
 // MIR for `match_bool` 0 mir_map
 
 fn match_bool(_1: bool) -> usize {
-    debug x => _1;                       // in scope 0 at $DIR/simple-match.rs:5:15: 5:16
-    let mut _0: usize;                   // return place in scope 0 at $DIR/simple-match.rs:5:27: 5:32
+    debug x => _1;                       // in scope 0 at $DIR/simple-match.rs:+0:15: +0:16
+    let mut _0: usize;                   // return place in scope 0 at $DIR/simple-match.rs:+0:27: +0:32
 
     bb0: {
-        FakeRead(ForMatchedPlace(None), _1); // scope 0 at $DIR/simple-match.rs:6:11: 6:12
-        switchInt(_1) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/simple-match.rs:6:5: 6:12
+        FakeRead(ForMatchedPlace(None), _1); // scope 0 at $DIR/simple-match.rs:+1:11: +1:12
+        switchInt(_1) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/simple-match.rs:+1:5: +1:12
     }
 
     bb1: {
-        falseEdge -> [real: bb3, imaginary: bb2]; // scope 0 at $DIR/simple-match.rs:7:9: 7:13
+        falseEdge -> [real: bb3, imaginary: bb2]; // scope 0 at $DIR/simple-match.rs:+2:9: +2:13
     }
 
     bb2: {
-        _0 = const 20_usize;             // scope 0 at $DIR/simple-match.rs:8:14: 8:16
-        goto -> bb4;                     // scope 0 at $DIR/simple-match.rs:8:14: 8:16
+        _0 = const 20_usize;             // scope 0 at $DIR/simple-match.rs:+3:14: +3:16
+        goto -> bb4;                     // scope 0 at $DIR/simple-match.rs:+3:14: +3:16
     }
 
     bb3: {
-        _0 = const 10_usize;             // scope 0 at $DIR/simple-match.rs:7:17: 7:19
-        goto -> bb4;                     // scope 0 at $DIR/simple-match.rs:7:17: 7:19
+        _0 = const 10_usize;             // scope 0 at $DIR/simple-match.rs:+2:17: +2:19
+        goto -> bb4;                     // scope 0 at $DIR/simple-match.rs:+2:17: +2:19
     }
 
     bb4: {
-        return;                          // scope 0 at $DIR/simple-match.rs:10:2: 10:2
+        return;                          // scope 0 at $DIR/simple-match.rs:+5:2: +5:2
     }
 }
index c189c18d2d0e741414580ee9ecb92907a77f27c3..3bef6aa0579a77a32611f3130eb95f8b46dc15a3 100644 (file)
@@ -1,29 +1,29 @@
 // MIR for `match_bool` 0 mir_map
 
 fn match_bool(_1: bool) -> usize {
-    debug x => _1;                       // in scope 0 at $DIR/simple-match.rs:5:15: 5:16
-    let mut _0: usize;                   // return place in scope 0 at $DIR/simple-match.rs:5:27: 5:32
+    debug x => _1;                       // in scope 0 at $DIR/simple-match.rs:+0:15: +0:16
+    let mut _0: usize;                   // return place in scope 0 at $DIR/simple-match.rs:+0:27: +0:32
 
     bb0: {
-        FakeRead(ForMatchedPlace(None), _1); // scope 0 at $DIR/simple-match.rs:6:11: 6:12
-        switchInt(_1) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/simple-match.rs:6:5: 6:12
+        FakeRead(ForMatchedPlace(None), _1); // scope 0 at $DIR/simple-match.rs:+1:11: +1:12
+        switchInt(_1) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/simple-match.rs:+1:5: +1:12
     }
 
     bb1: {
-        falseEdge -> [real: bb3, imaginary: bb2]; // scope 0 at $DIR/simple-match.rs:7:9: 7:13
+        falseEdge -> [real: bb3, imaginary: bb2]; // scope 0 at $DIR/simple-match.rs:+2:9: +2:13
     }
 
     bb2: {
-        _0 = const 20_usize;             // scope 0 at $DIR/simple-match.rs:8:14: 8:16
-        goto -> bb4;                     // scope 0 at $DIR/simple-match.rs:8:14: 8:16
+        _0 = const 20_usize;             // scope 0 at $DIR/simple-match.rs:+3:14: +3:16
+        goto -> bb4;                     // scope 0 at $DIR/simple-match.rs:+3:14: +3:16
     }
 
     bb3: {
-        _0 = const 10_usize;             // scope 0 at $DIR/simple-match.rs:7:17: 7:19
-        goto -> bb4;                     // scope 0 at $DIR/simple-match.rs:7:17: 7:19
+        _0 = const 10_usize;             // scope 0 at $DIR/simple-match.rs:+2:17: +2:19
+        goto -> bb4;                     // scope 0 at $DIR/simple-match.rs:+2:17: +2:19
     }
 
     bb4: {
-        return;                          // scope 0 at $DIR/simple-match.rs:10:2: 10:2
+        return;                          // scope 0 at $DIR/simple-match.rs:+5:2: +5:2
     }
 }
index 389dbd27b5d1b1e8fc01ed7049b4272f6ae58b81..9c3ad4b4df912cbd82bb8cb22c7f54af4e79288d 100644 (file)
@@ -2,45 +2,45 @@
 + // MIR for `id` after SimplifyArmIdentity
   
   fn id(_1: Option<u8>) -> Option<u8> {
-      debug o => _1;                       // in scope 0 at $DIR/simplify-arm.rs:9:7: 9:8
-      let mut _0: std::option::Option<u8>; // return place in scope 0 at $DIR/simplify-arm.rs:9:25: 9:35
-      let mut _2: isize;                   // in scope 0 at $DIR/simplify-arm.rs:11:9: 11:16
-      let _3: u8;                          // in scope 0 at $DIR/simplify-arm.rs:11:14: 11:15
-      let mut _4: u8;                      // in scope 0 at $DIR/simplify-arm.rs:11:25: 11:26
+      debug o => _1;                       // in scope 0 at $DIR/simplify-arm.rs:+0:7: +0:8
+      let mut _0: std::option::Option<u8>; // return place in scope 0 at $DIR/simplify-arm.rs:+0:25: +0:35
+      let mut _2: isize;                   // in scope 0 at $DIR/simplify-arm.rs:+2:9: +2:16
+      let _3: u8;                          // in scope 0 at $DIR/simplify-arm.rs:+2:14: +2:15
+      let mut _4: u8;                      // in scope 0 at $DIR/simplify-arm.rs:+2:25: +2:26
       scope 1 {
-          debug v => _3;                   // in scope 1 at $DIR/simplify-arm.rs:11:14: 11:15
+          debug v => _3;                   // in scope 1 at $DIR/simplify-arm.rs:+2:14: +2:15
       }
   
       bb0: {
-          _2 = discriminant(_1);           // scope 0 at $DIR/simplify-arm.rs:10:11: 10:12
-          switchInt(move _2) -> [0_isize: bb1, 1_isize: bb3, otherwise: bb2]; // scope 0 at $DIR/simplify-arm.rs:10:5: 10:12
+          _2 = discriminant(_1);           // scope 0 at $DIR/simplify-arm.rs:+1:11: +1:12
+          switchInt(move _2) -> [0_isize: bb1, 1_isize: bb3, otherwise: bb2]; // scope 0 at $DIR/simplify-arm.rs:+1:5: +1:12
       }
   
       bb1: {
-          Deinit(_0);                      // scope 0 at $DIR/simplify-arm.rs:12:17: 12:21
-          discriminant(_0) = 0;            // scope 0 at $DIR/simplify-arm.rs:12:17: 12:21
-          goto -> bb4;                     // scope 0 at $DIR/simplify-arm.rs:12:17: 12:21
+          Deinit(_0);                      // scope 0 at $DIR/simplify-arm.rs:+3:17: +3:21
+          discriminant(_0) = 0;            // scope 0 at $DIR/simplify-arm.rs:+3:17: +3:21
+          goto -> bb4;                     // scope 0 at $DIR/simplify-arm.rs:+3:17: +3:21
       }
   
       bb2: {
-          unreachable;                     // scope 0 at $DIR/simplify-arm.rs:10:11: 10:12
+          unreachable;                     // scope 0 at $DIR/simplify-arm.rs:+1:11: +1:12
       }
   
       bb3: {
-          StorageLive(_3);                 // scope 0 at $DIR/simplify-arm.rs:11:14: 11:15
-          _3 = ((_1 as Some).0: u8);       // scope 0 at $DIR/simplify-arm.rs:11:14: 11:15
-          StorageLive(_4);                 // scope 1 at $DIR/simplify-arm.rs:11:25: 11:26
-          _4 = _3;                         // scope 1 at $DIR/simplify-arm.rs:11:25: 11:26
-          Deinit(_0);                      // scope 1 at $DIR/simplify-arm.rs:11:20: 11:27
-          ((_0 as Some).0: u8) = move _4;  // scope 1 at $DIR/simplify-arm.rs:11:20: 11:27
-          discriminant(_0) = 1;            // scope 1 at $DIR/simplify-arm.rs:11:20: 11:27
-          StorageDead(_4);                 // scope 1 at $DIR/simplify-arm.rs:11:26: 11:27
-          StorageDead(_3);                 // scope 0 at $DIR/simplify-arm.rs:11:26: 11:27
-          goto -> bb4;                     // scope 0 at $DIR/simplify-arm.rs:11:26: 11:27
+          StorageLive(_3);                 // scope 0 at $DIR/simplify-arm.rs:+2:14: +2:15
+          _3 = ((_1 as Some).0: u8);       // scope 0 at $DIR/simplify-arm.rs:+2:14: +2:15
+          StorageLive(_4);                 // scope 1 at $DIR/simplify-arm.rs:+2:25: +2:26
+          _4 = _3;                         // scope 1 at $DIR/simplify-arm.rs:+2:25: +2:26
+          Deinit(_0);                      // scope 1 at $DIR/simplify-arm.rs:+2:20: +2:27
+          ((_0 as Some).0: u8) = move _4;  // scope 1 at $DIR/simplify-arm.rs:+2:20: +2:27
+          discriminant(_0) = 1;            // scope 1 at $DIR/simplify-arm.rs:+2:20: +2:27
+          StorageDead(_4);                 // scope 1 at $DIR/simplify-arm.rs:+2:26: +2:27
+          StorageDead(_3);                 // scope 0 at $DIR/simplify-arm.rs:+2:26: +2:27
+          goto -> bb4;                     // scope 0 at $DIR/simplify-arm.rs:+2:26: +2:27
       }
   
       bb4: {
-          return;                          // scope 0 at $DIR/simplify-arm.rs:14:2: 14:2
+          return;                          // scope 0 at $DIR/simplify-arm.rs:+5:2: +5:2
       }
   }
   
index 32b7b9aa555535b29777a1ff1a9a9bb969fbe521..7b3a6993657735a15e7b874cccff820a5bbecd99 100644 (file)
@@ -2,45 +2,45 @@
 + // MIR for `id` after SimplifyBranchSame
   
   fn id(_1: Option<u8>) -> Option<u8> {
-      debug o => _1;                       // in scope 0 at $DIR/simplify-arm.rs:9:7: 9:8
-      let mut _0: std::option::Option<u8>; // return place in scope 0 at $DIR/simplify-arm.rs:9:25: 9:35
-      let mut _2: isize;                   // in scope 0 at $DIR/simplify-arm.rs:11:9: 11:16
-      let _3: u8;                          // in scope 0 at $DIR/simplify-arm.rs:11:14: 11:15
-      let mut _4: u8;                      // in scope 0 at $DIR/simplify-arm.rs:11:25: 11:26
+      debug o => _1;                       // in scope 0 at $DIR/simplify-arm.rs:+0:7: +0:8
+      let mut _0: std::option::Option<u8>; // return place in scope 0 at $DIR/simplify-arm.rs:+0:25: +0:35
+      let mut _2: isize;                   // in scope 0 at $DIR/simplify-arm.rs:+2:9: +2:16
+      let _3: u8;                          // in scope 0 at $DIR/simplify-arm.rs:+2:14: +2:15
+      let mut _4: u8;                      // in scope 0 at $DIR/simplify-arm.rs:+2:25: +2:26
       scope 1 {
-          debug v => _3;                   // in scope 1 at $DIR/simplify-arm.rs:11:14: 11:15
+          debug v => _3;                   // in scope 1 at $DIR/simplify-arm.rs:+2:14: +2:15
       }
   
       bb0: {
-          _2 = discriminant(_1);           // scope 0 at $DIR/simplify-arm.rs:10:11: 10:12
-          switchInt(move _2) -> [0_isize: bb1, 1_isize: bb3, otherwise: bb2]; // scope 0 at $DIR/simplify-arm.rs:10:5: 10:12
+          _2 = discriminant(_1);           // scope 0 at $DIR/simplify-arm.rs:+1:11: +1:12
+          switchInt(move _2) -> [0_isize: bb1, 1_isize: bb3, otherwise: bb2]; // scope 0 at $DIR/simplify-arm.rs:+1:5: +1:12
       }
   
       bb1: {
-          Deinit(_0);                      // scope 0 at $DIR/simplify-arm.rs:12:17: 12:21
-          discriminant(_0) = 0;            // scope 0 at $DIR/simplify-arm.rs:12:17: 12:21
-          goto -> bb4;                     // scope 0 at $DIR/simplify-arm.rs:12:17: 12:21
+          Deinit(_0);                      // scope 0 at $DIR/simplify-arm.rs:+3:17: +3:21
+          discriminant(_0) = 0;            // scope 0 at $DIR/simplify-arm.rs:+3:17: +3:21
+          goto -> bb4;                     // scope 0 at $DIR/simplify-arm.rs:+3:17: +3:21
       }
   
       bb2: {
-          unreachable;                     // scope 0 at $DIR/simplify-arm.rs:10:11: 10:12
+          unreachable;                     // scope 0 at $DIR/simplify-arm.rs:+1:11: +1:12
       }
   
       bb3: {
-          StorageLive(_3);                 // scope 0 at $DIR/simplify-arm.rs:11:14: 11:15
-          _3 = ((_1 as Some).0: u8);       // scope 0 at $DIR/simplify-arm.rs:11:14: 11:15
-          StorageLive(_4);                 // scope 1 at $DIR/simplify-arm.rs:11:25: 11:26
-          _4 = _3;                         // scope 1 at $DIR/simplify-arm.rs:11:25: 11:26
-          Deinit(_0);                      // scope 1 at $DIR/simplify-arm.rs:11:20: 11:27
-          ((_0 as Some).0: u8) = move _4;  // scope 1 at $DIR/simplify-arm.rs:11:20: 11:27
-          discriminant(_0) = 1;            // scope 1 at $DIR/simplify-arm.rs:11:20: 11:27
-          StorageDead(_4);                 // scope 1 at $DIR/simplify-arm.rs:11:26: 11:27
-          StorageDead(_3);                 // scope 0 at $DIR/simplify-arm.rs:11:26: 11:27
-          goto -> bb4;                     // scope 0 at $DIR/simplify-arm.rs:11:26: 11:27
+          StorageLive(_3);                 // scope 0 at $DIR/simplify-arm.rs:+2:14: +2:15
+          _3 = ((_1 as Some).0: u8);       // scope 0 at $DIR/simplify-arm.rs:+2:14: +2:15
+          StorageLive(_4);                 // scope 1 at $DIR/simplify-arm.rs:+2:25: +2:26
+          _4 = _3;                         // scope 1 at $DIR/simplify-arm.rs:+2:25: +2:26
+          Deinit(_0);                      // scope 1 at $DIR/simplify-arm.rs:+2:20: +2:27
+          ((_0 as Some).0: u8) = move _4;  // scope 1 at $DIR/simplify-arm.rs:+2:20: +2:27
+          discriminant(_0) = 1;            // scope 1 at $DIR/simplify-arm.rs:+2:20: +2:27
+          StorageDead(_4);                 // scope 1 at $DIR/simplify-arm.rs:+2:26: +2:27
+          StorageDead(_3);                 // scope 0 at $DIR/simplify-arm.rs:+2:26: +2:27
+          goto -> bb4;                     // scope 0 at $DIR/simplify-arm.rs:+2:26: +2:27
       }
   
       bb4: {
-          return;                          // scope 0 at $DIR/simplify-arm.rs:14:2: 14:2
+          return;                          // scope 0 at $DIR/simplify-arm.rs:+5:2: +5:2
       }
   }
   
index 60d421a2e1ab3f8fa1b36a25a96176d8cd583897..31d8453cec0157e89aca8b0cc8e6a363e6f6b549 100644 (file)
@@ -2,57 +2,57 @@
 + // MIR for `id_result` after SimplifyArmIdentity
   
   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
-      let _3: u8;                          // in scope 0 at $DIR/simplify-arm.rs:18:12: 18:13
-      let mut _4: u8;                      // in scope 0 at $DIR/simplify-arm.rs:18:21: 18:22
-      let _5: i32;                         // in scope 0 at $DIR/simplify-arm.rs:19:13: 19:14
-      let mut _6: i32;                     // in scope 0 at $DIR/simplify-arm.rs:19:23: 19:24
+      debug r => _1;                       // in scope 0 at $DIR/simplify-arm.rs:+0:14: +0:15
+      let mut _0: std::result::Result<u8, i32>; // return place in scope 0 at $DIR/simplify-arm.rs:+0:37: +0:52
+      let mut _2: isize;                   // in scope 0 at $DIR/simplify-arm.rs:+2:9: +2:14
+      let _3: u8;                          // in scope 0 at $DIR/simplify-arm.rs:+2:12: +2:13
+      let mut _4: u8;                      // in scope 0 at $DIR/simplify-arm.rs:+2:21: +2:22
+      let _5: i32;                         // in scope 0 at $DIR/simplify-arm.rs:+3:13: +3:14
+      let mut _6: i32;                     // in scope 0 at $DIR/simplify-arm.rs:+3:23: +3:24
       scope 1 {
-          debug x => _3;                   // in scope 1 at $DIR/simplify-arm.rs:18:12: 18:13
+          debug x => _3;                   // in scope 1 at $DIR/simplify-arm.rs:+2:12: +2:13
       }
       scope 2 {
-          debug y => _5;                   // in scope 2 at $DIR/simplify-arm.rs:19:13: 19:14
+          debug y => _5;                   // in scope 2 at $DIR/simplify-arm.rs:+3:13: +3:14
       }
   
       bb0: {
-          _2 = discriminant(_1);           // scope 0 at $DIR/simplify-arm.rs:17:11: 17:12
-          switchInt(move _2) -> [0_isize: bb3, 1_isize: bb1, otherwise: bb2]; // scope 0 at $DIR/simplify-arm.rs:17:5: 17:12
+          _2 = discriminant(_1);           // scope 0 at $DIR/simplify-arm.rs:+1:11: +1:12
+          switchInt(move _2) -> [0_isize: bb3, 1_isize: bb1, otherwise: bb2]; // scope 0 at $DIR/simplify-arm.rs:+1:5: +1:12
       }
   
       bb1: {
-          StorageLive(_5);                 // scope 0 at $DIR/simplify-arm.rs:19:13: 19:14
-          _5 = ((_1 as Err).0: i32);       // scope 0 at $DIR/simplify-arm.rs:19:13: 19:14
-          StorageLive(_6);                 // scope 2 at $DIR/simplify-arm.rs:19:23: 19:24
-          _6 = _5;                         // scope 2 at $DIR/simplify-arm.rs:19:23: 19:24
-          Deinit(_0);                      // scope 2 at $DIR/simplify-arm.rs:19:19: 19:25
-          ((_0 as Err).0: i32) = move _6;  // scope 2 at $DIR/simplify-arm.rs:19:19: 19:25
-          discriminant(_0) = 1;            // scope 2 at $DIR/simplify-arm.rs:19:19: 19:25
-          StorageDead(_6);                 // scope 2 at $DIR/simplify-arm.rs:19:24: 19:25
-          StorageDead(_5);                 // scope 0 at $DIR/simplify-arm.rs:19:24: 19:25
-          goto -> bb4;                     // scope 0 at $DIR/simplify-arm.rs:19:24: 19:25
+          StorageLive(_5);                 // scope 0 at $DIR/simplify-arm.rs:+3:13: +3:14
+          _5 = ((_1 as Err).0: i32);       // scope 0 at $DIR/simplify-arm.rs:+3:13: +3:14
+          StorageLive(_6);                 // scope 2 at $DIR/simplify-arm.rs:+3:23: +3:24
+          _6 = _5;                         // scope 2 at $DIR/simplify-arm.rs:+3:23: +3:24
+          Deinit(_0);                      // scope 2 at $DIR/simplify-arm.rs:+3:19: +3:25
+          ((_0 as Err).0: i32) = move _6;  // scope 2 at $DIR/simplify-arm.rs:+3:19: +3:25
+          discriminant(_0) = 1;            // scope 2 at $DIR/simplify-arm.rs:+3:19: +3:25
+          StorageDead(_6);                 // scope 2 at $DIR/simplify-arm.rs:+3:24: +3:25
+          StorageDead(_5);                 // scope 0 at $DIR/simplify-arm.rs:+3:24: +3:25
+          goto -> bb4;                     // scope 0 at $DIR/simplify-arm.rs:+3:24: +3:25
       }
   
       bb2: {
-          unreachable;                     // scope 0 at $DIR/simplify-arm.rs:17:11: 17:12
+          unreachable;                     // scope 0 at $DIR/simplify-arm.rs:+1:11: +1:12
       }
   
       bb3: {
-          StorageLive(_3);                 // scope 0 at $DIR/simplify-arm.rs:18:12: 18:13
-          _3 = ((_1 as Ok).0: u8);         // scope 0 at $DIR/simplify-arm.rs:18:12: 18:13
-          StorageLive(_4);                 // scope 1 at $DIR/simplify-arm.rs:18:21: 18:22
-          _4 = _3;                         // scope 1 at $DIR/simplify-arm.rs:18:21: 18:22
-          Deinit(_0);                      // scope 1 at $DIR/simplify-arm.rs:18:18: 18:23
-          ((_0 as Ok).0: u8) = move _4;    // scope 1 at $DIR/simplify-arm.rs:18:18: 18:23
-          discriminant(_0) = 0;            // scope 1 at $DIR/simplify-arm.rs:18:18: 18:23
-          StorageDead(_4);                 // scope 1 at $DIR/simplify-arm.rs:18:22: 18:23
-          StorageDead(_3);                 // scope 0 at $DIR/simplify-arm.rs:18:22: 18:23
-          goto -> bb4;                     // scope 0 at $DIR/simplify-arm.rs:18:22: 18:23
+          StorageLive(_3);                 // scope 0 at $DIR/simplify-arm.rs:+2:12: +2:13
+          _3 = ((_1 as Ok).0: u8);         // scope 0 at $DIR/simplify-arm.rs:+2:12: +2:13
+          StorageLive(_4);                 // scope 1 at $DIR/simplify-arm.rs:+2:21: +2:22
+          _4 = _3;                         // scope 1 at $DIR/simplify-arm.rs:+2:21: +2:22
+          Deinit(_0);                      // scope 1 at $DIR/simplify-arm.rs:+2:18: +2:23
+          ((_0 as Ok).0: u8) = move _4;    // scope 1 at $DIR/simplify-arm.rs:+2:18: +2:23
+          discriminant(_0) = 0;            // scope 1 at $DIR/simplify-arm.rs:+2:18: +2:23
+          StorageDead(_4);                 // scope 1 at $DIR/simplify-arm.rs:+2:22: +2:23
+          StorageDead(_3);                 // scope 0 at $DIR/simplify-arm.rs:+2:22: +2:23
+          goto -> bb4;                     // scope 0 at $DIR/simplify-arm.rs:+2:22: +2:23
       }
   
       bb4: {
-          return;                          // scope 0 at $DIR/simplify-arm.rs:21:2: 21:2
+          return;                          // scope 0 at $DIR/simplify-arm.rs:+5:2: +5:2
       }
   }
   
index 52adf11d0f528042955814612d6471d644cdde4e..3692ebf747bd2de948bbb484b8dd2a7c4b30e968 100644 (file)
@@ -2,57 +2,57 @@
 + // MIR for `id_result` after SimplifyBranchSame
   
   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
-      let _3: u8;                          // in scope 0 at $DIR/simplify-arm.rs:18:12: 18:13
-      let mut _4: u8;                      // in scope 0 at $DIR/simplify-arm.rs:18:21: 18:22
-      let _5: i32;                         // in scope 0 at $DIR/simplify-arm.rs:19:13: 19:14
-      let mut _6: i32;                     // in scope 0 at $DIR/simplify-arm.rs:19:23: 19:24
+      debug r => _1;                       // in scope 0 at $DIR/simplify-arm.rs:+0:14: +0:15
+      let mut _0: std::result::Result<u8, i32>; // return place in scope 0 at $DIR/simplify-arm.rs:+0:37: +0:52
+      let mut _2: isize;                   // in scope 0 at $DIR/simplify-arm.rs:+2:9: +2:14
+      let _3: u8;                          // in scope 0 at $DIR/simplify-arm.rs:+2:12: +2:13
+      let mut _4: u8;                      // in scope 0 at $DIR/simplify-arm.rs:+2:21: +2:22
+      let _5: i32;                         // in scope 0 at $DIR/simplify-arm.rs:+3:13: +3:14
+      let mut _6: i32;                     // in scope 0 at $DIR/simplify-arm.rs:+3:23: +3:24
       scope 1 {
-          debug x => _3;                   // in scope 1 at $DIR/simplify-arm.rs:18:12: 18:13
+          debug x => _3;                   // in scope 1 at $DIR/simplify-arm.rs:+2:12: +2:13
       }
       scope 2 {
-          debug y => _5;                   // in scope 2 at $DIR/simplify-arm.rs:19:13: 19:14
+          debug y => _5;                   // in scope 2 at $DIR/simplify-arm.rs:+3:13: +3:14
       }
   
       bb0: {
-          _2 = discriminant(_1);           // scope 0 at $DIR/simplify-arm.rs:17:11: 17:12
-          switchInt(move _2) -> [0_isize: bb3, 1_isize: bb1, otherwise: bb2]; // scope 0 at $DIR/simplify-arm.rs:17:5: 17:12
+          _2 = discriminant(_1);           // scope 0 at $DIR/simplify-arm.rs:+1:11: +1:12
+          switchInt(move _2) -> [0_isize: bb3, 1_isize: bb1, otherwise: bb2]; // scope 0 at $DIR/simplify-arm.rs:+1:5: +1:12
       }
   
       bb1: {
-          StorageLive(_5);                 // scope 0 at $DIR/simplify-arm.rs:19:13: 19:14
-          _5 = ((_1 as Err).0: i32);       // scope 0 at $DIR/simplify-arm.rs:19:13: 19:14
-          StorageLive(_6);                 // scope 2 at $DIR/simplify-arm.rs:19:23: 19:24
-          _6 = _5;                         // scope 2 at $DIR/simplify-arm.rs:19:23: 19:24
-          Deinit(_0);                      // scope 2 at $DIR/simplify-arm.rs:19:19: 19:25
-          ((_0 as Err).0: i32) = move _6;  // scope 2 at $DIR/simplify-arm.rs:19:19: 19:25
-          discriminant(_0) = 1;            // scope 2 at $DIR/simplify-arm.rs:19:19: 19:25
-          StorageDead(_6);                 // scope 2 at $DIR/simplify-arm.rs:19:24: 19:25
-          StorageDead(_5);                 // scope 0 at $DIR/simplify-arm.rs:19:24: 19:25
-          goto -> bb4;                     // scope 0 at $DIR/simplify-arm.rs:19:24: 19:25
+          StorageLive(_5);                 // scope 0 at $DIR/simplify-arm.rs:+3:13: +3:14
+          _5 = ((_1 as Err).0: i32);       // scope 0 at $DIR/simplify-arm.rs:+3:13: +3:14
+          StorageLive(_6);                 // scope 2 at $DIR/simplify-arm.rs:+3:23: +3:24
+          _6 = _5;                         // scope 2 at $DIR/simplify-arm.rs:+3:23: +3:24
+          Deinit(_0);                      // scope 2 at $DIR/simplify-arm.rs:+3:19: +3:25
+          ((_0 as Err).0: i32) = move _6;  // scope 2 at $DIR/simplify-arm.rs:+3:19: +3:25
+          discriminant(_0) = 1;            // scope 2 at $DIR/simplify-arm.rs:+3:19: +3:25
+          StorageDead(_6);                 // scope 2 at $DIR/simplify-arm.rs:+3:24: +3:25
+          StorageDead(_5);                 // scope 0 at $DIR/simplify-arm.rs:+3:24: +3:25
+          goto -> bb4;                     // scope 0 at $DIR/simplify-arm.rs:+3:24: +3:25
       }
   
       bb2: {
-          unreachable;                     // scope 0 at $DIR/simplify-arm.rs:17:11: 17:12
+          unreachable;                     // scope 0 at $DIR/simplify-arm.rs:+1:11: +1:12
       }
   
       bb3: {
-          StorageLive(_3);                 // scope 0 at $DIR/simplify-arm.rs:18:12: 18:13
-          _3 = ((_1 as Ok).0: u8);         // scope 0 at $DIR/simplify-arm.rs:18:12: 18:13
-          StorageLive(_4);                 // scope 1 at $DIR/simplify-arm.rs:18:21: 18:22
-          _4 = _3;                         // scope 1 at $DIR/simplify-arm.rs:18:21: 18:22
-          Deinit(_0);                      // scope 1 at $DIR/simplify-arm.rs:18:18: 18:23
-          ((_0 as Ok).0: u8) = move _4;    // scope 1 at $DIR/simplify-arm.rs:18:18: 18:23
-          discriminant(_0) = 0;            // scope 1 at $DIR/simplify-arm.rs:18:18: 18:23
-          StorageDead(_4);                 // scope 1 at $DIR/simplify-arm.rs:18:22: 18:23
-          StorageDead(_3);                 // scope 0 at $DIR/simplify-arm.rs:18:22: 18:23
-          goto -> bb4;                     // scope 0 at $DIR/simplify-arm.rs:18:22: 18:23
+          StorageLive(_3);                 // scope 0 at $DIR/simplify-arm.rs:+2:12: +2:13
+          _3 = ((_1 as Ok).0: u8);         // scope 0 at $DIR/simplify-arm.rs:+2:12: +2:13
+          StorageLive(_4);                 // scope 1 at $DIR/simplify-arm.rs:+2:21: +2:22
+          _4 = _3;                         // scope 1 at $DIR/simplify-arm.rs:+2:21: +2:22
+          Deinit(_0);                      // scope 1 at $DIR/simplify-arm.rs:+2:18: +2:23
+          ((_0 as Ok).0: u8) = move _4;    // scope 1 at $DIR/simplify-arm.rs:+2:18: +2:23
+          discriminant(_0) = 0;            // scope 1 at $DIR/simplify-arm.rs:+2:18: +2:23
+          StorageDead(_4);                 // scope 1 at $DIR/simplify-arm.rs:+2:22: +2:23
+          StorageDead(_3);                 // scope 0 at $DIR/simplify-arm.rs:+2:22: +2:23
+          goto -> bb4;                     // scope 0 at $DIR/simplify-arm.rs:+2:22: +2:23
       }
   
       bb4: {
-          return;                          // scope 0 at $DIR/simplify-arm.rs:21:2: 21:2
+          return;                          // scope 0 at $DIR/simplify-arm.rs:+5:2: +5:2
       }
   }
   
index d2dbfbe1093a85fbb2c45a91a093cd25ba7768e4..229046b51fcd50312d4eac6a9bcd68a9bffd1d0d 100644 (file)
@@ -2,92 +2,92 @@
 + // MIR for `id_try` after SimplifyArmIdentity
   
   fn id_try(_1: Result<u8, i32>) -> Result<u8, i32> {
-      debug r => _1;                       // in scope 0 at $DIR/simplify-arm.rs:35:11: 35:12
-      let mut _0: std::result::Result<u8, i32>; // return place in scope 0 at $DIR/simplify-arm.rs:35:34: 35:49
-      let _2: u8;                          // in scope 0 at $DIR/simplify-arm.rs:36:9: 36:10
-      let mut _3: std::result::Result<u8, i32>; // in scope 0 at $DIR/simplify-arm.rs:36:19: 36:33
-      let mut _4: std::result::Result<u8, i32>; // in scope 0 at $DIR/simplify-arm.rs:36:31: 36:32
-      let mut _5: isize;                   // in scope 0 at $DIR/simplify-arm.rs:37:9: 37:15
-      let _6: i32;                         // in scope 0 at $DIR/simplify-arm.rs:37:13: 37:14
-      let mut _7: !;                       // in scope 0 at $DIR/simplify-arm.rs:37:19: 37:51
-      let mut _8: i32;                     // in scope 0 at $DIR/simplify-arm.rs:37:37: 37:50
-      let mut _9: i32;                     // in scope 0 at $DIR/simplify-arm.rs:37:48: 37:49
-      let _10: u8;                         // in scope 0 at $DIR/simplify-arm.rs:38:12: 38:13
-      let mut _11: u8;                     // in scope 0 at $DIR/simplify-arm.rs:40:8: 40:9
+      debug r => _1;                       // in scope 0 at $DIR/simplify-arm.rs:+0:11: +0:12
+      let mut _0: std::result::Result<u8, i32>; // return place in scope 0 at $DIR/simplify-arm.rs:+0:34: +0:49
+      let _2: u8;                          // in scope 0 at $DIR/simplify-arm.rs:+1:9: +1:10
+      let mut _3: std::result::Result<u8, i32>; // in scope 0 at $DIR/simplify-arm.rs:+1:19: +1:33
+      let mut _4: std::result::Result<u8, i32>; // in scope 0 at $DIR/simplify-arm.rs:+1:31: +1:32
+      let mut _5: isize;                   // in scope 0 at $DIR/simplify-arm.rs:+2:9: +2:15
+      let _6: i32;                         // in scope 0 at $DIR/simplify-arm.rs:+2:13: +2:14
+      let mut _7: !;                       // in scope 0 at $DIR/simplify-arm.rs:+2:19: +2:51
+      let mut _8: i32;                     // in scope 0 at $DIR/simplify-arm.rs:+2:37: +2:50
+      let mut _9: i32;                     // in scope 0 at $DIR/simplify-arm.rs:+2:48: +2:49
+      let _10: u8;                         // in scope 0 at $DIR/simplify-arm.rs:+3:12: +3:13
+      let mut _11: u8;                     // in scope 0 at $DIR/simplify-arm.rs:+5:8: +5:9
       scope 1 {
-          debug x => _2;                   // in scope 1 at $DIR/simplify-arm.rs:36:9: 36:10
+          debug x => _2;                   // in scope 1 at $DIR/simplify-arm.rs:+1:9: +1:10
       }
       scope 2 {
-          debug e => _6;                   // in scope 2 at $DIR/simplify-arm.rs:37:13: 37:14
+          debug e => _6;                   // in scope 2 at $DIR/simplify-arm.rs:+2:13: +2:14
           scope 5 (inlined <i32 as From<i32>>::from) { // at $DIR/simplify-arm.rs:37:37: 37:50
               debug t => _9;               // in scope 5 at $SRC_DIR/core/src/convert/mod.rs:LL:COL
           }
           scope 6 (inlined from_error::<u8, i32>) { // at $DIR/simplify-arm.rs:37:26: 37:51
-              debug e => _8;               // in scope 6 at $DIR/simplify-arm.rs:27:21: 27:22
+              debug e => _8;               // in scope 6 at $DIR/simplify-arm.rs:+0:21: +0:22
           }
       }
       scope 3 {
-          debug v => _10;                  // in scope 3 at $DIR/simplify-arm.rs:38:12: 38:13
+          debug v => _10;                  // in scope 3 at $DIR/simplify-arm.rs:+3:12: +3:13
       }
       scope 4 (inlined into_result::<u8, i32>) { // at $DIR/simplify-arm.rs:36:19: 36:33
-          debug r => _4;                   // in scope 4 at $DIR/simplify-arm.rs:23:22: 23:23
+          debug r => _4;                   // in scope 4 at $DIR/simplify-arm.rs:+0:22: +0:23
       }
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/simplify-arm.rs:36:9: 36:10
-          StorageLive(_3);                 // scope 0 at $DIR/simplify-arm.rs:36:19: 36:33
-          StorageLive(_4);                 // scope 0 at $DIR/simplify-arm.rs:36:31: 36:32
-          _4 = _1;                         // scope 0 at $DIR/simplify-arm.rs:36:31: 36:32
-          _3 = move _4;                    // scope 4 at $DIR/simplify-arm.rs:24:5: 24:6
-          StorageDead(_4);                 // scope 0 at $DIR/simplify-arm.rs:36:32: 36:33
-          _5 = discriminant(_3);           // scope 0 at $DIR/simplify-arm.rs:36:19: 36:33
-          switchInt(move _5) -> [0_isize: bb1, 1_isize: bb3, otherwise: bb2]; // scope 0 at $DIR/simplify-arm.rs:36:13: 36:33
+          StorageLive(_2);                 // scope 0 at $DIR/simplify-arm.rs:+1:9: +1:10
+          StorageLive(_3);                 // scope 0 at $DIR/simplify-arm.rs:+1:19: +1:33
+          StorageLive(_4);                 // scope 0 at $DIR/simplify-arm.rs:+1:31: +1:32
+          _4 = _1;                         // scope 0 at $DIR/simplify-arm.rs:+1:31: +1:32
+          _3 = move _4;                    // scope 4 at $DIR/simplify-arm.rs:+0:5: +0:6
+          StorageDead(_4);                 // scope 0 at $DIR/simplify-arm.rs:+1:32: +1:33
+          _5 = discriminant(_3);           // scope 0 at $DIR/simplify-arm.rs:+1:19: +1:33
+          switchInt(move _5) -> [0_isize: bb1, 1_isize: bb3, otherwise: bb2]; // scope 0 at $DIR/simplify-arm.rs:+1:13: +1:33
       }
   
       bb1: {
-          StorageLive(_10);                // scope 0 at $DIR/simplify-arm.rs:38:12: 38:13
-          _10 = ((_3 as Ok).0: u8);        // scope 0 at $DIR/simplify-arm.rs:38:12: 38:13
-          _2 = _10;                        // scope 3 at $DIR/simplify-arm.rs:38:18: 38:19
-          StorageDead(_10);                // scope 0 at $DIR/simplify-arm.rs:38:18: 38:19
-          StorageDead(_3);                 // scope 0 at $DIR/simplify-arm.rs:39:6: 39:7
-          StorageLive(_11);                // scope 1 at $DIR/simplify-arm.rs:40:8: 40:9
-          _11 = _2;                        // scope 1 at $DIR/simplify-arm.rs:40:8: 40:9
-          Deinit(_0);                      // scope 1 at $DIR/simplify-arm.rs:40:5: 40:10
-          ((_0 as Ok).0: u8) = move _11;   // scope 1 at $DIR/simplify-arm.rs:40:5: 40:10
-          discriminant(_0) = 0;            // scope 1 at $DIR/simplify-arm.rs:40:5: 40:10
-          StorageDead(_11);                // scope 1 at $DIR/simplify-arm.rs:40:9: 40:10
-          StorageDead(_2);                 // scope 0 at $DIR/simplify-arm.rs:41:1: 41:2
-          goto -> bb4;                     // scope 0 at $DIR/simplify-arm.rs:41:2: 41:2
+          StorageLive(_10);                // scope 0 at $DIR/simplify-arm.rs:+3:12: +3:13
+          _10 = ((_3 as Ok).0: u8);        // scope 0 at $DIR/simplify-arm.rs:+3:12: +3:13
+          _2 = _10;                        // scope 3 at $DIR/simplify-arm.rs:+3:18: +3:19
+          StorageDead(_10);                // scope 0 at $DIR/simplify-arm.rs:+3:18: +3:19
+          StorageDead(_3);                 // scope 0 at $DIR/simplify-arm.rs:+4:6: +4:7
+          StorageLive(_11);                // scope 1 at $DIR/simplify-arm.rs:+5:8: +5:9
+          _11 = _2;                        // scope 1 at $DIR/simplify-arm.rs:+5:8: +5:9
+          Deinit(_0);                      // scope 1 at $DIR/simplify-arm.rs:+5:5: +5:10
+          ((_0 as Ok).0: u8) = move _11;   // scope 1 at $DIR/simplify-arm.rs:+5:5: +5:10
+          discriminant(_0) = 0;            // scope 1 at $DIR/simplify-arm.rs:+5:5: +5:10
+          StorageDead(_11);                // scope 1 at $DIR/simplify-arm.rs:+5:9: +5:10
+          StorageDead(_2);                 // scope 0 at $DIR/simplify-arm.rs:+6:1: +6:2
+          goto -> bb4;                     // scope 0 at $DIR/simplify-arm.rs:+6:2: +6:2
       }
   
       bb2: {
-          unreachable;                     // scope 0 at $DIR/simplify-arm.rs:36:19: 36:33
+          unreachable;                     // scope 0 at $DIR/simplify-arm.rs:+1:19: +1:33
       }
   
       bb3: {
-          StorageLive(_6);                 // scope 0 at $DIR/simplify-arm.rs:37:13: 37:14
-          _6 = ((_3 as Err).0: i32);       // scope 0 at $DIR/simplify-arm.rs:37:13: 37:14
-          StorageLive(_8);                 // scope 2 at $DIR/simplify-arm.rs:37:37: 37:50
-          StorageLive(_9);                 // scope 2 at $DIR/simplify-arm.rs:37:48: 37:49
-          _9 = _6;                         // scope 2 at $DIR/simplify-arm.rs:37:48: 37:49
+          StorageLive(_6);                 // scope 0 at $DIR/simplify-arm.rs:+2:13: +2:14
+          _6 = ((_3 as Err).0: i32);       // scope 0 at $DIR/simplify-arm.rs:+2:13: +2:14
+          StorageLive(_8);                 // scope 2 at $DIR/simplify-arm.rs:+2:37: +2:50
+          StorageLive(_9);                 // scope 2 at $DIR/simplify-arm.rs:+2:48: +2:49
+          _9 = _6;                         // scope 2 at $DIR/simplify-arm.rs:+2:48: +2:49
           _8 = move _9;                    // scope 5 at $SRC_DIR/core/src/convert/mod.rs:LL:COL
-          StorageDead(_9);                 // scope 2 at $DIR/simplify-arm.rs:37:49: 37:50
-          ((_0 as Err).0: i32) = move _8;  // scope 6 at $DIR/simplify-arm.rs:28:9: 28:10
-          Deinit(_0);                      // scope 6 at $DIR/simplify-arm.rs:28:5: 28:11
-          discriminant(_0) = 1;            // scope 6 at $DIR/simplify-arm.rs:28:5: 28:11
-          StorageDead(_8);                 // scope 2 at $DIR/simplify-arm.rs:37:50: 37:51
-          StorageDead(_6);                 // scope 0 at $DIR/simplify-arm.rs:37:50: 37:51
-          StorageDead(_3);                 // scope 0 at $DIR/simplify-arm.rs:39:6: 39:7
-          StorageDead(_2);                 // scope 0 at $DIR/simplify-arm.rs:41:1: 41:2
-          goto -> bb4;                     // scope 0 at $DIR/simplify-arm.rs:41:2: 41:2
+          StorageDead(_9);                 // scope 2 at $DIR/simplify-arm.rs:+2:49: +2:50
+          ((_0 as Err).0: i32) = move _8;  // scope 6 at $DIR/simplify-arm.rs:+0:9: +0:10
+          Deinit(_0);                      // scope 6 at $DIR/simplify-arm.rs:+0:5: +0:11
+          discriminant(_0) = 1;            // scope 6 at $DIR/simplify-arm.rs:+0:5: +0:11
+          StorageDead(_8);                 // scope 2 at $DIR/simplify-arm.rs:+2:50: +2:51
+          StorageDead(_6);                 // scope 0 at $DIR/simplify-arm.rs:+2:50: +2:51
+          StorageDead(_3);                 // scope 0 at $DIR/simplify-arm.rs:+4:6: +4:7
+          StorageDead(_2);                 // scope 0 at $DIR/simplify-arm.rs:+6:1: +6:2
+          goto -> bb4;                     // scope 0 at $DIR/simplify-arm.rs:+6:2: +6:2
       }
   
       bb4: {
-          return;                          // scope 0 at $DIR/simplify-arm.rs:41:2: 41:2
+          return;                          // scope 0 at $DIR/simplify-arm.rs:+6:2: +6:2
       }
   
       bb5 (cleanup): {
-          resume;                          // scope 0 at $DIR/simplify-arm.rs:35:1: 41:2
+          resume;                          // scope 0 at $DIR/simplify-arm.rs:+0:1: +6:2
       }
   }
   
index a993ea73665c4882abc5d621a485a60021a37c4b..22a2f85c09ae5e0c9c14893946e545ec869fa469 100644 (file)
@@ -2,92 +2,92 @@
 + // MIR for `id_try` after SimplifyBranchSame
   
   fn id_try(_1: Result<u8, i32>) -> Result<u8, i32> {
-      debug r => _1;                       // in scope 0 at $DIR/simplify-arm.rs:35:11: 35:12
-      let mut _0: std::result::Result<u8, i32>; // return place in scope 0 at $DIR/simplify-arm.rs:35:34: 35:49
-      let _2: u8;                          // in scope 0 at $DIR/simplify-arm.rs:36:9: 36:10
-      let mut _3: std::result::Result<u8, i32>; // in scope 0 at $DIR/simplify-arm.rs:36:19: 36:33
-      let mut _4: std::result::Result<u8, i32>; // in scope 0 at $DIR/simplify-arm.rs:36:31: 36:32
-      let mut _5: isize;                   // in scope 0 at $DIR/simplify-arm.rs:37:9: 37:15
-      let _6: i32;                         // in scope 0 at $DIR/simplify-arm.rs:37:13: 37:14
-      let mut _7: !;                       // in scope 0 at $DIR/simplify-arm.rs:37:19: 37:51
-      let mut _8: i32;                     // in scope 0 at $DIR/simplify-arm.rs:37:37: 37:50
-      let mut _9: i32;                     // in scope 0 at $DIR/simplify-arm.rs:37:48: 37:49
-      let _10: u8;                         // in scope 0 at $DIR/simplify-arm.rs:38:12: 38:13
-      let mut _11: u8;                     // in scope 0 at $DIR/simplify-arm.rs:40:8: 40:9
+      debug r => _1;                       // in scope 0 at $DIR/simplify-arm.rs:+0:11: +0:12
+      let mut _0: std::result::Result<u8, i32>; // return place in scope 0 at $DIR/simplify-arm.rs:+0:34: +0:49
+      let _2: u8;                          // in scope 0 at $DIR/simplify-arm.rs:+1:9: +1:10
+      let mut _3: std::result::Result<u8, i32>; // in scope 0 at $DIR/simplify-arm.rs:+1:19: +1:33
+      let mut _4: std::result::Result<u8, i32>; // in scope 0 at $DIR/simplify-arm.rs:+1:31: +1:32
+      let mut _5: isize;                   // in scope 0 at $DIR/simplify-arm.rs:+2:9: +2:15
+      let _6: i32;                         // in scope 0 at $DIR/simplify-arm.rs:+2:13: +2:14
+      let mut _7: !;                       // in scope 0 at $DIR/simplify-arm.rs:+2:19: +2:51
+      let mut _8: i32;                     // in scope 0 at $DIR/simplify-arm.rs:+2:37: +2:50
+      let mut _9: i32;                     // in scope 0 at $DIR/simplify-arm.rs:+2:48: +2:49
+      let _10: u8;                         // in scope 0 at $DIR/simplify-arm.rs:+3:12: +3:13
+      let mut _11: u8;                     // in scope 0 at $DIR/simplify-arm.rs:+5:8: +5:9
       scope 1 {
-          debug x => _2;                   // in scope 1 at $DIR/simplify-arm.rs:36:9: 36:10
+          debug x => _2;                   // in scope 1 at $DIR/simplify-arm.rs:+1:9: +1:10
       }
       scope 2 {
-          debug e => _6;                   // in scope 2 at $DIR/simplify-arm.rs:37:13: 37:14
+          debug e => _6;                   // in scope 2 at $DIR/simplify-arm.rs:+2:13: +2:14
           scope 5 (inlined <i32 as From<i32>>::from) { // at $DIR/simplify-arm.rs:37:37: 37:50
               debug t => _9;               // in scope 5 at $SRC_DIR/core/src/convert/mod.rs:LL:COL
           }
           scope 6 (inlined from_error::<u8, i32>) { // at $DIR/simplify-arm.rs:37:26: 37:51
-              debug e => _8;               // in scope 6 at $DIR/simplify-arm.rs:27:21: 27:22
+              debug e => _8;               // in scope 6 at $DIR/simplify-arm.rs:+0:21: +0:22
           }
       }
       scope 3 {
-          debug v => _10;                  // in scope 3 at $DIR/simplify-arm.rs:38:12: 38:13
+          debug v => _10;                  // in scope 3 at $DIR/simplify-arm.rs:+3:12: +3:13
       }
       scope 4 (inlined into_result::<u8, i32>) { // at $DIR/simplify-arm.rs:36:19: 36:33
-          debug r => _4;                   // in scope 4 at $DIR/simplify-arm.rs:23:22: 23:23
+          debug r => _4;                   // in scope 4 at $DIR/simplify-arm.rs:+0:22: +0:23
       }
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/simplify-arm.rs:36:9: 36:10
-          StorageLive(_3);                 // scope 0 at $DIR/simplify-arm.rs:36:19: 36:33
-          StorageLive(_4);                 // scope 0 at $DIR/simplify-arm.rs:36:31: 36:32
-          _4 = _1;                         // scope 0 at $DIR/simplify-arm.rs:36:31: 36:32
-          _3 = move _4;                    // scope 4 at $DIR/simplify-arm.rs:24:5: 24:6
-          StorageDead(_4);                 // scope 0 at $DIR/simplify-arm.rs:36:32: 36:33
-          _5 = discriminant(_3);           // scope 0 at $DIR/simplify-arm.rs:36:19: 36:33
-          switchInt(move _5) -> [0_isize: bb1, 1_isize: bb3, otherwise: bb2]; // scope 0 at $DIR/simplify-arm.rs:36:13: 36:33
+          StorageLive(_2);                 // scope 0 at $DIR/simplify-arm.rs:+1:9: +1:10
+          StorageLive(_3);                 // scope 0 at $DIR/simplify-arm.rs:+1:19: +1:33
+          StorageLive(_4);                 // scope 0 at $DIR/simplify-arm.rs:+1:31: +1:32
+          _4 = _1;                         // scope 0 at $DIR/simplify-arm.rs:+1:31: +1:32
+          _3 = move _4;                    // scope 4 at $DIR/simplify-arm.rs:+0:5: +0:6
+          StorageDead(_4);                 // scope 0 at $DIR/simplify-arm.rs:+1:32: +1:33
+          _5 = discriminant(_3);           // scope 0 at $DIR/simplify-arm.rs:+1:19: +1:33
+          switchInt(move _5) -> [0_isize: bb1, 1_isize: bb3, otherwise: bb2]; // scope 0 at $DIR/simplify-arm.rs:+1:13: +1:33
       }
   
       bb1: {
-          StorageLive(_10);                // scope 0 at $DIR/simplify-arm.rs:38:12: 38:13
-          _10 = ((_3 as Ok).0: u8);        // scope 0 at $DIR/simplify-arm.rs:38:12: 38:13
-          _2 = _10;                        // scope 3 at $DIR/simplify-arm.rs:38:18: 38:19
-          StorageDead(_10);                // scope 0 at $DIR/simplify-arm.rs:38:18: 38:19
-          StorageDead(_3);                 // scope 0 at $DIR/simplify-arm.rs:39:6: 39:7
-          StorageLive(_11);                // scope 1 at $DIR/simplify-arm.rs:40:8: 40:9
-          _11 = _2;                        // scope 1 at $DIR/simplify-arm.rs:40:8: 40:9
-          Deinit(_0);                      // scope 1 at $DIR/simplify-arm.rs:40:5: 40:10
-          ((_0 as Ok).0: u8) = move _11;   // scope 1 at $DIR/simplify-arm.rs:40:5: 40:10
-          discriminant(_0) = 0;            // scope 1 at $DIR/simplify-arm.rs:40:5: 40:10
-          StorageDead(_11);                // scope 1 at $DIR/simplify-arm.rs:40:9: 40:10
-          StorageDead(_2);                 // scope 0 at $DIR/simplify-arm.rs:41:1: 41:2
-          goto -> bb4;                     // scope 0 at $DIR/simplify-arm.rs:41:2: 41:2
+          StorageLive(_10);                // scope 0 at $DIR/simplify-arm.rs:+3:12: +3:13
+          _10 = ((_3 as Ok).0: u8);        // scope 0 at $DIR/simplify-arm.rs:+3:12: +3:13
+          _2 = _10;                        // scope 3 at $DIR/simplify-arm.rs:+3:18: +3:19
+          StorageDead(_10);                // scope 0 at $DIR/simplify-arm.rs:+3:18: +3:19
+          StorageDead(_3);                 // scope 0 at $DIR/simplify-arm.rs:+4:6: +4:7
+          StorageLive(_11);                // scope 1 at $DIR/simplify-arm.rs:+5:8: +5:9
+          _11 = _2;                        // scope 1 at $DIR/simplify-arm.rs:+5:8: +5:9
+          Deinit(_0);                      // scope 1 at $DIR/simplify-arm.rs:+5:5: +5:10
+          ((_0 as Ok).0: u8) = move _11;   // scope 1 at $DIR/simplify-arm.rs:+5:5: +5:10
+          discriminant(_0) = 0;            // scope 1 at $DIR/simplify-arm.rs:+5:5: +5:10
+          StorageDead(_11);                // scope 1 at $DIR/simplify-arm.rs:+5:9: +5:10
+          StorageDead(_2);                 // scope 0 at $DIR/simplify-arm.rs:+6:1: +6:2
+          goto -> bb4;                     // scope 0 at $DIR/simplify-arm.rs:+6:2: +6:2
       }
   
       bb2: {
-          unreachable;                     // scope 0 at $DIR/simplify-arm.rs:36:19: 36:33
+          unreachable;                     // scope 0 at $DIR/simplify-arm.rs:+1:19: +1:33
       }
   
       bb3: {
-          StorageLive(_6);                 // scope 0 at $DIR/simplify-arm.rs:37:13: 37:14
-          _6 = ((_3 as Err).0: i32);       // scope 0 at $DIR/simplify-arm.rs:37:13: 37:14
-          StorageLive(_8);                 // scope 2 at $DIR/simplify-arm.rs:37:37: 37:50
-          StorageLive(_9);                 // scope 2 at $DIR/simplify-arm.rs:37:48: 37:49
-          _9 = _6;                         // scope 2 at $DIR/simplify-arm.rs:37:48: 37:49
+          StorageLive(_6);                 // scope 0 at $DIR/simplify-arm.rs:+2:13: +2:14
+          _6 = ((_3 as Err).0: i32);       // scope 0 at $DIR/simplify-arm.rs:+2:13: +2:14
+          StorageLive(_8);                 // scope 2 at $DIR/simplify-arm.rs:+2:37: +2:50
+          StorageLive(_9);                 // scope 2 at $DIR/simplify-arm.rs:+2:48: +2:49
+          _9 = _6;                         // scope 2 at $DIR/simplify-arm.rs:+2:48: +2:49
           _8 = move _9;                    // scope 5 at $SRC_DIR/core/src/convert/mod.rs:LL:COL
-          StorageDead(_9);                 // scope 2 at $DIR/simplify-arm.rs:37:49: 37:50
-          ((_0 as Err).0: i32) = move _8;  // scope 6 at $DIR/simplify-arm.rs:28:9: 28:10
-          Deinit(_0);                      // scope 6 at $DIR/simplify-arm.rs:28:5: 28:11
-          discriminant(_0) = 1;            // scope 6 at $DIR/simplify-arm.rs:28:5: 28:11
-          StorageDead(_8);                 // scope 2 at $DIR/simplify-arm.rs:37:50: 37:51
-          StorageDead(_6);                 // scope 0 at $DIR/simplify-arm.rs:37:50: 37:51
-          StorageDead(_3);                 // scope 0 at $DIR/simplify-arm.rs:39:6: 39:7
-          StorageDead(_2);                 // scope 0 at $DIR/simplify-arm.rs:41:1: 41:2
-          goto -> bb4;                     // scope 0 at $DIR/simplify-arm.rs:41:2: 41:2
+          StorageDead(_9);                 // scope 2 at $DIR/simplify-arm.rs:+2:49: +2:50
+          ((_0 as Err).0: i32) = move _8;  // scope 6 at $DIR/simplify-arm.rs:+0:9: +0:10
+          Deinit(_0);                      // scope 6 at $DIR/simplify-arm.rs:+0:5: +0:11
+          discriminant(_0) = 1;            // scope 6 at $DIR/simplify-arm.rs:+0:5: +0:11
+          StorageDead(_8);                 // scope 2 at $DIR/simplify-arm.rs:+2:50: +2:51
+          StorageDead(_6);                 // scope 0 at $DIR/simplify-arm.rs:+2:50: +2:51
+          StorageDead(_3);                 // scope 0 at $DIR/simplify-arm.rs:+4:6: +4:7
+          StorageDead(_2);                 // scope 0 at $DIR/simplify-arm.rs:+6:1: +6:2
+          goto -> bb4;                     // scope 0 at $DIR/simplify-arm.rs:+6:2: +6:2
       }
   
       bb4: {
-          return;                          // scope 0 at $DIR/simplify-arm.rs:41:2: 41:2
+          return;                          // scope 0 at $DIR/simplify-arm.rs:+6:2: +6:2
       }
   
       bb5 (cleanup): {
-          resume;                          // scope 0 at $DIR/simplify-arm.rs:35:1: 41:2
+          resume;                          // scope 0 at $DIR/simplify-arm.rs:+0:1: +6:2
       }
   }
   
index 474d2df7aadb8fa0e1c293ab009ca63140c0eb02..118f5dd0abb430ad1b6cb11b83b1030d36d7e308 100644 (file)
@@ -2,60 +2,60 @@
 + // MIR for `main` after SimplifyArmIdentity
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/simplify-arm-identity.rs:17:11: 17:11
-      let _1: Src;                         // in scope 0 at $DIR/simplify-arm-identity.rs:18:9: 18:10
-      let mut _2: Dst;                     // in scope 0 at $DIR/simplify-arm-identity.rs:19:18: 22:6
-      let mut _3: isize;                   // in scope 0 at $DIR/simplify-arm-identity.rs:20:9: 20:20
-      let mut _5: u8;                      // in scope 0 at $DIR/simplify-arm-identity.rs:20:33: 20:34
+      let mut _0: ();                      // return place in scope 0 at $DIR/simplify-arm-identity.rs:+0:11: +0:11
+      let _1: Src;                         // in scope 0 at $DIR/simplify-arm-identity.rs:+1:9: +1:10
+      let mut _2: Dst;                     // in scope 0 at $DIR/simplify-arm-identity.rs:+2:18: +5:6
+      let mut _3: isize;                   // in scope 0 at $DIR/simplify-arm-identity.rs:+3:9: +3:20
+      let mut _5: u8;                      // in scope 0 at $DIR/simplify-arm-identity.rs:+3:33: +3:34
       scope 1 {
-          debug e => _1;                   // in scope 1 at $DIR/simplify-arm-identity.rs:18:9: 18:10
-          let _4: u8;                      // in scope 1 at $DIR/simplify-arm-identity.rs:20:18: 20:19
+          debug e => _1;                   // in scope 1 at $DIR/simplify-arm-identity.rs:+1:9: +1:10
+          let _4: u8;                      // in scope 1 at $DIR/simplify-arm-identity.rs:+3:18: +3:19
           scope 2 {
           }
           scope 3 {
-              debug x => _4;               // in scope 3 at $DIR/simplify-arm-identity.rs:20:18: 20:19
+              debug x => _4;               // in scope 3 at $DIR/simplify-arm-identity.rs:+3:18: +3:19
           }
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/simplify-arm-identity.rs:18:9: 18:10
-          Deinit(_1);                      // scope 0 at $DIR/simplify-arm-identity.rs:18:18: 18:29
-          ((_1 as Foo).0: u8) = const 0_u8; // scope 0 at $DIR/simplify-arm-identity.rs:18:18: 18:29
-          discriminant(_1) = 0;            // scope 0 at $DIR/simplify-arm-identity.rs:18:18: 18:29
-          StorageLive(_2);                 // scope 1 at $DIR/simplify-arm-identity.rs:19:18: 22:6
-          _3 = const 0_isize;              // scope 1 at $DIR/simplify-arm-identity.rs:19:24: 19:25
-          goto -> bb3;                     // scope 1 at $DIR/simplify-arm-identity.rs:19:18: 19:25
+          StorageLive(_1);                 // scope 0 at $DIR/simplify-arm-identity.rs:+1:9: +1:10
+          Deinit(_1);                      // scope 0 at $DIR/simplify-arm-identity.rs:+1:18: +1:29
+          ((_1 as Foo).0: u8) = const 0_u8; // scope 0 at $DIR/simplify-arm-identity.rs:+1:18: +1:29
+          discriminant(_1) = 0;            // scope 0 at $DIR/simplify-arm-identity.rs:+1:18: +1:29
+          StorageLive(_2);                 // scope 1 at $DIR/simplify-arm-identity.rs:+2:18: +5:6
+          _3 = const 0_isize;              // scope 1 at $DIR/simplify-arm-identity.rs:+2:24: +2:25
+          goto -> bb3;                     // scope 1 at $DIR/simplify-arm-identity.rs:+2:18: +2:25
       }
   
       bb1: {
-          Deinit(_2);                      // scope 1 at $DIR/simplify-arm-identity.rs:21:21: 21:32
-          ((_2 as Foo).0: u8) = const 0_u8; // scope 1 at $DIR/simplify-arm-identity.rs:21:21: 21:32
-          discriminant(_2) = 0;            // scope 1 at $DIR/simplify-arm-identity.rs:21:21: 21:32
-          goto -> bb4;                     // scope 1 at $DIR/simplify-arm-identity.rs:21:21: 21:32
+          Deinit(_2);                      // scope 1 at $DIR/simplify-arm-identity.rs:+4:21: +4:32
+          ((_2 as Foo).0: u8) = const 0_u8; // scope 1 at $DIR/simplify-arm-identity.rs:+4:21: +4:32
+          discriminant(_2) = 0;            // scope 1 at $DIR/simplify-arm-identity.rs:+4:21: +4:32
+          goto -> bb4;                     // scope 1 at $DIR/simplify-arm-identity.rs:+4:21: +4:32
       }
   
       bb2: {
-          unreachable;                     // scope 1 at $DIR/simplify-arm-identity.rs:19:24: 19:25
+          unreachable;                     // scope 1 at $DIR/simplify-arm-identity.rs:+2:24: +2:25
       }
   
       bb3: {
-          StorageLive(_4);                 // scope 1 at $DIR/simplify-arm-identity.rs:20:18: 20:19
-          _4 = ((_1 as Foo).0: u8);        // scope 1 at $DIR/simplify-arm-identity.rs:20:18: 20:19
-          StorageLive(_5);                 // scope 3 at $DIR/simplify-arm-identity.rs:20:33: 20:34
-          _5 = _4;                         // scope 3 at $DIR/simplify-arm-identity.rs:20:33: 20:34
-          Deinit(_2);                      // scope 3 at $DIR/simplify-arm-identity.rs:20:24: 20:35
-          ((_2 as Foo).0: u8) = move _5;   // scope 3 at $DIR/simplify-arm-identity.rs:20:24: 20:35
-          discriminant(_2) = 0;            // scope 3 at $DIR/simplify-arm-identity.rs:20:24: 20:35
-          StorageDead(_5);                 // scope 3 at $DIR/simplify-arm-identity.rs:20:34: 20:35
-          StorageDead(_4);                 // scope 1 at $DIR/simplify-arm-identity.rs:20:34: 20:35
-          goto -> bb4;                     // scope 1 at $DIR/simplify-arm-identity.rs:20:34: 20:35
+          StorageLive(_4);                 // scope 1 at $DIR/simplify-arm-identity.rs:+3:18: +3:19
+          _4 = ((_1 as Foo).0: u8);        // scope 1 at $DIR/simplify-arm-identity.rs:+3:18: +3:19
+          StorageLive(_5);                 // scope 3 at $DIR/simplify-arm-identity.rs:+3:33: +3:34
+          _5 = _4;                         // scope 3 at $DIR/simplify-arm-identity.rs:+3:33: +3:34
+          Deinit(_2);                      // scope 3 at $DIR/simplify-arm-identity.rs:+3:24: +3:35
+          ((_2 as Foo).0: u8) = move _5;   // scope 3 at $DIR/simplify-arm-identity.rs:+3:24: +3:35
+          discriminant(_2) = 0;            // scope 3 at $DIR/simplify-arm-identity.rs:+3:24: +3:35
+          StorageDead(_5);                 // scope 3 at $DIR/simplify-arm-identity.rs:+3:34: +3:35
+          StorageDead(_4);                 // scope 1 at $DIR/simplify-arm-identity.rs:+3:34: +3:35
+          goto -> bb4;                     // scope 1 at $DIR/simplify-arm-identity.rs:+3:34: +3:35
       }
   
       bb4: {
-          StorageDead(_2);                 // scope 1 at $DIR/simplify-arm-identity.rs:22:6: 22:7
-          nop;                             // scope 0 at $DIR/simplify-arm-identity.rs:17:11: 23:2
-          StorageDead(_1);                 // scope 0 at $DIR/simplify-arm-identity.rs:23:1: 23:2
-          return;                          // scope 0 at $DIR/simplify-arm-identity.rs:23:2: 23:2
+          StorageDead(_2);                 // scope 1 at $DIR/simplify-arm-identity.rs:+5:6: +5:7
+          nop;                             // scope 0 at $DIR/simplify-arm-identity.rs:+0:11: +6:2
+          StorageDead(_1);                 // scope 0 at $DIR/simplify-arm-identity.rs:+6:1: +6:2
+          return;                          // scope 0 at $DIR/simplify-arm-identity.rs:+6:2: +6:2
       }
   }
   
index 474d2df7aadb8fa0e1c293ab009ca63140c0eb02..118f5dd0abb430ad1b6cb11b83b1030d36d7e308 100644 (file)
@@ -2,60 +2,60 @@
 + // MIR for `main` after SimplifyArmIdentity
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/simplify-arm-identity.rs:17:11: 17:11
-      let _1: Src;                         // in scope 0 at $DIR/simplify-arm-identity.rs:18:9: 18:10
-      let mut _2: Dst;                     // in scope 0 at $DIR/simplify-arm-identity.rs:19:18: 22:6
-      let mut _3: isize;                   // in scope 0 at $DIR/simplify-arm-identity.rs:20:9: 20:20
-      let mut _5: u8;                      // in scope 0 at $DIR/simplify-arm-identity.rs:20:33: 20:34
+      let mut _0: ();                      // return place in scope 0 at $DIR/simplify-arm-identity.rs:+0:11: +0:11
+      let _1: Src;                         // in scope 0 at $DIR/simplify-arm-identity.rs:+1:9: +1:10
+      let mut _2: Dst;                     // in scope 0 at $DIR/simplify-arm-identity.rs:+2:18: +5:6
+      let mut _3: isize;                   // in scope 0 at $DIR/simplify-arm-identity.rs:+3:9: +3:20
+      let mut _5: u8;                      // in scope 0 at $DIR/simplify-arm-identity.rs:+3:33: +3:34
       scope 1 {
-          debug e => _1;                   // in scope 1 at $DIR/simplify-arm-identity.rs:18:9: 18:10
-          let _4: u8;                      // in scope 1 at $DIR/simplify-arm-identity.rs:20:18: 20:19
+          debug e => _1;                   // in scope 1 at $DIR/simplify-arm-identity.rs:+1:9: +1:10
+          let _4: u8;                      // in scope 1 at $DIR/simplify-arm-identity.rs:+3:18: +3:19
           scope 2 {
           }
           scope 3 {
-              debug x => _4;               // in scope 3 at $DIR/simplify-arm-identity.rs:20:18: 20:19
+              debug x => _4;               // in scope 3 at $DIR/simplify-arm-identity.rs:+3:18: +3:19
           }
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/simplify-arm-identity.rs:18:9: 18:10
-          Deinit(_1);                      // scope 0 at $DIR/simplify-arm-identity.rs:18:18: 18:29
-          ((_1 as Foo).0: u8) = const 0_u8; // scope 0 at $DIR/simplify-arm-identity.rs:18:18: 18:29
-          discriminant(_1) = 0;            // scope 0 at $DIR/simplify-arm-identity.rs:18:18: 18:29
-          StorageLive(_2);                 // scope 1 at $DIR/simplify-arm-identity.rs:19:18: 22:6
-          _3 = const 0_isize;              // scope 1 at $DIR/simplify-arm-identity.rs:19:24: 19:25
-          goto -> bb3;                     // scope 1 at $DIR/simplify-arm-identity.rs:19:18: 19:25
+          StorageLive(_1);                 // scope 0 at $DIR/simplify-arm-identity.rs:+1:9: +1:10
+          Deinit(_1);                      // scope 0 at $DIR/simplify-arm-identity.rs:+1:18: +1:29
+          ((_1 as Foo).0: u8) = const 0_u8; // scope 0 at $DIR/simplify-arm-identity.rs:+1:18: +1:29
+          discriminant(_1) = 0;            // scope 0 at $DIR/simplify-arm-identity.rs:+1:18: +1:29
+          StorageLive(_2);                 // scope 1 at $DIR/simplify-arm-identity.rs:+2:18: +5:6
+          _3 = const 0_isize;              // scope 1 at $DIR/simplify-arm-identity.rs:+2:24: +2:25
+          goto -> bb3;                     // scope 1 at $DIR/simplify-arm-identity.rs:+2:18: +2:25
       }
   
       bb1: {
-          Deinit(_2);                      // scope 1 at $DIR/simplify-arm-identity.rs:21:21: 21:32
-          ((_2 as Foo).0: u8) = const 0_u8; // scope 1 at $DIR/simplify-arm-identity.rs:21:21: 21:32
-          discriminant(_2) = 0;            // scope 1 at $DIR/simplify-arm-identity.rs:21:21: 21:32
-          goto -> bb4;                     // scope 1 at $DIR/simplify-arm-identity.rs:21:21: 21:32
+          Deinit(_2);                      // scope 1 at $DIR/simplify-arm-identity.rs:+4:21: +4:32
+          ((_2 as Foo).0: u8) = const 0_u8; // scope 1 at $DIR/simplify-arm-identity.rs:+4:21: +4:32
+          discriminant(_2) = 0;            // scope 1 at $DIR/simplify-arm-identity.rs:+4:21: +4:32
+          goto -> bb4;                     // scope 1 at $DIR/simplify-arm-identity.rs:+4:21: +4:32
       }
   
       bb2: {
-          unreachable;                     // scope 1 at $DIR/simplify-arm-identity.rs:19:24: 19:25
+          unreachable;                     // scope 1 at $DIR/simplify-arm-identity.rs:+2:24: +2:25
       }
   
       bb3: {
-          StorageLive(_4);                 // scope 1 at $DIR/simplify-arm-identity.rs:20:18: 20:19
-          _4 = ((_1 as Foo).0: u8);        // scope 1 at $DIR/simplify-arm-identity.rs:20:18: 20:19
-          StorageLive(_5);                 // scope 3 at $DIR/simplify-arm-identity.rs:20:33: 20:34
-          _5 = _4;                         // scope 3 at $DIR/simplify-arm-identity.rs:20:33: 20:34
-          Deinit(_2);                      // scope 3 at $DIR/simplify-arm-identity.rs:20:24: 20:35
-          ((_2 as Foo).0: u8) = move _5;   // scope 3 at $DIR/simplify-arm-identity.rs:20:24: 20:35
-          discriminant(_2) = 0;            // scope 3 at $DIR/simplify-arm-identity.rs:20:24: 20:35
-          StorageDead(_5);                 // scope 3 at $DIR/simplify-arm-identity.rs:20:34: 20:35
-          StorageDead(_4);                 // scope 1 at $DIR/simplify-arm-identity.rs:20:34: 20:35
-          goto -> bb4;                     // scope 1 at $DIR/simplify-arm-identity.rs:20:34: 20:35
+          StorageLive(_4);                 // scope 1 at $DIR/simplify-arm-identity.rs:+3:18: +3:19
+          _4 = ((_1 as Foo).0: u8);        // scope 1 at $DIR/simplify-arm-identity.rs:+3:18: +3:19
+          StorageLive(_5);                 // scope 3 at $DIR/simplify-arm-identity.rs:+3:33: +3:34
+          _5 = _4;                         // scope 3 at $DIR/simplify-arm-identity.rs:+3:33: +3:34
+          Deinit(_2);                      // scope 3 at $DIR/simplify-arm-identity.rs:+3:24: +3:35
+          ((_2 as Foo).0: u8) = move _5;   // scope 3 at $DIR/simplify-arm-identity.rs:+3:24: +3:35
+          discriminant(_2) = 0;            // scope 3 at $DIR/simplify-arm-identity.rs:+3:24: +3:35
+          StorageDead(_5);                 // scope 3 at $DIR/simplify-arm-identity.rs:+3:34: +3:35
+          StorageDead(_4);                 // scope 1 at $DIR/simplify-arm-identity.rs:+3:34: +3:35
+          goto -> bb4;                     // scope 1 at $DIR/simplify-arm-identity.rs:+3:34: +3:35
       }
   
       bb4: {
-          StorageDead(_2);                 // scope 1 at $DIR/simplify-arm-identity.rs:22:6: 22:7
-          nop;                             // scope 0 at $DIR/simplify-arm-identity.rs:17:11: 23:2
-          StorageDead(_1);                 // scope 0 at $DIR/simplify-arm-identity.rs:23:1: 23:2
-          return;                          // scope 0 at $DIR/simplify-arm-identity.rs:23:2: 23:2
+          StorageDead(_2);                 // scope 1 at $DIR/simplify-arm-identity.rs:+5:6: +5:7
+          nop;                             // scope 0 at $DIR/simplify-arm-identity.rs:+0:11: +6:2
+          StorageDead(_1);                 // scope 0 at $DIR/simplify-arm-identity.rs:+6:1: +6:2
+          return;                          // scope 0 at $DIR/simplify-arm-identity.rs:+6:2: +6:2
       }
   }
   
index 6d41d5b7437f5450b0b22b1cdd1b2fb0eca00fb8..e068b81bc3bc2f8d5b1c906fbc036c42efe3435c 100644 (file)
@@ -2,51 +2,51 @@
 + // MIR for `main` after SimplifyCfg-early-opt
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/simplify_cfg.rs:7:11: 7:11
-      let mut _1: ();                      // in scope 0 at $DIR/simplify_cfg.rs:7:1: 13:2
-      let mut _2: bool;                    // in scope 0 at $DIR/simplify_cfg.rs:9:12: 9:17
-      let mut _3: !;                       // in scope 0 at $DIR/simplify_cfg.rs:9:18: 11:10
+      let mut _0: ();                      // return place in scope 0 at $DIR/simplify_cfg.rs:+0:11: +0:11
+      let mut _1: ();                      // in scope 0 at $DIR/simplify_cfg.rs:+0:1: +6:2
+      let mut _2: bool;                    // in scope 0 at $DIR/simplify_cfg.rs:+2:12: +2:17
+      let mut _3: !;                       // in scope 0 at $DIR/simplify_cfg.rs:+2:18: +4:10
   
       bb0: {
-          goto -> bb1;                     // scope 0 at $DIR/simplify_cfg.rs:8:5: 12:6
+          goto -> bb1;                     // scope 0 at $DIR/simplify_cfg.rs:+1:5: +5:6
       }
   
       bb1: {
--         goto -> bb2;                     // scope 0 at $DIR/simplify_cfg.rs:8:5: 12:6
+-         goto -> bb2;                     // scope 0 at $DIR/simplify_cfg.rs:+1:5: +5:6
 -     }
 - 
 -     bb2: {
-          StorageLive(_2);                 // scope 0 at $DIR/simplify_cfg.rs:9:12: 9:17
--         _2 = bar() -> [return: bb3, unwind: bb6]; // scope 0 at $DIR/simplify_cfg.rs:9:12: 9:17
-+         _2 = bar() -> [return: bb2, unwind: bb5]; // scope 0 at $DIR/simplify_cfg.rs:9:12: 9:17
+          StorageLive(_2);                 // scope 0 at $DIR/simplify_cfg.rs:+2:12: +2:17
+-         _2 = bar() -> [return: bb3, unwind: bb6]; // scope 0 at $DIR/simplify_cfg.rs:+2:12: +2:17
++         _2 = bar() -> [return: bb2, unwind: bb5]; // scope 0 at $DIR/simplify_cfg.rs:+2:12: +2:17
                                            // mir::Constant
                                            // + span: $DIR/simplify_cfg.rs:9:12: 9:15
                                            // + literal: Const { ty: fn() -> bool {bar}, val: Value(<ZST>) }
       }
   
 -     bb3: {
--         switchInt(move _2) -> [false: bb5, otherwise: bb4]; // scope 0 at $DIR/simplify_cfg.rs:9:12: 9:17
+-         switchInt(move _2) -> [false: bb5, otherwise: bb4]; // scope 0 at $DIR/simplify_cfg.rs:+2:12: +2:17
 +     bb2: {
-+         switchInt(move _2) -> [false: bb4, otherwise: bb3]; // scope 0 at $DIR/simplify_cfg.rs:9:12: 9:17
++         switchInt(move _2) -> [false: bb4, otherwise: bb3]; // scope 0 at $DIR/simplify_cfg.rs:+2:12: +2:17
       }
   
 -     bb4: {
 +     bb3: {
-          _0 = const ();                   // scope 0 at $DIR/simplify_cfg.rs:10:13: 10:18
-          StorageDead(_2);                 // scope 0 at $DIR/simplify_cfg.rs:11:9: 11:10
-          return;                          // scope 0 at $DIR/simplify_cfg.rs:13:2: 13:2
+          _0 = const ();                   // scope 0 at $DIR/simplify_cfg.rs:+3:13: +3:18
+          StorageDead(_2);                 // scope 0 at $DIR/simplify_cfg.rs:+4:9: +4:10
+          return;                          // scope 0 at $DIR/simplify_cfg.rs:+6:2: +6:2
       }
   
 -     bb5: {
 +     bb4: {
-          _1 = const ();                   // scope 0 at $DIR/simplify_cfg.rs:11:10: 11:10
-          StorageDead(_2);                 // scope 0 at $DIR/simplify_cfg.rs:11:9: 11:10
-          goto -> bb1;                     // scope 0 at $DIR/simplify_cfg.rs:8:5: 12:6
+          _1 = const ();                   // scope 0 at $DIR/simplify_cfg.rs:+4:10: +4:10
+          StorageDead(_2);                 // scope 0 at $DIR/simplify_cfg.rs:+4:9: +4:10
+          goto -> bb1;                     // scope 0 at $DIR/simplify_cfg.rs:+1:5: +5:6
       }
   
 -     bb6 (cleanup): {
 +     bb5 (cleanup): {
-          resume;                          // scope 0 at $DIR/simplify_cfg.rs:7:1: 13:2
+          resume;                          // scope 0 at $DIR/simplify_cfg.rs:+0:1: +6:2
       }
   }
   
index 78841d28b85b18f690d09b9c922c5ec54123158f..f693798eb942d3dc177dd10c0f6637f9e42e91d8 100644 (file)
@@ -2,70 +2,70 @@
 + // MIR for `main` after SimplifyCfg-initial
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/simplify_cfg.rs:7:11: 7:11
-      let mut _1: ();                      // in scope 0 at $DIR/simplify_cfg.rs:7:1: 13:2
-      let mut _2: bool;                    // in scope 0 at $DIR/simplify_cfg.rs:9:12: 9:17
-      let mut _3: !;                       // in scope 0 at $DIR/simplify_cfg.rs:9:18: 11:10
+      let mut _0: ();                      // return place in scope 0 at $DIR/simplify_cfg.rs:+0:11: +0:11
+      let mut _1: ();                      // in scope 0 at $DIR/simplify_cfg.rs:+0:1: +6:2
+      let mut _2: bool;                    // in scope 0 at $DIR/simplify_cfg.rs:+2:12: +2:17
+      let mut _3: !;                       // in scope 0 at $DIR/simplify_cfg.rs:+2:18: +4:10
   
       bb0: {
-          goto -> bb1;                     // scope 0 at $DIR/simplify_cfg.rs:8:5: 12:6
+          goto -> bb1;                     // scope 0 at $DIR/simplify_cfg.rs:+1:5: +5:6
       }
   
       bb1: {
--         falseUnwind -> [real: bb2, cleanup: bb11]; // scope 0 at $DIR/simplify_cfg.rs:8:5: 12:6
-+         falseUnwind -> [real: bb2, cleanup: bb6]; // scope 0 at $DIR/simplify_cfg.rs:8:5: 12:6
+-         falseUnwind -> [real: bb2, cleanup: bb11]; // scope 0 at $DIR/simplify_cfg.rs:+1:5: +5:6
++         falseUnwind -> [real: bb2, cleanup: bb6]; // scope 0 at $DIR/simplify_cfg.rs:+1:5: +5:6
       }
   
       bb2: {
-          StorageLive(_2);                 // scope 0 at $DIR/simplify_cfg.rs:9:12: 9:17
--         _2 = bar() -> [return: bb3, unwind: bb11]; // scope 0 at $DIR/simplify_cfg.rs:9:12: 9:17
-+         _2 = bar() -> [return: bb3, unwind: bb6]; // scope 0 at $DIR/simplify_cfg.rs:9:12: 9:17
+          StorageLive(_2);                 // scope 0 at $DIR/simplify_cfg.rs:+2:12: +2:17
+-         _2 = bar() -> [return: bb3, unwind: bb11]; // scope 0 at $DIR/simplify_cfg.rs:+2:12: +2:17
++         _2 = bar() -> [return: bb3, unwind: bb6]; // scope 0 at $DIR/simplify_cfg.rs:+2:12: +2:17
                                            // mir::Constant
                                            // + span: $DIR/simplify_cfg.rs:9:12: 9:15
                                            // + literal: Const { ty: fn() -> bool {bar}, val: Value(<ZST>) }
       }
   
       bb3: {
-          switchInt(move _2) -> [false: bb5, otherwise: bb4]; // scope 0 at $DIR/simplify_cfg.rs:9:12: 9:17
+          switchInt(move _2) -> [false: bb5, otherwise: bb4]; // scope 0 at $DIR/simplify_cfg.rs:+2:12: +2:17
       }
   
       bb4: {
-          _0 = const ();                   // scope 0 at $DIR/simplify_cfg.rs:10:13: 10:18
--         goto -> bb10;                    // scope 0 at $DIR/simplify_cfg.rs:10:13: 10:18
-+         StorageDead(_2);                 // scope 0 at $DIR/simplify_cfg.rs:11:9: 11:10
-+         return;                          // scope 0 at $DIR/simplify_cfg.rs:13:2: 13:2
+          _0 = const ();                   // scope 0 at $DIR/simplify_cfg.rs:+3:13: +3:18
+-         goto -> bb10;                    // scope 0 at $DIR/simplify_cfg.rs:+3:13: +3:18
++         StorageDead(_2);                 // scope 0 at $DIR/simplify_cfg.rs:+4:9: +4:10
++         return;                          // scope 0 at $DIR/simplify_cfg.rs:+6:2: +6:2
       }
   
       bb5: {
--         goto -> bb8;                     // scope 0 at $DIR/simplify_cfg.rs:9:12: 9:17
+-         goto -> bb8;                     // scope 0 at $DIR/simplify_cfg.rs:+2:12: +2:17
 -     }
 - 
 -     bb6: {
--         unreachable;                     // scope 0 at $DIR/simplify_cfg.rs:9:18: 11:10
+-         unreachable;                     // scope 0 at $DIR/simplify_cfg.rs:+2:18: +4:10
 -     }
 - 
 -     bb7: {
--         goto -> bb9;                     // scope 0 at $DIR/simplify_cfg.rs:9:9: 11:10
+-         goto -> bb9;                     // scope 0 at $DIR/simplify_cfg.rs:+2:9: +4:10
 -     }
 - 
 -     bb8: {
-          _1 = const ();                   // scope 0 at $DIR/simplify_cfg.rs:11:10: 11:10
--         goto -> bb9;                     // scope 0 at $DIR/simplify_cfg.rs:9:9: 11:10
+          _1 = const ();                   // scope 0 at $DIR/simplify_cfg.rs:+4:10: +4:10
+-         goto -> bb9;                     // scope 0 at $DIR/simplify_cfg.rs:+2:9: +4:10
 -     }
 - 
 -     bb9: {
-          StorageDead(_2);                 // scope 0 at $DIR/simplify_cfg.rs:11:9: 11:10
-          goto -> bb1;                     // scope 0 at $DIR/simplify_cfg.rs:8:5: 12:6
+          StorageDead(_2);                 // scope 0 at $DIR/simplify_cfg.rs:+4:9: +4:10
+          goto -> bb1;                     // scope 0 at $DIR/simplify_cfg.rs:+1:5: +5:6
       }
   
 -     bb10: {
--         StorageDead(_2);                 // scope 0 at $DIR/simplify_cfg.rs:11:9: 11:10
--         return;                          // scope 0 at $DIR/simplify_cfg.rs:13:2: 13:2
+-         StorageDead(_2);                 // scope 0 at $DIR/simplify_cfg.rs:+4:9: +4:10
+-         return;                          // scope 0 at $DIR/simplify_cfg.rs:+6:2: +6:2
 -     }
 - 
 -     bb11 (cleanup): {
 +     bb6 (cleanup): {
-          resume;                          // scope 0 at $DIR/simplify_cfg.rs:7:1: 13:2
+          resume;                          // scope 0 at $DIR/simplify_cfg.rs:+0:1: +6:2
       }
   }
   
index f729b53b20410959f8e93bfe82c2881e9aacc452..9b1bea2704b7771d78e66262746755337499d1ee 100644 (file)
@@ -2,39 +2,39 @@
 + // MIR for `main` after SimplifyConstCondition-after-const-prop
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/simplify_if.rs:5:11: 5:11
-      let mut _1: bool;                    // in scope 0 at $DIR/simplify_if.rs:6:8: 6:13
-      let _2: ();                          // in scope 0 at $DIR/simplify_if.rs:7:9: 7:15
+      let mut _0: ();                      // return place in scope 0 at $DIR/simplify_if.rs:+0:11: +0:11
+      let mut _1: bool;                    // in scope 0 at $DIR/simplify_if.rs:+1:8: +1:13
+      let _2: ();                          // in scope 0 at $DIR/simplify_if.rs:+2:9: +2:15
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/simplify_if.rs:6:8: 6:13
-          _1 = const false;                // scope 0 at $DIR/simplify_if.rs:6:8: 6:13
--         switchInt(const false) -> [false: bb3, otherwise: bb1]; // scope 0 at $DIR/simplify_if.rs:6:8: 6:13
-+         goto -> bb3;                     // scope 0 at $DIR/simplify_if.rs:6:8: 6:13
+          StorageLive(_1);                 // scope 0 at $DIR/simplify_if.rs:+1:8: +1:13
+          _1 = const false;                // scope 0 at $DIR/simplify_if.rs:+1:8: +1:13
+-         switchInt(const false) -> [false: bb3, otherwise: bb1]; // scope 0 at $DIR/simplify_if.rs:+1:8: +1:13
++         goto -> bb3;                     // scope 0 at $DIR/simplify_if.rs:+1:8: +1:13
       }
   
       bb1: {
-          StorageLive(_2);                 // scope 0 at $DIR/simplify_if.rs:7:9: 7:15
-          _2 = noop() -> bb2;              // scope 0 at $DIR/simplify_if.rs:7:9: 7:15
+          StorageLive(_2);                 // scope 0 at $DIR/simplify_if.rs:+2:9: +2:15
+          _2 = noop() -> bb2;              // scope 0 at $DIR/simplify_if.rs:+2:9: +2:15
                                            // mir::Constant
                                            // + span: $DIR/simplify_if.rs:7:9: 7:13
                                            // + literal: Const { ty: fn() {noop}, val: Value(<ZST>) }
       }
   
       bb2: {
-          StorageDead(_2);                 // scope 0 at $DIR/simplify_if.rs:7:15: 7:16
-          nop;                             // scope 0 at $DIR/simplify_if.rs:6:14: 8:6
-          goto -> bb4;                     // scope 0 at $DIR/simplify_if.rs:6:5: 8:6
+          StorageDead(_2);                 // scope 0 at $DIR/simplify_if.rs:+2:15: +2:16
+          nop;                             // scope 0 at $DIR/simplify_if.rs:+1:14: +3:6
+          goto -> bb4;                     // scope 0 at $DIR/simplify_if.rs:+1:5: +3:6
       }
   
       bb3: {
-          nop;                             // scope 0 at $DIR/simplify_if.rs:8:6: 8:6
-          goto -> bb4;                     // scope 0 at $DIR/simplify_if.rs:6:5: 8:6
+          nop;                             // scope 0 at $DIR/simplify_if.rs:+3:6: +3:6
+          goto -> bb4;                     // scope 0 at $DIR/simplify_if.rs:+1:5: +3:6
       }
   
       bb4: {
-          StorageDead(_1);                 // scope 0 at $DIR/simplify_if.rs:8:5: 8:6
-          return;                          // scope 0 at $DIR/simplify_if.rs:9:2: 9:2
+          StorageDead(_1);                 // scope 0 at $DIR/simplify_if.rs:+3:5: +3:6
+          return;                          // scope 0 at $DIR/simplify_if.rs:+4:2: +4:2
       }
   }
   
index dd2d79549612355f1f565b1c8f87295461ec3f2f..5d7517e4eb43c492fd2ccdff77a8bd2588517863 100644 (file)
@@ -2,32 +2,32 @@
 + // MIR for `c` after SimplifyLocals
   
   fn c() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/simplify-locals.rs:13:8: 13:8
-      let _1: [u8; 10];                    // in scope 0 at $DIR/simplify-locals.rs:14:9: 14:14
--     let mut _2: &[u8];                   // in scope 0 at $DIR/simplify-locals.rs:16:20: 16:26
--     let mut _3: &[u8; 10];               // in scope 0 at $DIR/simplify-locals.rs:16:20: 16:26
--     let _4: &[u8; 10];                   // in scope 0 at $DIR/simplify-locals.rs:16:20: 16:26
+      let mut _0: ();                      // return place in scope 0 at $DIR/simplify-locals.rs:+0:8: +0:8
+      let _1: [u8; 10];                    // in scope 0 at $DIR/simplify-locals.rs:+1:9: +1:14
+-     let mut _2: &[u8];                   // in scope 0 at $DIR/simplify-locals.rs:+3:20: +3:26
+-     let mut _3: &[u8; 10];               // in scope 0 at $DIR/simplify-locals.rs:+3:20: +3:26
+-     let _4: &[u8; 10];                   // in scope 0 at $DIR/simplify-locals.rs:+3:20: +3:26
       scope 1 {
-          debug bytes => _1;               // in scope 1 at $DIR/simplify-locals.rs:14:9: 14:14
+          debug bytes => _1;               // in scope 1 at $DIR/simplify-locals.rs:+1:9: +1:14
           scope 2 {
           }
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/simplify-locals.rs:14:9: 14:14
-          _1 = [const 0_u8; 10];           // scope 0 at $DIR/simplify-locals.rs:14:17: 14:26
--         StorageLive(_2);                 // scope 1 at $DIR/simplify-locals.rs:16:20: 16:26
--         StorageLive(_3);                 // scope 1 at $DIR/simplify-locals.rs:16:20: 16:26
--         StorageLive(_4);                 // scope 1 at $DIR/simplify-locals.rs:16:20: 16:26
--         _4 = &_1;                        // scope 1 at $DIR/simplify-locals.rs:16:20: 16:26
--         _3 = &(*_4);                     // scope 1 at $DIR/simplify-locals.rs:16:20: 16:26
--         _2 = move _3 as &[u8] (Pointer(Unsize)); // scope 1 at $DIR/simplify-locals.rs:16:20: 16:26
--         StorageDead(_3);                 // scope 1 at $DIR/simplify-locals.rs:16:25: 16:26
--         StorageDead(_4);                 // scope 1 at $DIR/simplify-locals.rs:16:26: 16:27
--         StorageDead(_2);                 // scope 1 at $DIR/simplify-locals.rs:16:26: 16:27
-          _0 = const ();                   // scope 0 at $DIR/simplify-locals.rs:13:8: 17:2
-          StorageDead(_1);                 // scope 0 at $DIR/simplify-locals.rs:17:1: 17:2
-          return;                          // scope 0 at $DIR/simplify-locals.rs:17:2: 17:2
+          StorageLive(_1);                 // scope 0 at $DIR/simplify-locals.rs:+1:9: +1:14
+          _1 = [const 0_u8; 10];           // scope 0 at $DIR/simplify-locals.rs:+1:17: +1:26
+-         StorageLive(_2);                 // scope 1 at $DIR/simplify-locals.rs:+3:20: +3:26
+-         StorageLive(_3);                 // scope 1 at $DIR/simplify-locals.rs:+3:20: +3:26
+-         StorageLive(_4);                 // scope 1 at $DIR/simplify-locals.rs:+3:20: +3:26
+-         _4 = &_1;                        // scope 1 at $DIR/simplify-locals.rs:+3:20: +3:26
+-         _3 = &(*_4);                     // scope 1 at $DIR/simplify-locals.rs:+3:20: +3:26
+-         _2 = move _3 as &[u8] (Pointer(Unsize)); // scope 1 at $DIR/simplify-locals.rs:+3:20: +3:26
+-         StorageDead(_3);                 // scope 1 at $DIR/simplify-locals.rs:+3:25: +3:26
+-         StorageDead(_4);                 // scope 1 at $DIR/simplify-locals.rs:+3:26: +3:27
+-         StorageDead(_2);                 // scope 1 at $DIR/simplify-locals.rs:+3:26: +3:27
+          _0 = const ();                   // scope 0 at $DIR/simplify-locals.rs:+0:8: +4:2
+          StorageDead(_1);                 // scope 0 at $DIR/simplify-locals.rs:+4:1: +4:2
+          return;                          // scope 0 at $DIR/simplify-locals.rs:+4:2: +4:2
       }
   }
   
index 3be73ecfcb812427fa0dffa600dee07274d558d1..a9ea8869a9698cefd6f1962c276f198b3d454c73 100644 (file)
@@ -2,18 +2,18 @@
 + // MIR for `d1` after SimplifyLocals
   
   fn d1() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/simplify-locals.rs:20:9: 20:9
--     let mut _1: E;                       // in scope 0 at $DIR/simplify-locals.rs:22:13: 22:17
+      let mut _0: ();                      // return place in scope 0 at $DIR/simplify-locals.rs:+0:9: +0:9
+-     let mut _1: E;                       // in scope 0 at $DIR/simplify-locals.rs:+2:13: +2:17
       scope 1 {
       }
   
       bb0: {
--         StorageLive(_1);                 // scope 0 at $DIR/simplify-locals.rs:22:13: 22:17
--         Deinit(_1);                      // scope 0 at $DIR/simplify-locals.rs:22:13: 22:17
--         discriminant(_1) = 0;            // scope 0 at $DIR/simplify-locals.rs:22:13: 22:17
--         StorageDead(_1);                 // scope 0 at $DIR/simplify-locals.rs:22:17: 22:18
-          _0 = const ();                   // scope 0 at $DIR/simplify-locals.rs:20:9: 23:2
-          return;                          // scope 0 at $DIR/simplify-locals.rs:23:2: 23:2
+-         StorageLive(_1);                 // scope 0 at $DIR/simplify-locals.rs:+2:13: +2:17
+-         Deinit(_1);                      // scope 0 at $DIR/simplify-locals.rs:+2:13: +2:17
+-         discriminant(_1) = 0;            // scope 0 at $DIR/simplify-locals.rs:+2:13: +2:17
+-         StorageDead(_1);                 // scope 0 at $DIR/simplify-locals.rs:+2:17: +2:18
+          _0 = const ();                   // scope 0 at $DIR/simplify-locals.rs:+0:9: +3:2
+          return;                          // scope 0 at $DIR/simplify-locals.rs:+3:2: +3:2
       }
   }
   
index 641f64fd9b7cd22b35fdaa211ad6f08890be6daf..6a89e45843b9bb7f422bc7dbeb43ddb81d7e8a33 100644 (file)
@@ -2,28 +2,28 @@
 + // MIR for `d2` after SimplifyLocals
   
   fn d2() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/simplify-locals.rs:26:9: 26:9
--     let mut _1: E;                       // in scope 0 at $DIR/simplify-locals.rs:28:22: 28:26
--     let mut _2: (i32, E);                // in scope 0 at $DIR/simplify-locals.rs:28:5: 28:17
--     let mut _3: E;                       // in scope 0 at $DIR/simplify-locals.rs:28:11: 28:15
+      let mut _0: ();                      // return place in scope 0 at $DIR/simplify-locals.rs:+0:9: +0:9
+-     let mut _1: E;                       // in scope 0 at $DIR/simplify-locals.rs:+2:22: +2:26
+-     let mut _2: (i32, E);                // in scope 0 at $DIR/simplify-locals.rs:+2:5: +2:17
+-     let mut _3: E;                       // in scope 0 at $DIR/simplify-locals.rs:+2:11: +2:15
   
       bb0: {
--         StorageLive(_1);                 // scope 0 at $DIR/simplify-locals.rs:28:22: 28:26
--         Deinit(_1);                      // scope 0 at $DIR/simplify-locals.rs:28:22: 28:26
--         discriminant(_1) = 1;            // scope 0 at $DIR/simplify-locals.rs:28:22: 28:26
--         StorageLive(_2);                 // scope 0 at $DIR/simplify-locals.rs:28:5: 28:17
--         StorageLive(_3);                 // scope 0 at $DIR/simplify-locals.rs:28:11: 28:15
--         Deinit(_3);                      // scope 0 at $DIR/simplify-locals.rs:28:11: 28:15
--         discriminant(_3) = 0;            // scope 0 at $DIR/simplify-locals.rs:28:11: 28:15
--         Deinit(_2);                      // scope 0 at $DIR/simplify-locals.rs:28:6: 28:16
--         (_2.0: i32) = const 10_i32;      // scope 0 at $DIR/simplify-locals.rs:28:6: 28:16
--         (_2.1: E) = move _3;             // scope 0 at $DIR/simplify-locals.rs:28:6: 28:16
--         StorageDead(_3);                 // scope 0 at $DIR/simplify-locals.rs:28:15: 28:16
--         (_2.1: E) = move _1;             // scope 0 at $DIR/simplify-locals.rs:28:5: 28:26
--         StorageDead(_1);                 // scope 0 at $DIR/simplify-locals.rs:28:25: 28:26
--         StorageDead(_2);                 // scope 0 at $DIR/simplify-locals.rs:28:26: 28:27
-          _0 = const ();                   // scope 0 at $DIR/simplify-locals.rs:26:9: 29:2
-          return;                          // scope 0 at $DIR/simplify-locals.rs:29:2: 29:2
+-         StorageLive(_1);                 // scope 0 at $DIR/simplify-locals.rs:+2:22: +2:26
+-         Deinit(_1);                      // scope 0 at $DIR/simplify-locals.rs:+2:22: +2:26
+-         discriminant(_1) = 1;            // scope 0 at $DIR/simplify-locals.rs:+2:22: +2:26
+-         StorageLive(_2);                 // scope 0 at $DIR/simplify-locals.rs:+2:5: +2:17
+-         StorageLive(_3);                 // scope 0 at $DIR/simplify-locals.rs:+2:11: +2:15
+-         Deinit(_3);                      // scope 0 at $DIR/simplify-locals.rs:+2:11: +2:15
+-         discriminant(_3) = 0;            // scope 0 at $DIR/simplify-locals.rs:+2:11: +2:15
+-         Deinit(_2);                      // scope 0 at $DIR/simplify-locals.rs:+2:6: +2:16
+-         (_2.0: i32) = const 10_i32;      // scope 0 at $DIR/simplify-locals.rs:+2:6: +2:16
+-         (_2.1: E) = move _3;             // scope 0 at $DIR/simplify-locals.rs:+2:6: +2:16
+-         StorageDead(_3);                 // scope 0 at $DIR/simplify-locals.rs:+2:15: +2:16
+-         (_2.1: E) = move _1;             // scope 0 at $DIR/simplify-locals.rs:+2:5: +2:26
+-         StorageDead(_1);                 // scope 0 at $DIR/simplify-locals.rs:+2:25: +2:26
+-         StorageDead(_2);                 // scope 0 at $DIR/simplify-locals.rs:+2:26: +2:27
+          _0 = const ();                   // scope 0 at $DIR/simplify-locals.rs:+0:9: +3:2
+          return;                          // scope 0 at $DIR/simplify-locals.rs:+3:2: +3:2
       }
   }
   
index 93d77ad40aa4b7e1acc3de814441149c6484d14c..204a1bffc81ab275dd715a7b5b60ec4947527b43 100644 (file)
@@ -2,20 +2,20 @@
 + // MIR for `expose_addr` after SimplifyLocals
   
   fn expose_addr(_1: *const usize) -> () {
-      debug p => _1;                       // in scope 0 at $DIR/simplify-locals.rs:66:16: 66:17
-      let mut _0: ();                      // return place in scope 0 at $DIR/simplify-locals.rs:66:33: 66:33
-      let _2: usize;                       // in scope 0 at $DIR/simplify-locals.rs:68:5: 68:15
-      let mut _3: *const usize;            // in scope 0 at $DIR/simplify-locals.rs:68:5: 68:6
+      debug p => _1;                       // in scope 0 at $DIR/simplify-locals.rs:+0:16: +0:17
+      let mut _0: ();                      // return place in scope 0 at $DIR/simplify-locals.rs:+0:33: +0:33
+      let _2: usize;                       // in scope 0 at $DIR/simplify-locals.rs:+2:5: +2:15
+      let mut _3: *const usize;            // in scope 0 at $DIR/simplify-locals.rs:+2:5: +2:6
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/simplify-locals.rs:68:5: 68:15
-          StorageLive(_3);                 // scope 0 at $DIR/simplify-locals.rs:68:5: 68:6
-          _3 = _1;                         // scope 0 at $DIR/simplify-locals.rs:68:5: 68:6
-          _2 = move _3 as usize (PointerExposeAddress); // scope 0 at $DIR/simplify-locals.rs:68:5: 68:15
-          StorageDead(_3);                 // scope 0 at $DIR/simplify-locals.rs:68:14: 68:15
-          StorageDead(_2);                 // scope 0 at $DIR/simplify-locals.rs:68:15: 68:16
-          _0 = const ();                   // scope 0 at $DIR/simplify-locals.rs:66:33: 69:2
-          return;                          // scope 0 at $DIR/simplify-locals.rs:69:2: 69:2
+          StorageLive(_2);                 // scope 0 at $DIR/simplify-locals.rs:+2:5: +2:15
+          StorageLive(_3);                 // scope 0 at $DIR/simplify-locals.rs:+2:5: +2:6
+          _3 = _1;                         // scope 0 at $DIR/simplify-locals.rs:+2:5: +2:6
+          _2 = move _3 as usize (PointerExposeAddress); // scope 0 at $DIR/simplify-locals.rs:+2:5: +2:15
+          StorageDead(_3);                 // scope 0 at $DIR/simplify-locals.rs:+2:14: +2:15
+          StorageDead(_2);                 // scope 0 at $DIR/simplify-locals.rs:+2:15: +2:16
+          _0 = const ();                   // scope 0 at $DIR/simplify-locals.rs:+0:33: +3:2
+          return;                          // scope 0 at $DIR/simplify-locals.rs:+3:2: +3:2
       }
   }
   
index 85cf398d316939650d99bb46100dad1cbc0ae696..329e2a65a0d0ff4c818c1d34f2c2b7d42df87107 100644 (file)
@@ -2,12 +2,12 @@
 + // MIR for `r` after SimplifyLocals
   
   fn r() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/simplify-locals.rs:32:8: 32:8
-      let mut _1: i32;                     // in scope 0 at $DIR/simplify-locals.rs:33:9: 33:14
--     let mut _2: &i32;                    // in scope 0 at $DIR/simplify-locals.rs:35:13: 35:15
--     let mut _3: &mut i32;                // in scope 0 at $DIR/simplify-locals.rs:36:13: 36:19
+      let mut _0: ();                      // return place in scope 0 at $DIR/simplify-locals.rs:+0:8: +0:8
+      let mut _1: i32;                     // in scope 0 at $DIR/simplify-locals.rs:+1:9: +1:14
+-     let mut _2: &i32;                    // in scope 0 at $DIR/simplify-locals.rs:+3:13: +3:15
+-     let mut _3: &mut i32;                // in scope 0 at $DIR/simplify-locals.rs:+4:13: +4:19
       scope 1 {
-          debug a => _1;                   // in scope 1 at $DIR/simplify-locals.rs:33:9: 33:14
+          debug a => _1;                   // in scope 1 at $DIR/simplify-locals.rs:+1:9: +1:14
           scope 2 {
               scope 3 {
               }
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/simplify-locals.rs:33:9: 33:14
-          _1 = const 1_i32;                // scope 0 at $DIR/simplify-locals.rs:33:17: 33:18
--         StorageLive(_2);                 // scope 1 at $DIR/simplify-locals.rs:35:13: 35:15
--         _2 = &_1;                        // scope 1 at $DIR/simplify-locals.rs:35:13: 35:15
--         StorageDead(_2);                 // scope 1 at $DIR/simplify-locals.rs:35:15: 35:16
--         StorageLive(_3);                 // scope 2 at $DIR/simplify-locals.rs:36:13: 36:19
--         _3 = &mut _1;                    // scope 2 at $DIR/simplify-locals.rs:36:13: 36:19
--         StorageDead(_3);                 // scope 2 at $DIR/simplify-locals.rs:36:19: 36:20
-          _0 = const ();                   // scope 0 at $DIR/simplify-locals.rs:32:8: 37:2
-          StorageDead(_1);                 // scope 0 at $DIR/simplify-locals.rs:37:1: 37:2
-          return;                          // scope 0 at $DIR/simplify-locals.rs:37:2: 37:2
+          StorageLive(_1);                 // scope 0 at $DIR/simplify-locals.rs:+1:9: +1:14
+          _1 = const 1_i32;                // scope 0 at $DIR/simplify-locals.rs:+1:17: +1:18
+-         StorageLive(_2);                 // scope 1 at $DIR/simplify-locals.rs:+3:13: +3:15
+-         _2 = &_1;                        // scope 1 at $DIR/simplify-locals.rs:+3:13: +3:15
+-         StorageDead(_2);                 // scope 1 at $DIR/simplify-locals.rs:+3:15: +3:16
+-         StorageLive(_3);                 // scope 2 at $DIR/simplify-locals.rs:+4:13: +4:19
+-         _3 = &mut _1;                    // scope 2 at $DIR/simplify-locals.rs:+4:13: +4:19
+-         StorageDead(_3);                 // scope 2 at $DIR/simplify-locals.rs:+4:19: +4:20
+          _0 = const ();                   // scope 0 at $DIR/simplify-locals.rs:+0:8: +5:2
+          StorageDead(_1);                 // scope 0 at $DIR/simplify-locals.rs:+5:1: +5:2
+          return;                          // scope 0 at $DIR/simplify-locals.rs:+5:2: +5:2
       }
   }
   
index 991a0721cca302bfaefebf1325988c555f1e2a50..b31156ad6977ecb064d6308fa8a51fa6da11e31f 100644 (file)
@@ -2,21 +2,21 @@
 + // MIR for `t1` after SimplifyLocals
   
   fn t1() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/simplify-locals.rs:42:9: 42:9
--     let _1: u32;                         // in scope 0 at $DIR/simplify-locals.rs:44:14: 44:15
--     let mut _2: *mut u32;                // in scope 0 at $DIR/simplify-locals.rs:44:14: 44:15
+      let mut _0: ();                      // return place in scope 0 at $DIR/simplify-locals.rs:+0:9: +0:9
+-     let _1: u32;                         // in scope 0 at $DIR/simplify-locals.rs:+2:14: +2:15
+-     let mut _2: *mut u32;                // in scope 0 at $DIR/simplify-locals.rs:+2:14: +2:15
       scope 1 {
       }
   
       bb0: {
--         StorageLive(_1);                 // scope 0 at $DIR/simplify-locals.rs:44:5: 44:17
--         StorageLive(_2);                 // scope 1 at $DIR/simplify-locals.rs:44:14: 44:15
--         _2 = &/*tls*/ mut X;             // scope 1 at $DIR/simplify-locals.rs:44:14: 44:15
--         _1 = (*_2);                      // scope 1 at $DIR/simplify-locals.rs:44:14: 44:15
--         StorageDead(_2);                 // scope 0 at $DIR/simplify-locals.rs:44:17: 44:18
--         StorageDead(_1);                 // scope 0 at $DIR/simplify-locals.rs:44:17: 44:18
-          _0 = const ();                   // scope 0 at $DIR/simplify-locals.rs:42:9: 45:2
-          return;                          // scope 0 at $DIR/simplify-locals.rs:45:2: 45:2
+-         StorageLive(_1);                 // scope 0 at $DIR/simplify-locals.rs:+2:5: +2:17
+-         StorageLive(_2);                 // scope 1 at $DIR/simplify-locals.rs:+2:14: +2:15
+-         _2 = &/*tls*/ mut X;             // scope 1 at $DIR/simplify-locals.rs:+2:14: +2:15
+-         _1 = (*_2);                      // scope 1 at $DIR/simplify-locals.rs:+2:14: +2:15
+-         StorageDead(_2);                 // scope 0 at $DIR/simplify-locals.rs:+2:17: +2:18
+-         StorageDead(_1);                 // scope 0 at $DIR/simplify-locals.rs:+2:17: +2:18
+          _0 = const ();                   // scope 0 at $DIR/simplify-locals.rs:+0:9: +3:2
+          return;                          // scope 0 at $DIR/simplify-locals.rs:+3:2: +3:2
       }
   }
   
index 6c9ed96e78ffe401f2668f3aec5f04d488a1112c..66b6d8d6486470a676a13e170b6b87407162a480 100644 (file)
@@ -2,21 +2,21 @@
 + // MIR for `t2` after SimplifyLocals
   
   fn t2() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/simplify-locals.rs:48:9: 48:9
--     let _1: &mut u32;                    // in scope 0 at $DIR/simplify-locals.rs:50:14: 50:20
--     let mut _2: *mut u32;                // in scope 0 at $DIR/simplify-locals.rs:50:19: 50:20
+      let mut _0: ();                      // return place in scope 0 at $DIR/simplify-locals.rs:+0:9: +0:9
+-     let _1: &mut u32;                    // in scope 0 at $DIR/simplify-locals.rs:+2:14: +2:20
+-     let mut _2: *mut u32;                // in scope 0 at $DIR/simplify-locals.rs:+2:19: +2:20
       scope 1 {
       }
   
       bb0: {
--         StorageLive(_1);                 // scope 0 at $DIR/simplify-locals.rs:50:5: 50:22
--         StorageLive(_2);                 // scope 1 at $DIR/simplify-locals.rs:50:19: 50:20
--         _2 = &/*tls*/ mut X;             // scope 1 at $DIR/simplify-locals.rs:50:19: 50:20
--         _1 = &mut (*_2);                 // scope 1 at $DIR/simplify-locals.rs:50:14: 50:20
--         StorageDead(_2);                 // scope 0 at $DIR/simplify-locals.rs:50:22: 50:23
--         StorageDead(_1);                 // scope 0 at $DIR/simplify-locals.rs:50:22: 50:23
-          _0 = const ();                   // scope 0 at $DIR/simplify-locals.rs:48:9: 51:2
-          return;                          // scope 0 at $DIR/simplify-locals.rs:51:2: 51:2
+-         StorageLive(_1);                 // scope 0 at $DIR/simplify-locals.rs:+2:5: +2:22
+-         StorageLive(_2);                 // scope 1 at $DIR/simplify-locals.rs:+2:19: +2:20
+-         _2 = &/*tls*/ mut X;             // scope 1 at $DIR/simplify-locals.rs:+2:19: +2:20
+-         _1 = &mut (*_2);                 // scope 1 at $DIR/simplify-locals.rs:+2:14: +2:20
+-         StorageDead(_2);                 // scope 0 at $DIR/simplify-locals.rs:+2:22: +2:23
+-         StorageDead(_1);                 // scope 0 at $DIR/simplify-locals.rs:+2:22: +2:23
+          _0 = const ();                   // scope 0 at $DIR/simplify-locals.rs:+0:9: +3:2
+          return;                          // scope 0 at $DIR/simplify-locals.rs:+3:2: +3:2
       }
   }
   
index 2d5fb352f8be3b013602ed76b175ff5e11a1d8a9..f6b6b78cdfbeb73ff32c2561a9c887b1e30b2f2b 100644 (file)
@@ -2,25 +2,25 @@
 + // MIR for `t3` after SimplifyLocals
   
   fn t3() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/simplify-locals.rs:54:9: 54:9
--     let _1: u32;                         // in scope 0 at $DIR/simplify-locals.rs:56:14: 56:21
--     let mut _2: &mut u32;                // in scope 0 at $DIR/simplify-locals.rs:56:15: 56:21
--     let mut _3: *mut u32;                // in scope 0 at $DIR/simplify-locals.rs:56:20: 56:21
+      let mut _0: ();                      // return place in scope 0 at $DIR/simplify-locals.rs:+0:9: +0:9
+-     let _1: u32;                         // in scope 0 at $DIR/simplify-locals.rs:+2:14: +2:21
+-     let mut _2: &mut u32;                // in scope 0 at $DIR/simplify-locals.rs:+2:15: +2:21
+-     let mut _3: *mut u32;                // in scope 0 at $DIR/simplify-locals.rs:+2:20: +2:21
       scope 1 {
       }
   
       bb0: {
--         StorageLive(_1);                 // scope 0 at $DIR/simplify-locals.rs:56:5: 56:23
--         StorageLive(_2);                 // scope 1 at $DIR/simplify-locals.rs:56:15: 56:21
--         StorageLive(_3);                 // scope 1 at $DIR/simplify-locals.rs:56:20: 56:21
--         _3 = &/*tls*/ mut X;             // scope 1 at $DIR/simplify-locals.rs:56:20: 56:21
--         _2 = &mut (*_3);                 // scope 1 at $DIR/simplify-locals.rs:56:15: 56:21
--         _1 = (*_2);                      // scope 1 at $DIR/simplify-locals.rs:56:14: 56:21
--         StorageDead(_3);                 // scope 0 at $DIR/simplify-locals.rs:56:23: 56:24
--         StorageDead(_2);                 // scope 0 at $DIR/simplify-locals.rs:56:23: 56:24
--         StorageDead(_1);                 // scope 0 at $DIR/simplify-locals.rs:56:23: 56:24
-          _0 = const ();                   // scope 0 at $DIR/simplify-locals.rs:54:9: 57:2
-          return;                          // scope 0 at $DIR/simplify-locals.rs:57:2: 57:2
+-         StorageLive(_1);                 // scope 0 at $DIR/simplify-locals.rs:+2:5: +2:23
+-         StorageLive(_2);                 // scope 1 at $DIR/simplify-locals.rs:+2:15: +2:21
+-         StorageLive(_3);                 // scope 1 at $DIR/simplify-locals.rs:+2:20: +2:21
+-         _3 = &/*tls*/ mut X;             // scope 1 at $DIR/simplify-locals.rs:+2:20: +2:21
+-         _2 = &mut (*_3);                 // scope 1 at $DIR/simplify-locals.rs:+2:15: +2:21
+-         _1 = (*_2);                      // scope 1 at $DIR/simplify-locals.rs:+2:14: +2:21
+-         StorageDead(_3);                 // scope 0 at $DIR/simplify-locals.rs:+2:23: +2:24
+-         StorageDead(_2);                 // scope 0 at $DIR/simplify-locals.rs:+2:23: +2:24
+-         StorageDead(_1);                 // scope 0 at $DIR/simplify-locals.rs:+2:23: +2:24
+          _0 = const ();                   // scope 0 at $DIR/simplify-locals.rs:+0:9: +3:2
+          return;                          // scope 0 at $DIR/simplify-locals.rs:+3:2: +3:2
       }
   }
   
index e0e9b3ef4062a68bca106a1e8a857111b4a47e23..1c1da29aa678f286fd0a2bd7027c72f4a4214116 100644 (file)
@@ -2,21 +2,21 @@
 + // MIR for `t4` after SimplifyLocals
   
   fn t4() -> u32 {
-      let mut _0: u32;                     // return place in scope 0 at $DIR/simplify-locals.rs:60:12: 60:15
-      let mut _1: u32;                     // in scope 0 at $DIR/simplify-locals.rs:62:14: 62:15
-      let mut _2: *mut u32;                // in scope 0 at $DIR/simplify-locals.rs:62:14: 62:15
+      let mut _0: u32;                     // return place in scope 0 at $DIR/simplify-locals.rs:+0:12: +0:15
+      let mut _1: u32;                     // in scope 0 at $DIR/simplify-locals.rs:+2:14: +2:15
+      let mut _2: *mut u32;                // in scope 0 at $DIR/simplify-locals.rs:+2:14: +2:15
       scope 1 {
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 1 at $DIR/simplify-locals.rs:62:14: 62:15
-          StorageLive(_2);                 // scope 1 at $DIR/simplify-locals.rs:62:14: 62:15
-          _2 = &/*tls*/ mut X;             // scope 1 at $DIR/simplify-locals.rs:62:14: 62:15
-          _1 = (*_2);                      // scope 1 at $DIR/simplify-locals.rs:62:14: 62:15
-          _0 = Add(move _1, const 1_u32);  // scope 1 at $DIR/simplify-locals.rs:62:14: 62:19
-          StorageDead(_1);                 // scope 1 at $DIR/simplify-locals.rs:62:18: 62:19
-          StorageDead(_2);                 // scope 0 at $DIR/simplify-locals.rs:63:1: 63:2
-          return;                          // scope 0 at $DIR/simplify-locals.rs:63:2: 63:2
+          StorageLive(_1);                 // scope 1 at $DIR/simplify-locals.rs:+2:14: +2:15
+          StorageLive(_2);                 // scope 1 at $DIR/simplify-locals.rs:+2:14: +2:15
+          _2 = &/*tls*/ mut X;             // scope 1 at $DIR/simplify-locals.rs:+2:14: +2:15
+          _1 = (*_2);                      // scope 1 at $DIR/simplify-locals.rs:+2:14: +2:15
+          _0 = Add(move _1, const 1_u32);  // scope 1 at $DIR/simplify-locals.rs:+2:14: +2:19
+          StorageDead(_1);                 // scope 1 at $DIR/simplify-locals.rs:+2:18: +2:19
+          StorageDead(_2);                 // scope 0 at $DIR/simplify-locals.rs:+3:1: +3:2
+          return;                          // scope 0 at $DIR/simplify-locals.rs:+3:2: +3:2
       }
   }
   
index 075fe8d090829176796098fa7d3510e9f679c3a2..ac7a47ba58f7be73763f3411f88c600b19d29f05 100644 (file)
@@ -2,61 +2,61 @@
 + // MIR for `foo` after SimplifyLocals
   
   fn foo() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/simplify-locals-fixedpoint.rs:3:13: 3:13
-      let mut _1: (std::option::Option<u8>, std::option::Option<T>); // in scope 0 at $DIR/simplify-locals-fixedpoint.rs:4:30: 4:69
-      let mut _2: std::option::Option<u8>; // in scope 0 at $DIR/simplify-locals-fixedpoint.rs:4:31: 4:49
-      let mut _3: std::option::Option<T>;  // in scope 0 at $DIR/simplify-locals-fixedpoint.rs:4:51: 4:68
-      let mut _4: isize;                   // in scope 0 at $DIR/simplify-locals-fixedpoint.rs:4:22: 4:26
-      let mut _5: isize;                   // in scope 0 at $DIR/simplify-locals-fixedpoint.rs:4:13: 4:20
--     let mut _7: bool;                    // in scope 0 at $DIR/simplify-locals-fixedpoint.rs:5:12: 5:20
--     let mut _8: u8;                      // in scope 0 at $DIR/simplify-locals-fixedpoint.rs:5:12: 5:13
+      let mut _0: ();                      // return place in scope 0 at $DIR/simplify-locals-fixedpoint.rs:+0:13: +0:13
+      let mut _1: (std::option::Option<u8>, std::option::Option<T>); // in scope 0 at $DIR/simplify-locals-fixedpoint.rs:+1:30: +1:69
+      let mut _2: std::option::Option<u8>; // in scope 0 at $DIR/simplify-locals-fixedpoint.rs:+1:31: +1:49
+      let mut _3: std::option::Option<T>;  // in scope 0 at $DIR/simplify-locals-fixedpoint.rs:+1:51: +1:68
+      let mut _4: isize;                   // in scope 0 at $DIR/simplify-locals-fixedpoint.rs:+1:22: +1:26
+      let mut _5: isize;                   // in scope 0 at $DIR/simplify-locals-fixedpoint.rs:+1:13: +1:20
+-     let mut _7: bool;                    // in scope 0 at $DIR/simplify-locals-fixedpoint.rs:+2:12: +2:20
+-     let mut _8: u8;                      // in scope 0 at $DIR/simplify-locals-fixedpoint.rs:+2:12: +2:13
       scope 1 {
-          debug a => _6;                   // in scope 1 at $DIR/simplify-locals-fixedpoint.rs:4:18: 4:19
-          let _6: u8;                      // in scope 1 at $DIR/simplify-locals-fixedpoint.rs:4:18: 4:19
+          debug a => _6;                   // in scope 1 at $DIR/simplify-locals-fixedpoint.rs:+1:18: +1:19
+          let _6: u8;                      // in scope 1 at $DIR/simplify-locals-fixedpoint.rs:+1:18: +1:19
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 1 at $DIR/simplify-locals-fixedpoint.rs:4:30: 4:69
-          StorageLive(_2);                 // scope 1 at $DIR/simplify-locals-fixedpoint.rs:4:31: 4:49
-          Deinit(_2);                      // scope 1 at $DIR/simplify-locals-fixedpoint.rs:4:31: 4:49
-          discriminant(_2) = 0;            // scope 1 at $DIR/simplify-locals-fixedpoint.rs:4:31: 4:49
-          StorageLive(_3);                 // scope 1 at $DIR/simplify-locals-fixedpoint.rs:4:51: 4:68
-          Deinit(_3);                      // scope 1 at $DIR/simplify-locals-fixedpoint.rs:4:51: 4:68
-          discriminant(_3) = 0;            // scope 1 at $DIR/simplify-locals-fixedpoint.rs:4:51: 4:68
-          Deinit(_1);                      // scope 1 at $DIR/simplify-locals-fixedpoint.rs:4:30: 4:69
-          (_1.0: std::option::Option<u8>) = move _2; // scope 1 at $DIR/simplify-locals-fixedpoint.rs:4:30: 4:69
-          (_1.1: std::option::Option<T>) = move _3; // scope 1 at $DIR/simplify-locals-fixedpoint.rs:4:30: 4:69
-          StorageDead(_3);                 // scope 1 at $DIR/simplify-locals-fixedpoint.rs:4:68: 4:69
-          StorageDead(_2);                 // scope 1 at $DIR/simplify-locals-fixedpoint.rs:4:68: 4:69
-          _5 = discriminant((_1.0: std::option::Option<u8>)); // scope 1 at $DIR/simplify-locals-fixedpoint.rs:4:12: 4:27
-          switchInt(move _5) -> [1_isize: bb1, otherwise: bb3]; // scope 1 at $DIR/simplify-locals-fixedpoint.rs:4:12: 4:27
+          StorageLive(_1);                 // scope 1 at $DIR/simplify-locals-fixedpoint.rs:+1:30: +1:69
+          StorageLive(_2);                 // scope 1 at $DIR/simplify-locals-fixedpoint.rs:+1:31: +1:49
+          Deinit(_2);                      // scope 1 at $DIR/simplify-locals-fixedpoint.rs:+1:31: +1:49
+          discriminant(_2) = 0;            // scope 1 at $DIR/simplify-locals-fixedpoint.rs:+1:31: +1:49
+          StorageLive(_3);                 // scope 1 at $DIR/simplify-locals-fixedpoint.rs:+1:51: +1:68
+          Deinit(_3);                      // scope 1 at $DIR/simplify-locals-fixedpoint.rs:+1:51: +1:68
+          discriminant(_3) = 0;            // scope 1 at $DIR/simplify-locals-fixedpoint.rs:+1:51: +1:68
+          Deinit(_1);                      // scope 1 at $DIR/simplify-locals-fixedpoint.rs:+1:30: +1:69
+          (_1.0: std::option::Option<u8>) = move _2; // scope 1 at $DIR/simplify-locals-fixedpoint.rs:+1:30: +1:69
+          (_1.1: std::option::Option<T>) = move _3; // scope 1 at $DIR/simplify-locals-fixedpoint.rs:+1:30: +1:69
+          StorageDead(_3);                 // scope 1 at $DIR/simplify-locals-fixedpoint.rs:+1:68: +1:69
+          StorageDead(_2);                 // scope 1 at $DIR/simplify-locals-fixedpoint.rs:+1:68: +1:69
+          _5 = discriminant((_1.0: std::option::Option<u8>)); // scope 1 at $DIR/simplify-locals-fixedpoint.rs:+1:12: +1:27
+          switchInt(move _5) -> [1_isize: bb1, otherwise: bb3]; // scope 1 at $DIR/simplify-locals-fixedpoint.rs:+1:12: +1:27
       }
   
       bb1: {
-          _4 = discriminant((_1.1: std::option::Option<T>)); // scope 1 at $DIR/simplify-locals-fixedpoint.rs:4:12: 4:27
-          switchInt(move _4) -> [0_isize: bb2, otherwise: bb3]; // scope 1 at $DIR/simplify-locals-fixedpoint.rs:4:12: 4:27
+          _4 = discriminant((_1.1: std::option::Option<T>)); // scope 1 at $DIR/simplify-locals-fixedpoint.rs:+1:12: +1:27
+          switchInt(move _4) -> [0_isize: bb2, otherwise: bb3]; // scope 1 at $DIR/simplify-locals-fixedpoint.rs:+1:12: +1:27
       }
   
       bb2: {
-          StorageLive(_6);                 // scope 1 at $DIR/simplify-locals-fixedpoint.rs:4:18: 4:19
-          _6 = (((_1.0: std::option::Option<u8>) as Some).0: u8); // scope 1 at $DIR/simplify-locals-fixedpoint.rs:4:18: 4:19
--         StorageLive(_7);                 // scope 1 at $DIR/simplify-locals-fixedpoint.rs:5:12: 5:20
--         StorageLive(_8);                 // scope 1 at $DIR/simplify-locals-fixedpoint.rs:5:12: 5:13
--         _8 = _6;                         // scope 1 at $DIR/simplify-locals-fixedpoint.rs:5:12: 5:13
--         _7 = Gt(move _8, const 42_u8);   // scope 1 at $DIR/simplify-locals-fixedpoint.rs:5:12: 5:20
--         StorageDead(_8);                 // scope 1 at $DIR/simplify-locals-fixedpoint.rs:5:19: 5:20
--         StorageDead(_7);                 // scope 1 at $DIR/simplify-locals-fixedpoint.rs:7:9: 7:10
-          StorageDead(_6);                 // scope 0 at $DIR/simplify-locals-fixedpoint.rs:8:5: 8:6
-          goto -> bb3;                     // scope 0 at $DIR/simplify-locals-fixedpoint.rs:4:5: 8:6
+          StorageLive(_6);                 // scope 1 at $DIR/simplify-locals-fixedpoint.rs:+1:18: +1:19
+          _6 = (((_1.0: std::option::Option<u8>) as Some).0: u8); // scope 1 at $DIR/simplify-locals-fixedpoint.rs:+1:18: +1:19
+-         StorageLive(_7);                 // scope 1 at $DIR/simplify-locals-fixedpoint.rs:+2:12: +2:20
+-         StorageLive(_8);                 // scope 1 at $DIR/simplify-locals-fixedpoint.rs:+2:12: +2:13
+-         _8 = _6;                         // scope 1 at $DIR/simplify-locals-fixedpoint.rs:+2:12: +2:13
+-         _7 = Gt(move _8, const 42_u8);   // scope 1 at $DIR/simplify-locals-fixedpoint.rs:+2:12: +2:20
+-         StorageDead(_8);                 // scope 1 at $DIR/simplify-locals-fixedpoint.rs:+2:19: +2:20
+-         StorageDead(_7);                 // scope 1 at $DIR/simplify-locals-fixedpoint.rs:+4:9: +4:10
+          StorageDead(_6);                 // scope 0 at $DIR/simplify-locals-fixedpoint.rs:+5:5: +5:6
+          goto -> bb3;                     // scope 0 at $DIR/simplify-locals-fixedpoint.rs:+1:5: +5:6
       }
   
       bb3: {
-          drop(_1) -> bb4;                 // scope 0 at $DIR/simplify-locals-fixedpoint.rs:9:1: 9:2
+          drop(_1) -> bb4;                 // scope 0 at $DIR/simplify-locals-fixedpoint.rs:+6:1: +6:2
       }
   
       bb4: {
-          StorageDead(_1);                 // scope 0 at $DIR/simplify-locals-fixedpoint.rs:9:1: 9:2
-          return;                          // scope 0 at $DIR/simplify-locals-fixedpoint.rs:9:2: 9:2
+          StorageDead(_1);                 // scope 0 at $DIR/simplify-locals-fixedpoint.rs:+6:1: +6:2
+          return;                          // scope 0 at $DIR/simplify-locals-fixedpoint.rs:+6:2: +6:2
       }
   }
   
index f4f1b9d4eb87e564a761df6cc590ce56fc00058f..da2f6fc440aa26464051cc9a82c6b509050d7269 100644 (file)
@@ -2,70 +2,70 @@
 + // MIR for `main` after SimplifyLocals
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:12:11: 12:11
--     let mut _1: ((), ());                // in scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:13:20: 13:28
--     let mut _2: ();                      // in scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:13:21: 13:23
--     let mut _3: ();                      // in scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:13:25: 13:27
--     let _4: ();                          // in scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:14:5: 14:22
--     let mut _5: ((), ());                // in scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:14:13: 14:21
--     let mut _6: ();                      // in scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:14:14: 14:16
--     let mut _7: ();                      // in scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:14:18: 14:20
--     let _8: ();                          // in scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:16:5: 16:35
--     let mut _9: u8;                      // in scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:16:12: 16:34
--     let mut _10: u8;                     // in scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:16:12: 16:30
--     let mut _11: Temp;                   // in scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:16:12: 16:28
-+     let _1: ();                          // in scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:14:5: 14:22
-+     let mut _2: ((), ());                // in scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:14:13: 14:21
-+     let _3: ();                          // in scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:16:5: 16:35
+      let mut _0: ();                      // return place in scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:+0:11: +0:11
+-     let mut _1: ((), ());                // in scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:+1:20: +1:28
+-     let mut _2: ();                      // in scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:+1:21: +1:23
+-     let mut _3: ();                      // in scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:+1:25: +1:27
+-     let _4: ();                          // in scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:+2:5: +2:22
+-     let mut _5: ((), ());                // in scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:+2:13: +2:21
+-     let mut _6: ();                      // in scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:+2:14: +2:16
+-     let mut _7: ();                      // in scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:+2:18: +2:20
+-     let _8: ();                          // in scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:+4:5: +4:35
+-     let mut _9: u8;                      // in scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:+4:12: +4:34
+-     let mut _10: u8;                     // in scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:+4:12: +4:30
+-     let mut _11: Temp;                   // in scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:+4:12: +4:28
++     let _1: ();                          // in scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:+2:5: +2:22
++     let mut _2: ((), ());                // in scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:+2:13: +2:21
++     let _3: ();                          // in scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:+4:5: +4:35
       scope 1 {
       }
   
       bb0: {
--         StorageLive(_1);                 // scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:13:20: 13:28
--         StorageLive(_2);                 // scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:13:21: 13:23
--         StorageLive(_3);                 // scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:13:25: 13:27
--         StorageDead(_3);                 // scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:13:27: 13:28
--         StorageDead(_2);                 // scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:13:27: 13:28
--         StorageDead(_1);                 // scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:13:28: 13:29
--         StorageLive(_4);                 // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:14:5: 14:22
--         StorageLive(_5);                 // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:14:13: 14:21
--         StorageLive(_6);                 // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:14:14: 14:16
--         StorageLive(_7);                 // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:14:18: 14:20
--         StorageDead(_7);                 // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:14:20: 14:21
--         StorageDead(_6);                 // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:14:20: 14:21
--         _4 = use_zst(move _5) -> bb1;    // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:14:5: 14:22
-+         StorageLive(_1);                 // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:14:5: 14:22
-+         StorageLive(_2);                 // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:14:13: 14:21
-+         _1 = use_zst(move _2) -> bb1;    // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:14:5: 14:22
+-         StorageLive(_1);                 // scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:+1:20: +1:28
+-         StorageLive(_2);                 // scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:+1:21: +1:23
+-         StorageLive(_3);                 // scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:+1:25: +1:27
+-         StorageDead(_3);                 // scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:+1:27: +1:28
+-         StorageDead(_2);                 // scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:+1:27: +1:28
+-         StorageDead(_1);                 // scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:+1:28: +1:29
+-         StorageLive(_4);                 // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:+2:5: +2:22
+-         StorageLive(_5);                 // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:+2:13: +2:21
+-         StorageLive(_6);                 // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:+2:14: +2:16
+-         StorageLive(_7);                 // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:+2:18: +2:20
+-         StorageDead(_7);                 // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:+2:20: +2:21
+-         StorageDead(_6);                 // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:+2:20: +2:21
+-         _4 = use_zst(move _5) -> bb1;    // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:+2:5: +2:22
++         StorageLive(_1);                 // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:+2:5: +2:22
++         StorageLive(_2);                 // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:+2:13: +2:21
++         _1 = use_zst(move _2) -> bb1;    // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:+2:5: +2:22
                                            // mir::Constant
                                            // + span: $DIR/simplify-locals-removes-unused-consts.rs:14:5: 14:12
                                            // + literal: Const { ty: fn(((), ())) {use_zst}, val: Value(<ZST>) }
       }
   
       bb1: {
--         StorageDead(_5);                 // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:14:21: 14:22
--         StorageDead(_4);                 // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:14:22: 14:23
--         StorageLive(_8);                 // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:16:5: 16:35
--         StorageLive(_9);                 // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:16:12: 16:34
--         StorageLive(_10);                // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:16:12: 16:30
--         StorageLive(_11);                // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:16:12: 16:28
--         StorageDead(_10);                // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:16:33: 16:34
--         _8 = use_u8(const 42_u8) -> bb2; // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:16:5: 16:35
-+         StorageDead(_2);                 // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:14:21: 14:22
-+         StorageDead(_1);                 // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:14:22: 14:23
-+         StorageLive(_3);                 // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:16:5: 16:35
-+         _3 = use_u8(const 42_u8) -> bb2; // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:16:5: 16:35
+-         StorageDead(_5);                 // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:+2:21: +2:22
+-         StorageDead(_4);                 // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:+2:22: +2:23
+-         StorageLive(_8);                 // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:+4:5: +4:35
+-         StorageLive(_9);                 // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:+4:12: +4:34
+-         StorageLive(_10);                // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:+4:12: +4:30
+-         StorageLive(_11);                // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:+4:12: +4:28
+-         StorageDead(_10);                // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:+4:33: +4:34
+-         _8 = use_u8(const 42_u8) -> bb2; // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:+4:5: +4:35
++         StorageDead(_2);                 // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:+2:21: +2:22
++         StorageDead(_1);                 // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:+2:22: +2:23
++         StorageLive(_3);                 // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:+4:5: +4:35
++         _3 = use_u8(const 42_u8) -> bb2; // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:+4:5: +4:35
                                            // mir::Constant
                                            // + span: $DIR/simplify-locals-removes-unused-consts.rs:16:5: 16:11
                                            // + literal: Const { ty: fn(u8) {use_u8}, val: Value(<ZST>) }
       }
   
       bb2: {
--         StorageDead(_9);                 // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:16:34: 16:35
--         StorageDead(_11);                // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:16:35: 16:36
--         StorageDead(_8);                 // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:16:35: 16:36
-+         StorageDead(_3);                 // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:16:35: 16:36
-          return;                          // scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:17:2: 17:2
+-         StorageDead(_9);                 // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:+4:34: +4:35
+-         StorageDead(_11);                // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:+4:35: +4:36
+-         StorageDead(_8);                 // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:+4:35: +4:36
++         StorageDead(_3);                 // scope 1 at $DIR/simplify-locals-removes-unused-consts.rs:+4:35: +4:36
+          return;                          // scope 0 at $DIR/simplify-locals-removes-unused-consts.rs:+5:2: +5:2
       }
   }
   
index fc1726f98cb1de6ad495794a5725c6dfda364df9..c6895fa41bf65270facddfef44c9dc7af350756b 100644 (file)
@@ -2,38 +2,38 @@
 + // MIR for `map` after SimplifyLocals
   
   fn map(_1: Option<Box<()>>) -> Option<Box<()>> {
-      debug x => _1;                       // in scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:3:8: 3:9
-      let mut _0: std::option::Option<std::boxed::Box<()>>; // return place in scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:3:31: 3:46
-      let mut _2: isize;                   // in scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:5:9: 5:13
--     let _3: std::boxed::Box<()>;         // in scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:6:14: 6:15
--     let mut _4: std::boxed::Box<()>;     // in scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:6:25: 6:26
--     let mut _5: bool;                    // in scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:8:1: 8:2
--     let mut _6: isize;                   // in scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:8:1: 8:2
--     let mut _7: isize;                   // in scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:8:1: 8:2
+      debug x => _1;                       // in scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:+0:8: +0:9
+      let mut _0: std::option::Option<std::boxed::Box<()>>; // return place in scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:+0:31: +0:46
+      let mut _2: isize;                   // in scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:+2:9: +2:13
+-     let _3: std::boxed::Box<()>;         // in scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:+3:14: +3:15
+-     let mut _4: std::boxed::Box<()>;     // in scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:+3:25: +3:26
+-     let mut _5: bool;                    // in scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:+5:1: +5:2
+-     let mut _6: isize;                   // in scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:+5:1: +5:2
+-     let mut _7: isize;                   // in scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:+5:1: +5:2
       scope 1 {
-          debug x => ((_0 as Some).0: std::boxed::Box<()>); // in scope 1 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:6:14: 6:15
+          debug x => ((_0 as Some).0: std::boxed::Box<()>); // in scope 1 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:+3:14: +3:15
       }
   
       bb0: {
-          _2 = discriminant(_1);           // scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:4:11: 4:12
-          switchInt(move _2) -> [0_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:4:5: 4:12
+          _2 = discriminant(_1);           // scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:+1:11: +1:12
+          switchInt(move _2) -> [0_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:+1:5: +1:12
       }
   
       bb1: {
-          ((_0 as Some).0: std::boxed::Box<()>) = move ((_1 as Some).0: std::boxed::Box<()>); // scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:6:14: 6:15
-          Deinit(_0);                      // scope 1 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:6:20: 6:27
-          discriminant(_0) = 1;            // scope 1 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:6:20: 6:27
-          goto -> bb3;                     // scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:6:26: 6:27
+          ((_0 as Some).0: std::boxed::Box<()>) = move ((_1 as Some).0: std::boxed::Box<()>); // scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:+3:14: +3:15
+          Deinit(_0);                      // scope 1 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:+3:20: +3:27
+          discriminant(_0) = 1;            // scope 1 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:+3:20: +3:27
+          goto -> bb3;                     // scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:+3:26: +3:27
       }
   
       bb2: {
-          Deinit(_0);                      // scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:5:17: 5:21
-          discriminant(_0) = 0;            // scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:5:17: 5:21
-          goto -> bb3;                     // scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:5:17: 5:21
+          Deinit(_0);                      // scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:+2:17: +2:21
+          discriminant(_0) = 0;            // scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:+2:17: +2:21
+          goto -> bb3;                     // scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:+2:17: +2:21
       }
   
       bb3: {
-          return;                          // scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:8:2: 8:2
+          return;                          // scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:+5:2: +5:2
       }
   }
   
index fc1726f98cb1de6ad495794a5725c6dfda364df9..c6895fa41bf65270facddfef44c9dc7af350756b 100644 (file)
@@ -2,38 +2,38 @@
 + // MIR for `map` after SimplifyLocals
   
   fn map(_1: Option<Box<()>>) -> Option<Box<()>> {
-      debug x => _1;                       // in scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:3:8: 3:9
-      let mut _0: std::option::Option<std::boxed::Box<()>>; // return place in scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:3:31: 3:46
-      let mut _2: isize;                   // in scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:5:9: 5:13
--     let _3: std::boxed::Box<()>;         // in scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:6:14: 6:15
--     let mut _4: std::boxed::Box<()>;     // in scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:6:25: 6:26
--     let mut _5: bool;                    // in scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:8:1: 8:2
--     let mut _6: isize;                   // in scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:8:1: 8:2
--     let mut _7: isize;                   // in scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:8:1: 8:2
+      debug x => _1;                       // in scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:+0:8: +0:9
+      let mut _0: std::option::Option<std::boxed::Box<()>>; // return place in scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:+0:31: +0:46
+      let mut _2: isize;                   // in scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:+2:9: +2:13
+-     let _3: std::boxed::Box<()>;         // in scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:+3:14: +3:15
+-     let mut _4: std::boxed::Box<()>;     // in scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:+3:25: +3:26
+-     let mut _5: bool;                    // in scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:+5:1: +5:2
+-     let mut _6: isize;                   // in scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:+5:1: +5:2
+-     let mut _7: isize;                   // in scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:+5:1: +5:2
       scope 1 {
-          debug x => ((_0 as Some).0: std::boxed::Box<()>); // in scope 1 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:6:14: 6:15
+          debug x => ((_0 as Some).0: std::boxed::Box<()>); // in scope 1 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:+3:14: +3:15
       }
   
       bb0: {
-          _2 = discriminant(_1);           // scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:4:11: 4:12
-          switchInt(move _2) -> [0_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:4:5: 4:12
+          _2 = discriminant(_1);           // scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:+1:11: +1:12
+          switchInt(move _2) -> [0_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:+1:5: +1:12
       }
   
       bb1: {
-          ((_0 as Some).0: std::boxed::Box<()>) = move ((_1 as Some).0: std::boxed::Box<()>); // scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:6:14: 6:15
-          Deinit(_0);                      // scope 1 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:6:20: 6:27
-          discriminant(_0) = 1;            // scope 1 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:6:20: 6:27
-          goto -> bb3;                     // scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:6:26: 6:27
+          ((_0 as Some).0: std::boxed::Box<()>) = move ((_1 as Some).0: std::boxed::Box<()>); // scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:+3:14: +3:15
+          Deinit(_0);                      // scope 1 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:+3:20: +3:27
+          discriminant(_0) = 1;            // scope 1 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:+3:20: +3:27
+          goto -> bb3;                     // scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:+3:26: +3:27
       }
   
       bb2: {
-          Deinit(_0);                      // scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:5:17: 5:21
-          discriminant(_0) = 0;            // scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:5:17: 5:21
-          goto -> bb3;                     // scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:5:17: 5:21
+          Deinit(_0);                      // scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:+2:17: +2:21
+          discriminant(_0) = 0;            // scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:+2:17: +2:21
+          goto -> bb3;                     // scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:+2:17: +2:21
       }
   
       bb3: {
-          return;                          // scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:8:2: 8:2
+          return;                          // scope 0 at $DIR/simplify-locals-removes-unused-discriminant-reads.rs:+5:2: +5:2
       }
   }
   
index 6314abe6f39db7a6297f8d5496cdf31656d94b2f..e4f9a4c12d9cb43a0a2f3bd0b0aeb54138ce31d2 100644 (file)
@@ -2,39 +2,39 @@
 + // MIR for `main` after ConstProp
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/simplify_match.rs:5:11: 5:11
-      let mut _1: bool;                    // in scope 0 at $DIR/simplify_match.rs:6:11: 6:31
-      let _2: bool;                        // in scope 0 at $DIR/simplify_match.rs:6:17: 6:18
+      let mut _0: ();                      // return place in scope 0 at $DIR/simplify_match.rs:+0:11: +0:11
+      let mut _1: bool;                    // in scope 0 at $DIR/simplify_match.rs:+1:11: +1:31
+      let _2: bool;                        // in scope 0 at $DIR/simplify_match.rs:+1:17: +1:18
       scope 1 {
-          debug x => _2;                   // in scope 1 at $DIR/simplify_match.rs:6:17: 6:18
+          debug x => _2;                   // in scope 1 at $DIR/simplify_match.rs:+1:17: +1:18
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/simplify_match.rs:6:11: 6:31
-          StorageLive(_2);                 // scope 0 at $DIR/simplify_match.rs:6:17: 6:18
-          _2 = const false;                // scope 0 at $DIR/simplify_match.rs:6:21: 6:26
--         _1 = _2;                         // scope 1 at $DIR/simplify_match.rs:6:28: 6:29
-+         _1 = const false;                // scope 1 at $DIR/simplify_match.rs:6:28: 6:29
-          StorageDead(_2);                 // scope 0 at $DIR/simplify_match.rs:6:30: 6:31
--         switchInt(_1) -> [false: bb1, otherwise: bb2]; // scope 0 at $DIR/simplify_match.rs:6:5: 6:31
-+         switchInt(const false) -> [false: bb1, otherwise: bb2]; // scope 0 at $DIR/simplify_match.rs:6:5: 6:31
+          StorageLive(_1);                 // scope 0 at $DIR/simplify_match.rs:+1:11: +1:31
+          StorageLive(_2);                 // scope 0 at $DIR/simplify_match.rs:+1:17: +1:18
+          _2 = const false;                // scope 0 at $DIR/simplify_match.rs:+1:21: +1:26
+-         _1 = _2;                         // scope 1 at $DIR/simplify_match.rs:+1:28: +1:29
++         _1 = const false;                // scope 1 at $DIR/simplify_match.rs:+1:28: +1:29
+          StorageDead(_2);                 // scope 0 at $DIR/simplify_match.rs:+1:30: +1:31
+-         switchInt(_1) -> [false: bb1, otherwise: bb2]; // scope 0 at $DIR/simplify_match.rs:+1:5: +1:31
++         switchInt(const false) -> [false: bb1, otherwise: bb2]; // scope 0 at $DIR/simplify_match.rs:+1:5: +1:31
       }
   
       bb1: {
-          nop;                             // scope 0 at $DIR/simplify_match.rs:8:18: 8:20
-          goto -> bb3;                     // scope 0 at $DIR/simplify_match.rs:8:18: 8:20
+          nop;                             // scope 0 at $DIR/simplify_match.rs:+3:18: +3:20
+          goto -> bb3;                     // scope 0 at $DIR/simplify_match.rs:+3:18: +3:20
       }
   
       bb2: {
-          _0 = noop() -> bb3;              // scope 0 at $DIR/simplify_match.rs:7:17: 7:23
+          _0 = noop() -> bb3;              // scope 0 at $DIR/simplify_match.rs:+2:17: +2:23
                                            // mir::Constant
                                            // + span: $DIR/simplify_match.rs:7:17: 7:21
                                            // + literal: Const { ty: fn() {noop}, val: Value(<ZST>) }
       }
   
       bb3: {
-          StorageDead(_1);                 // scope 0 at $DIR/simplify_match.rs:10:1: 10:2
-          return;                          // scope 0 at $DIR/simplify_match.rs:10:2: 10:2
+          StorageDead(_1);                 // scope 0 at $DIR/simplify_match.rs:+5:1: +5:2
+          return;                          // scope 0 at $DIR/simplify_match.rs:+5:2: +5:2
       }
   }
   
index 15de0839c22fa8bb55777af9fe59e4e83bde0dd1..d81d23c1c4c1e53dba1b7b139b61fba8b4c7e82e 100644 (file)
 + // MIR for `try_identity` after DestinationPropagation
   
   fn try_identity(_1: Result<u32, i32>) -> Result<u32, i32> {
-      debug x => _1;                       // in scope 0 at $DIR/simplify_try.rs:20:17: 20:18
-      let mut _0: std::result::Result<u32, i32>; // return place in scope 0 at $DIR/simplify_try.rs:20:41: 20:57
-      let _2: u32;                         // in scope 0 at $DIR/simplify_try.rs:21:9: 21:10
-      let mut _3: std::result::Result<u32, i32>; // in scope 0 at $DIR/simplify_try.rs:21:19: 21:33
-      let mut _4: std::result::Result<u32, i32>; // in scope 0 at $DIR/simplify_try.rs:21:31: 21:32
-      let mut _5: isize;                   // in scope 0 at $DIR/simplify_try.rs:22:9: 22:15
-      let _6: i32;                         // in scope 0 at $DIR/simplify_try.rs:22:13: 22:14
-      let mut _7: !;                       // in scope 0 at $DIR/simplify_try.rs:22:19: 22:51
-      let mut _8: i32;                     // in scope 0 at $DIR/simplify_try.rs:22:37: 22:50
-      let mut _9: i32;                     // in scope 0 at $DIR/simplify_try.rs:22:48: 22:49
-      let _10: u32;                        // in scope 0 at $DIR/simplify_try.rs:23:12: 23:13
-      let mut _11: u32;                    // in scope 0 at $DIR/simplify_try.rs:25:8: 25:9
+      debug x => _1;                       // in scope 0 at $DIR/simplify_try.rs:+0:17: +0:18
+      let mut _0: std::result::Result<u32, i32>; // return place in scope 0 at $DIR/simplify_try.rs:+0:41: +0:57
+      let _2: u32;                         // in scope 0 at $DIR/simplify_try.rs:+1:9: +1:10
+      let mut _3: std::result::Result<u32, i32>; // in scope 0 at $DIR/simplify_try.rs:+1:19: +1:33
+      let mut _4: std::result::Result<u32, i32>; // in scope 0 at $DIR/simplify_try.rs:+1:31: +1:32
+      let mut _5: isize;                   // in scope 0 at $DIR/simplify_try.rs:+2:9: +2:15
+      let _6: i32;                         // in scope 0 at $DIR/simplify_try.rs:+2:13: +2:14
+      let mut _7: !;                       // in scope 0 at $DIR/simplify_try.rs:+2:19: +2:51
+      let mut _8: i32;                     // in scope 0 at $DIR/simplify_try.rs:+2:37: +2:50
+      let mut _9: i32;                     // in scope 0 at $DIR/simplify_try.rs:+2:48: +2:49
+      let _10: u32;                        // in scope 0 at $DIR/simplify_try.rs:+3:12: +3:13
+      let mut _11: u32;                    // in scope 0 at $DIR/simplify_try.rs:+5:8: +5:9
       scope 1 {
--         debug y => _2;                   // in scope 1 at $DIR/simplify_try.rs:21:9: 21:10
-+         debug y => ((_0 as Ok).0: u32);  // in scope 1 at $DIR/simplify_try.rs:21:9: 21:10
+-         debug y => _2;                   // in scope 1 at $DIR/simplify_try.rs:+1:9: +1:10
++         debug y => ((_0 as Ok).0: u32);  // in scope 1 at $DIR/simplify_try.rs:+1:9: +1:10
       }
       scope 2 {
-          debug e => _6;                   // in scope 2 at $DIR/simplify_try.rs:22:13: 22:14
+          debug e => _6;                   // in scope 2 at $DIR/simplify_try.rs:+2:13: +2:14
           scope 5 (inlined <i32 as From<i32>>::from) { // at $DIR/simplify_try.rs:22:37: 22:50
               debug t => _9;               // in scope 5 at $SRC_DIR/core/src/convert/mod.rs:LL:COL
           }
           scope 6 (inlined from_error::<u32, i32>) { // at $DIR/simplify_try.rs:22:26: 22:51
-              debug e => _8;               // in scope 6 at $DIR/simplify_try.rs:12:21: 12:22
+              debug e => _8;               // in scope 6 at $DIR/simplify_try.rs:+0:21: +0:22
           }
       }
       scope 3 {
--         debug v => _10;                  // in scope 3 at $DIR/simplify_try.rs:23:12: 23:13
-+         debug v => ((_0 as Ok).0: u32);  // in scope 3 at $DIR/simplify_try.rs:23:12: 23:13
+-         debug v => _10;                  // in scope 3 at $DIR/simplify_try.rs:+3:12: +3:13
++         debug v => ((_0 as Ok).0: u32);  // in scope 3 at $DIR/simplify_try.rs:+3:12: +3:13
       }
       scope 4 (inlined into_result::<u32, i32>) { // at $DIR/simplify_try.rs:21:19: 21:33
--         debug r => _4;                   // in scope 4 at $DIR/simplify_try.rs:8:22: 8:23
-+         debug r => _3;                   // in scope 4 at $DIR/simplify_try.rs:8:22: 8:23
+-         debug r => _4;                   // in scope 4 at $DIR/simplify_try.rs:+0:22: +0:23
++         debug r => _3;                   // in scope 4 at $DIR/simplify_try.rs:+0:22: +0:23
       }
   
       bb0: {
--         StorageLive(_2);                 // scope 0 at $DIR/simplify_try.rs:21:9: 21:10
--         StorageLive(_3);                 // scope 0 at $DIR/simplify_try.rs:21:19: 21:33
--         StorageLive(_4);                 // scope 0 at $DIR/simplify_try.rs:21:31: 21:32
--         _4 = _1;                         // scope 0 at $DIR/simplify_try.rs:21:31: 21:32
--         _3 = move _4;                    // scope 4 at $DIR/simplify_try.rs:9:5: 9:6
--         StorageDead(_4);                 // scope 0 at $DIR/simplify_try.rs:21:32: 21:33
-+         nop;                             // scope 0 at $DIR/simplify_try.rs:21:9: 21:10
-+         nop;                             // scope 0 at $DIR/simplify_try.rs:21:19: 21:33
-+         nop;                             // scope 0 at $DIR/simplify_try.rs:21:31: 21:32
-+         _3 = _1;                         // scope 0 at $DIR/simplify_try.rs:21:31: 21:32
-+         nop;                             // scope 4 at $DIR/simplify_try.rs:9:5: 9:6
-+         nop;                             // scope 0 at $DIR/simplify_try.rs:21:32: 21:33
-          _5 = discriminant(_3);           // scope 0 at $DIR/simplify_try.rs:21:19: 21:33
-          switchInt(move _5) -> [0_isize: bb1, otherwise: bb2]; // scope 0 at $DIR/simplify_try.rs:21:13: 21:33
+-         StorageLive(_2);                 // scope 0 at $DIR/simplify_try.rs:+1:9: +1:10
+-         StorageLive(_3);                 // scope 0 at $DIR/simplify_try.rs:+1:19: +1:33
+-         StorageLive(_4);                 // scope 0 at $DIR/simplify_try.rs:+1:31: +1:32
+-         _4 = _1;                         // scope 0 at $DIR/simplify_try.rs:+1:31: +1:32
+-         _3 = move _4;                    // scope 4 at $DIR/simplify_try.rs:+0:5: +0:6
+-         StorageDead(_4);                 // scope 0 at $DIR/simplify_try.rs:+1:32: +1:33
++         nop;                             // scope 0 at $DIR/simplify_try.rs:+1:9: +1:10
++         nop;                             // scope 0 at $DIR/simplify_try.rs:+1:19: +1:33
++         nop;                             // scope 0 at $DIR/simplify_try.rs:+1:31: +1:32
++         _3 = _1;                         // scope 0 at $DIR/simplify_try.rs:+1:31: +1:32
++         nop;                             // scope 4 at $DIR/simplify_try.rs:+0:5: +0:6
++         nop;                             // scope 0 at $DIR/simplify_try.rs:+1:32: +1:33
+          _5 = discriminant(_3);           // scope 0 at $DIR/simplify_try.rs:+1:19: +1:33
+          switchInt(move _5) -> [0_isize: bb1, otherwise: bb2]; // scope 0 at $DIR/simplify_try.rs:+1:13: +1:33
       }
   
       bb1: {
--         StorageLive(_10);                // scope 0 at $DIR/simplify_try.rs:23:12: 23:13
--         _10 = ((_3 as Ok).0: u32);       // scope 0 at $DIR/simplify_try.rs:23:12: 23:13
--         _2 = _10;                        // scope 3 at $DIR/simplify_try.rs:23:18: 23:19
--         StorageDead(_10);                // scope 0 at $DIR/simplify_try.rs:23:18: 23:19
--         StorageDead(_3);                 // scope 0 at $DIR/simplify_try.rs:24:6: 24:7
--         StorageLive(_11);                // scope 1 at $DIR/simplify_try.rs:25:8: 25:9
--         _11 = _2;                        // scope 1 at $DIR/simplify_try.rs:25:8: 25:9
-+         nop;                             // scope 0 at $DIR/simplify_try.rs:23:12: 23:13
-+         ((_0 as Ok).0: u32) = ((_3 as Ok).0: u32); // scope 0 at $DIR/simplify_try.rs:23:12: 23:13
-+         nop;                             // scope 3 at $DIR/simplify_try.rs:23:18: 23:19
-+         nop;                             // scope 0 at $DIR/simplify_try.rs:23:18: 23:19
-+         nop;                             // scope 0 at $DIR/simplify_try.rs:24:6: 24:7
-+         nop;                             // scope 1 at $DIR/simplify_try.rs:25:8: 25:9
-+         nop;                             // scope 1 at $DIR/simplify_try.rs:25:8: 25:9
-          Deinit(_0);                      // scope 1 at $DIR/simplify_try.rs:25:5: 25:10
--         ((_0 as Ok).0: u32) = move _11;  // scope 1 at $DIR/simplify_try.rs:25:5: 25:10
-+         nop;                             // scope 1 at $DIR/simplify_try.rs:25:5: 25:10
-          discriminant(_0) = 0;            // scope 1 at $DIR/simplify_try.rs:25:5: 25:10
--         StorageDead(_11);                // scope 1 at $DIR/simplify_try.rs:25:9: 25:10
--         StorageDead(_2);                 // scope 0 at $DIR/simplify_try.rs:26:1: 26:2
-+         nop;                             // scope 1 at $DIR/simplify_try.rs:25:9: 25:10
-+         nop;                             // scope 0 at $DIR/simplify_try.rs:26:1: 26:2
-          return;                          // scope 0 at $DIR/simplify_try.rs:26:2: 26:2
+-         StorageLive(_10);                // scope 0 at $DIR/simplify_try.rs:+3:12: +3:13
+-         _10 = ((_3 as Ok).0: u32);       // scope 0 at $DIR/simplify_try.rs:+3:12: +3:13
+-         _2 = _10;                        // scope 3 at $DIR/simplify_try.rs:+3:18: +3:19
+-         StorageDead(_10);                // scope 0 at $DIR/simplify_try.rs:+3:18: +3:19
+-         StorageDead(_3);                 // scope 0 at $DIR/simplify_try.rs:+4:6: +4:7
+-         StorageLive(_11);                // scope 1 at $DIR/simplify_try.rs:+5:8: +5:9
+-         _11 = _2;                        // scope 1 at $DIR/simplify_try.rs:+5:8: +5:9
++         nop;                             // scope 0 at $DIR/simplify_try.rs:+3:12: +3:13
++         ((_0 as Ok).0: u32) = ((_3 as Ok).0: u32); // scope 0 at $DIR/simplify_try.rs:+3:12: +3:13
++         nop;                             // scope 3 at $DIR/simplify_try.rs:+3:18: +3:19
++         nop;                             // scope 0 at $DIR/simplify_try.rs:+3:18: +3:19
++         nop;                             // scope 0 at $DIR/simplify_try.rs:+4:6: +4:7
++         nop;                             // scope 1 at $DIR/simplify_try.rs:+5:8: +5:9
++         nop;                             // scope 1 at $DIR/simplify_try.rs:+5:8: +5:9
+          Deinit(_0);                      // scope 1 at $DIR/simplify_try.rs:+5:5: +5:10
+-         ((_0 as Ok).0: u32) = move _11;  // scope 1 at $DIR/simplify_try.rs:+5:5: +5:10
++         nop;                             // scope 1 at $DIR/simplify_try.rs:+5:5: +5:10
+          discriminant(_0) = 0;            // scope 1 at $DIR/simplify_try.rs:+5:5: +5:10
+-         StorageDead(_11);                // scope 1 at $DIR/simplify_try.rs:+5:9: +5:10
+-         StorageDead(_2);                 // scope 0 at $DIR/simplify_try.rs:+6:1: +6:2
++         nop;                             // scope 1 at $DIR/simplify_try.rs:+5:9: +5:10
++         nop;                             // scope 0 at $DIR/simplify_try.rs:+6:1: +6:2
+          return;                          // scope 0 at $DIR/simplify_try.rs:+6:2: +6:2
       }
   
       bb2: {
-          StorageLive(_6);                 // scope 0 at $DIR/simplify_try.rs:22:13: 22:14
-          nop;                             // scope 0 at $DIR/simplify_try.rs:22:13: 22:14
-          StorageLive(_8);                 // scope 2 at $DIR/simplify_try.rs:22:37: 22:50
-          StorageLive(_9);                 // scope 2 at $DIR/simplify_try.rs:22:48: 22:49
-          nop;                             // scope 2 at $DIR/simplify_try.rs:22:48: 22:49
+          StorageLive(_6);                 // scope 0 at $DIR/simplify_try.rs:+2:13: +2:14
+          nop;                             // scope 0 at $DIR/simplify_try.rs:+2:13: +2:14
+          StorageLive(_8);                 // scope 2 at $DIR/simplify_try.rs:+2:37: +2:50
+          StorageLive(_9);                 // scope 2 at $DIR/simplify_try.rs:+2:48: +2:49
+          nop;                             // scope 2 at $DIR/simplify_try.rs:+2:48: +2:49
           nop;                             // scope 5 at $SRC_DIR/core/src/convert/mod.rs:LL:COL
-          StorageDead(_9);                 // scope 2 at $DIR/simplify_try.rs:22:49: 22:50
-          nop;                             // scope 6 at $DIR/simplify_try.rs:13:9: 13:10
-          Deinit(_0);                      // scope 6 at $DIR/simplify_try.rs:13:5: 13:11
-          discriminant(_0) = 1;            // scope 6 at $DIR/simplify_try.rs:13:5: 13:11
-          StorageDead(_8);                 // scope 2 at $DIR/simplify_try.rs:22:50: 22:51
-          StorageDead(_6);                 // scope 0 at $DIR/simplify_try.rs:22:50: 22:51
--         StorageDead(_3);                 // scope 0 at $DIR/simplify_try.rs:24:6: 24:7
--         StorageDead(_2);                 // scope 0 at $DIR/simplify_try.rs:26:1: 26:2
-+         nop;                             // scope 0 at $DIR/simplify_try.rs:24:6: 24:7
-+         nop;                             // scope 0 at $DIR/simplify_try.rs:26:1: 26:2
-          return;                          // scope 0 at $DIR/simplify_try.rs:26:2: 26:2
+          StorageDead(_9);                 // scope 2 at $DIR/simplify_try.rs:+2:49: +2:50
+          nop;                             // scope 6 at $DIR/simplify_try.rs:+0:9: +0:10
+          Deinit(_0);                      // scope 6 at $DIR/simplify_try.rs:+0:5: +0:11
+          discriminant(_0) = 1;            // scope 6 at $DIR/simplify_try.rs:+0:5: +0:11
+          StorageDead(_8);                 // scope 2 at $DIR/simplify_try.rs:+2:50: +2:51
+          StorageDead(_6);                 // scope 0 at $DIR/simplify_try.rs:+2:50: +2:51
+-         StorageDead(_3);                 // scope 0 at $DIR/simplify_try.rs:+4:6: +4:7
+-         StorageDead(_2);                 // scope 0 at $DIR/simplify_try.rs:+6:1: +6:2
++         nop;                             // scope 0 at $DIR/simplify_try.rs:+4:6: +4:7
++         nop;                             // scope 0 at $DIR/simplify_try.rs:+6:1: +6:2
+          return;                          // scope 0 at $DIR/simplify_try.rs:+6:2: +6:2
       }
   }
   
index 01e76109ada5953863d0ecc8a907c756963be109..853b95cc669aac1e34f04d8f949459dafc59a02c 100644 (file)
@@ -2,80 +2,80 @@
 + // MIR for `try_identity` after SimplifyArmIdentity
   
   fn try_identity(_1: Result<u32, i32>) -> Result<u32, i32> {
-      debug x => _1;                       // in scope 0 at $DIR/simplify_try.rs:20:17: 20:18
-      let mut _0: std::result::Result<u32, i32>; // return place in scope 0 at $DIR/simplify_try.rs:20:41: 20:57
-      let _2: u32;                         // in scope 0 at $DIR/simplify_try.rs:21:9: 21:10
-      let mut _3: std::result::Result<u32, i32>; // in scope 0 at $DIR/simplify_try.rs:21:19: 21:33
-      let mut _4: std::result::Result<u32, i32>; // in scope 0 at $DIR/simplify_try.rs:21:31: 21:32
-      let mut _5: isize;                   // in scope 0 at $DIR/simplify_try.rs:22:9: 22:15
-      let _6: i32;                         // in scope 0 at $DIR/simplify_try.rs:22:13: 22:14
-      let mut _7: !;                       // in scope 0 at $DIR/simplify_try.rs:22:19: 22:51
-      let mut _8: i32;                     // in scope 0 at $DIR/simplify_try.rs:22:37: 22:50
-      let mut _9: i32;                     // in scope 0 at $DIR/simplify_try.rs:22:48: 22:49
-      let _10: u32;                        // in scope 0 at $DIR/simplify_try.rs:23:12: 23:13
-      let mut _11: u32;                    // in scope 0 at $DIR/simplify_try.rs:25:8: 25:9
+      debug x => _1;                       // in scope 0 at $DIR/simplify_try.rs:+0:17: +0:18
+      let mut _0: std::result::Result<u32, i32>; // return place in scope 0 at $DIR/simplify_try.rs:+0:41: +0:57
+      let _2: u32;                         // in scope 0 at $DIR/simplify_try.rs:+1:9: +1:10
+      let mut _3: std::result::Result<u32, i32>; // in scope 0 at $DIR/simplify_try.rs:+1:19: +1:33
+      let mut _4: std::result::Result<u32, i32>; // in scope 0 at $DIR/simplify_try.rs:+1:31: +1:32
+      let mut _5: isize;                   // in scope 0 at $DIR/simplify_try.rs:+2:9: +2:15
+      let _6: i32;                         // in scope 0 at $DIR/simplify_try.rs:+2:13: +2:14
+      let mut _7: !;                       // in scope 0 at $DIR/simplify_try.rs:+2:19: +2:51
+      let mut _8: i32;                     // in scope 0 at $DIR/simplify_try.rs:+2:37: +2:50
+      let mut _9: i32;                     // in scope 0 at $DIR/simplify_try.rs:+2:48: +2:49
+      let _10: u32;                        // in scope 0 at $DIR/simplify_try.rs:+3:12: +3:13
+      let mut _11: u32;                    // in scope 0 at $DIR/simplify_try.rs:+5:8: +5:9
       scope 1 {
-          debug y => _2;                   // in scope 1 at $DIR/simplify_try.rs:21:9: 21:10
+          debug y => _2;                   // in scope 1 at $DIR/simplify_try.rs:+1:9: +1:10
       }
       scope 2 {
-          debug e => _6;                   // in scope 2 at $DIR/simplify_try.rs:22:13: 22:14
+          debug e => _6;                   // in scope 2 at $DIR/simplify_try.rs:+2:13: +2:14
           scope 5 (inlined <i32 as From<i32>>::from) { // at $DIR/simplify_try.rs:22:37: 22:50
               debug t => _9;               // in scope 5 at $SRC_DIR/core/src/convert/mod.rs:LL:COL
           }
           scope 6 (inlined from_error::<u32, i32>) { // at $DIR/simplify_try.rs:22:26: 22:51
-              debug e => _8;               // in scope 6 at $DIR/simplify_try.rs:12:21: 12:22
+              debug e => _8;               // in scope 6 at $DIR/simplify_try.rs:+0:21: +0:22
           }
       }
       scope 3 {
-          debug v => _10;                  // in scope 3 at $DIR/simplify_try.rs:23:12: 23:13
+          debug v => _10;                  // in scope 3 at $DIR/simplify_try.rs:+3:12: +3:13
       }
       scope 4 (inlined into_result::<u32, i32>) { // at $DIR/simplify_try.rs:21:19: 21:33
-          debug r => _4;                   // in scope 4 at $DIR/simplify_try.rs:8:22: 8:23
+          debug r => _4;                   // in scope 4 at $DIR/simplify_try.rs:+0:22: +0:23
       }
   
       bb0: {
-          StorageLive(_2);                 // scope 0 at $DIR/simplify_try.rs:21:9: 21:10
-          StorageLive(_3);                 // scope 0 at $DIR/simplify_try.rs:21:19: 21:33
-          StorageLive(_4);                 // scope 0 at $DIR/simplify_try.rs:21:31: 21:32
-          _4 = _1;                         // scope 0 at $DIR/simplify_try.rs:21:31: 21:32
-          _3 = move _4;                    // scope 4 at $DIR/simplify_try.rs:9:5: 9:6
-          StorageDead(_4);                 // scope 0 at $DIR/simplify_try.rs:21:32: 21:33
-          _5 = discriminant(_3);           // scope 0 at $DIR/simplify_try.rs:21:19: 21:33
-          switchInt(move _5) -> [0_isize: bb1, otherwise: bb2]; // scope 0 at $DIR/simplify_try.rs:21:13: 21:33
+          StorageLive(_2);                 // scope 0 at $DIR/simplify_try.rs:+1:9: +1:10
+          StorageLive(_3);                 // scope 0 at $DIR/simplify_try.rs:+1:19: +1:33
+          StorageLive(_4);                 // scope 0 at $DIR/simplify_try.rs:+1:31: +1:32
+          _4 = _1;                         // scope 0 at $DIR/simplify_try.rs:+1:31: +1:32
+          _3 = move _4;                    // scope 4 at $DIR/simplify_try.rs:+0:5: +0:6
+          StorageDead(_4);                 // scope 0 at $DIR/simplify_try.rs:+1:32: +1:33
+          _5 = discriminant(_3);           // scope 0 at $DIR/simplify_try.rs:+1:19: +1:33
+          switchInt(move _5) -> [0_isize: bb1, otherwise: bb2]; // scope 0 at $DIR/simplify_try.rs:+1:13: +1:33
       }
   
       bb1: {
-          StorageLive(_10);                // scope 0 at $DIR/simplify_try.rs:23:12: 23:13
-          _10 = ((_3 as Ok).0: u32);       // scope 0 at $DIR/simplify_try.rs:23:12: 23:13
-          _2 = _10;                        // scope 3 at $DIR/simplify_try.rs:23:18: 23:19
-          StorageDead(_10);                // scope 0 at $DIR/simplify_try.rs:23:18: 23:19
-          StorageDead(_3);                 // scope 0 at $DIR/simplify_try.rs:24:6: 24:7
-          StorageLive(_11);                // scope 1 at $DIR/simplify_try.rs:25:8: 25:9
-          _11 = _2;                        // scope 1 at $DIR/simplify_try.rs:25:8: 25:9
-          Deinit(_0);                      // scope 1 at $DIR/simplify_try.rs:25:5: 25:10
-          ((_0 as Ok).0: u32) = move _11;  // scope 1 at $DIR/simplify_try.rs:25:5: 25:10
-          discriminant(_0) = 0;            // scope 1 at $DIR/simplify_try.rs:25:5: 25:10
-          StorageDead(_11);                // scope 1 at $DIR/simplify_try.rs:25:9: 25:10
-          StorageDead(_2);                 // scope 0 at $DIR/simplify_try.rs:26:1: 26:2
-          return;                          // scope 0 at $DIR/simplify_try.rs:26:2: 26:2
+          StorageLive(_10);                // scope 0 at $DIR/simplify_try.rs:+3:12: +3:13
+          _10 = ((_3 as Ok).0: u32);       // scope 0 at $DIR/simplify_try.rs:+3:12: +3:13
+          _2 = _10;                        // scope 3 at $DIR/simplify_try.rs:+3:18: +3:19
+          StorageDead(_10);                // scope 0 at $DIR/simplify_try.rs:+3:18: +3:19
+          StorageDead(_3);                 // scope 0 at $DIR/simplify_try.rs:+4:6: +4:7
+          StorageLive(_11);                // scope 1 at $DIR/simplify_try.rs:+5:8: +5:9
+          _11 = _2;                        // scope 1 at $DIR/simplify_try.rs:+5:8: +5:9
+          Deinit(_0);                      // scope 1 at $DIR/simplify_try.rs:+5:5: +5:10
+          ((_0 as Ok).0: u32) = move _11;  // scope 1 at $DIR/simplify_try.rs:+5:5: +5:10
+          discriminant(_0) = 0;            // scope 1 at $DIR/simplify_try.rs:+5:5: +5:10
+          StorageDead(_11);                // scope 1 at $DIR/simplify_try.rs:+5:9: +5:10
+          StorageDead(_2);                 // scope 0 at $DIR/simplify_try.rs:+6:1: +6:2
+          return;                          // scope 0 at $DIR/simplify_try.rs:+6:2: +6:2
       }
   
       bb2: {
-          StorageLive(_6);                 // scope 0 at $DIR/simplify_try.rs:22:13: 22:14
-          _6 = ((_3 as Err).0: i32);       // scope 0 at $DIR/simplify_try.rs:22:13: 22:14
-          StorageLive(_8);                 // scope 2 at $DIR/simplify_try.rs:22:37: 22:50
-          StorageLive(_9);                 // scope 2 at $DIR/simplify_try.rs:22:48: 22:49
-          _9 = _6;                         // scope 2 at $DIR/simplify_try.rs:22:48: 22:49
+          StorageLive(_6);                 // scope 0 at $DIR/simplify_try.rs:+2:13: +2:14
+          _6 = ((_3 as Err).0: i32);       // scope 0 at $DIR/simplify_try.rs:+2:13: +2:14
+          StorageLive(_8);                 // scope 2 at $DIR/simplify_try.rs:+2:37: +2:50
+          StorageLive(_9);                 // scope 2 at $DIR/simplify_try.rs:+2:48: +2:49
+          _9 = _6;                         // scope 2 at $DIR/simplify_try.rs:+2:48: +2:49
           _8 = move _9;                    // scope 5 at $SRC_DIR/core/src/convert/mod.rs:LL:COL
-          StorageDead(_9);                 // scope 2 at $DIR/simplify_try.rs:22:49: 22:50
-          ((_0 as Err).0: i32) = move _8;  // scope 6 at $DIR/simplify_try.rs:13:9: 13:10
-          Deinit(_0);                      // scope 6 at $DIR/simplify_try.rs:13:5: 13:11
-          discriminant(_0) = 1;            // scope 6 at $DIR/simplify_try.rs:13:5: 13:11
-          StorageDead(_8);                 // scope 2 at $DIR/simplify_try.rs:22:50: 22:51
-          StorageDead(_6);                 // scope 0 at $DIR/simplify_try.rs:22:50: 22:51
-          StorageDead(_3);                 // scope 0 at $DIR/simplify_try.rs:24:6: 24:7
-          StorageDead(_2);                 // scope 0 at $DIR/simplify_try.rs:26:1: 26:2
-          return;                          // scope 0 at $DIR/simplify_try.rs:26:2: 26:2
+          StorageDead(_9);                 // scope 2 at $DIR/simplify_try.rs:+2:49: +2:50
+          ((_0 as Err).0: i32) = move _8;  // scope 6 at $DIR/simplify_try.rs:+0:9: +0:10
+          Deinit(_0);                      // scope 6 at $DIR/simplify_try.rs:+0:5: +0:11
+          discriminant(_0) = 1;            // scope 6 at $DIR/simplify_try.rs:+0:5: +0:11
+          StorageDead(_8);                 // scope 2 at $DIR/simplify_try.rs:+2:50: +2:51
+          StorageDead(_6);                 // scope 0 at $DIR/simplify_try.rs:+2:50: +2:51
+          StorageDead(_3);                 // scope 0 at $DIR/simplify_try.rs:+4:6: +4:7
+          StorageDead(_2);                 // scope 0 at $DIR/simplify_try.rs:+6:1: +6:2
+          return;                          // scope 0 at $DIR/simplify_try.rs:+6:2: +6:2
       }
   }
   
index 56af6730966f7e638354b5f34df01fe0ced4422c..10799cd92ddb96b9e51401a7f90d271a555e2381 100644 (file)
@@ -1,79 +1,79 @@
 // MIR for `try_identity` after SimplifyBranchSame
 
 fn try_identity(_1: Result<u32, i32>) -> Result<u32, i32> {
-    debug x => _1;                       // in scope 0 at $DIR/simplify_try.rs:20:17: 20:18
-    let mut _0: std::result::Result<u32, i32>; // return place in scope 0 at $DIR/simplify_try.rs:20:41: 20:57
-    let _2: u32;                         // in scope 0 at $DIR/simplify_try.rs:21:9: 21:10
-    let mut _3: std::result::Result<u32, i32>; // in scope 0 at $DIR/simplify_try.rs:21:19: 21:33
-    let mut _4: std::result::Result<u32, i32>; // in scope 0 at $DIR/simplify_try.rs:21:31: 21:32
-    let mut _5: isize;                   // in scope 0 at $DIR/simplify_try.rs:22:9: 22:15
-    let _6: i32;                         // in scope 0 at $DIR/simplify_try.rs:22:13: 22:14
-    let mut _7: !;                       // in scope 0 at $DIR/simplify_try.rs:22:19: 22:51
-    let mut _8: i32;                     // in scope 0 at $DIR/simplify_try.rs:22:37: 22:50
-    let mut _9: i32;                     // in scope 0 at $DIR/simplify_try.rs:22:48: 22:49
-    let _10: u32;                        // in scope 0 at $DIR/simplify_try.rs:23:12: 23:13
-    let mut _11: u32;                    // in scope 0 at $DIR/simplify_try.rs:25:8: 25:9
+    debug x => _1;                       // in scope 0 at $DIR/simplify_try.rs:+0:17: +0:18
+    let mut _0: std::result::Result<u32, i32>; // return place in scope 0 at $DIR/simplify_try.rs:+0:41: +0:57
+    let _2: u32;                         // in scope 0 at $DIR/simplify_try.rs:+1:9: +1:10
+    let mut _3: std::result::Result<u32, i32>; // in scope 0 at $DIR/simplify_try.rs:+1:19: +1:33
+    let mut _4: std::result::Result<u32, i32>; // in scope 0 at $DIR/simplify_try.rs:+1:31: +1:32
+    let mut _5: isize;                   // in scope 0 at $DIR/simplify_try.rs:+2:9: +2:15
+    let _6: i32;                         // in scope 0 at $DIR/simplify_try.rs:+2:13: +2:14
+    let mut _7: !;                       // in scope 0 at $DIR/simplify_try.rs:+2:19: +2:51
+    let mut _8: i32;                     // in scope 0 at $DIR/simplify_try.rs:+2:37: +2:50
+    let mut _9: i32;                     // in scope 0 at $DIR/simplify_try.rs:+2:48: +2:49
+    let _10: u32;                        // in scope 0 at $DIR/simplify_try.rs:+3:12: +3:13
+    let mut _11: u32;                    // in scope 0 at $DIR/simplify_try.rs:+5:8: +5:9
     scope 1 {
-        debug y => _2;                   // in scope 1 at $DIR/simplify_try.rs:21:9: 21:10
+        debug y => _2;                   // in scope 1 at $DIR/simplify_try.rs:+1:9: +1:10
     }
     scope 2 {
-        debug e => _6;                   // in scope 2 at $DIR/simplify_try.rs:22:13: 22:14
+        debug e => _6;                   // in scope 2 at $DIR/simplify_try.rs:+2:13: +2:14
         scope 5 (inlined <i32 as From<i32>>::from) { // at $DIR/simplify_try.rs:22:37: 22:50
             debug t => _9;               // in scope 5 at $SRC_DIR/core/src/convert/mod.rs:LL:COL
         }
         scope 6 (inlined from_error::<u32, i32>) { // at $DIR/simplify_try.rs:22:26: 22:51
-            debug e => _8;               // in scope 6 at $DIR/simplify_try.rs:12:21: 12:22
+            debug e => _8;               // in scope 6 at $DIR/simplify_try.rs:+0:21: +0:22
         }
     }
     scope 3 {
-        debug v => _10;                  // in scope 3 at $DIR/simplify_try.rs:23:12: 23:13
+        debug v => _10;                  // in scope 3 at $DIR/simplify_try.rs:+3:12: +3:13
     }
     scope 4 (inlined into_result::<u32, i32>) { // at $DIR/simplify_try.rs:21:19: 21:33
-        debug r => _4;                   // in scope 4 at $DIR/simplify_try.rs:8:22: 8:23
+        debug r => _4;                   // in scope 4 at $DIR/simplify_try.rs:+0:22: +0:23
     }
 
     bb0: {
-        StorageLive(_2);                 // scope 0 at $DIR/simplify_try.rs:21:9: 21:10
-        StorageLive(_3);                 // scope 0 at $DIR/simplify_try.rs:21:19: 21:33
-        StorageLive(_4);                 // scope 0 at $DIR/simplify_try.rs:21:31: 21:32
-        _4 = _1;                         // scope 0 at $DIR/simplify_try.rs:21:31: 21:32
-        _3 = move _4;                    // scope 4 at $DIR/simplify_try.rs:9:5: 9:6
-        StorageDead(_4);                 // scope 0 at $DIR/simplify_try.rs:21:32: 21:33
-        _5 = discriminant(_3);           // scope 0 at $DIR/simplify_try.rs:21:19: 21:33
-        switchInt(move _5) -> [0_isize: bb1, otherwise: bb2]; // scope 0 at $DIR/simplify_try.rs:21:13: 21:33
+        StorageLive(_2);                 // scope 0 at $DIR/simplify_try.rs:+1:9: +1:10
+        StorageLive(_3);                 // scope 0 at $DIR/simplify_try.rs:+1:19: +1:33
+        StorageLive(_4);                 // scope 0 at $DIR/simplify_try.rs:+1:31: +1:32
+        _4 = _1;                         // scope 0 at $DIR/simplify_try.rs:+1:31: +1:32
+        _3 = move _4;                    // scope 4 at $DIR/simplify_try.rs:+0:5: +0:6
+        StorageDead(_4);                 // scope 0 at $DIR/simplify_try.rs:+1:32: +1:33
+        _5 = discriminant(_3);           // scope 0 at $DIR/simplify_try.rs:+1:19: +1:33
+        switchInt(move _5) -> [0_isize: bb1, otherwise: bb2]; // scope 0 at $DIR/simplify_try.rs:+1:13: +1:33
     }
 
     bb1: {
-        StorageLive(_10);                // scope 0 at $DIR/simplify_try.rs:23:12: 23:13
-        _10 = ((_3 as Ok).0: u32);       // scope 0 at $DIR/simplify_try.rs:23:12: 23:13
-        _2 = _10;                        // scope 3 at $DIR/simplify_try.rs:23:18: 23:19
-        StorageDead(_10);                // scope 0 at $DIR/simplify_try.rs:23:18: 23:19
-        StorageDead(_3);                 // scope 0 at $DIR/simplify_try.rs:24:6: 24:7
-        StorageLive(_11);                // scope 1 at $DIR/simplify_try.rs:25:8: 25:9
-        _11 = _2;                        // scope 1 at $DIR/simplify_try.rs:25:8: 25:9
-        Deinit(_0);                      // scope 1 at $DIR/simplify_try.rs:25:5: 25:10
-        ((_0 as Ok).0: u32) = move _11;  // scope 1 at $DIR/simplify_try.rs:25:5: 25:10
-        discriminant(_0) = 0;            // scope 1 at $DIR/simplify_try.rs:25:5: 25:10
-        StorageDead(_11);                // scope 1 at $DIR/simplify_try.rs:25:9: 25:10
-        StorageDead(_2);                 // scope 0 at $DIR/simplify_try.rs:26:1: 26:2
-        return;                          // scope 0 at $DIR/simplify_try.rs:26:2: 26:2
+        StorageLive(_10);                // scope 0 at $DIR/simplify_try.rs:+3:12: +3:13
+        _10 = ((_3 as Ok).0: u32);       // scope 0 at $DIR/simplify_try.rs:+3:12: +3:13
+        _2 = _10;                        // scope 3 at $DIR/simplify_try.rs:+3:18: +3:19
+        StorageDead(_10);                // scope 0 at $DIR/simplify_try.rs:+3:18: +3:19
+        StorageDead(_3);                 // scope 0 at $DIR/simplify_try.rs:+4:6: +4:7
+        StorageLive(_11);                // scope 1 at $DIR/simplify_try.rs:+5:8: +5:9
+        _11 = _2;                        // scope 1 at $DIR/simplify_try.rs:+5:8: +5:9
+        Deinit(_0);                      // scope 1 at $DIR/simplify_try.rs:+5:5: +5:10
+        ((_0 as Ok).0: u32) = move _11;  // scope 1 at $DIR/simplify_try.rs:+5:5: +5:10
+        discriminant(_0) = 0;            // scope 1 at $DIR/simplify_try.rs:+5:5: +5:10
+        StorageDead(_11);                // scope 1 at $DIR/simplify_try.rs:+5:9: +5:10
+        StorageDead(_2);                 // scope 0 at $DIR/simplify_try.rs:+6:1: +6:2
+        return;                          // scope 0 at $DIR/simplify_try.rs:+6:2: +6:2
     }
 
     bb2: {
-        StorageLive(_6);                 // scope 0 at $DIR/simplify_try.rs:22:13: 22:14
-        _6 = ((_3 as Err).0: i32);       // scope 0 at $DIR/simplify_try.rs:22:13: 22:14
-        StorageLive(_8);                 // scope 2 at $DIR/simplify_try.rs:22:37: 22:50
-        StorageLive(_9);                 // scope 2 at $DIR/simplify_try.rs:22:48: 22:49
-        _9 = _6;                         // scope 2 at $DIR/simplify_try.rs:22:48: 22:49
+        StorageLive(_6);                 // scope 0 at $DIR/simplify_try.rs:+2:13: +2:14
+        _6 = ((_3 as Err).0: i32);       // scope 0 at $DIR/simplify_try.rs:+2:13: +2:14
+        StorageLive(_8);                 // scope 2 at $DIR/simplify_try.rs:+2:37: +2:50
+        StorageLive(_9);                 // scope 2 at $DIR/simplify_try.rs:+2:48: +2:49
+        _9 = _6;                         // scope 2 at $DIR/simplify_try.rs:+2:48: +2:49
         _8 = move _9;                    // scope 5 at $SRC_DIR/core/src/convert/mod.rs:LL:COL
-        StorageDead(_9);                 // scope 2 at $DIR/simplify_try.rs:22:49: 22:50
-        ((_0 as Err).0: i32) = move _8;  // scope 6 at $DIR/simplify_try.rs:13:9: 13:10
-        Deinit(_0);                      // scope 6 at $DIR/simplify_try.rs:13:5: 13:11
-        discriminant(_0) = 1;            // scope 6 at $DIR/simplify_try.rs:13:5: 13:11
-        StorageDead(_8);                 // scope 2 at $DIR/simplify_try.rs:22:50: 22:51
-        StorageDead(_6);                 // scope 0 at $DIR/simplify_try.rs:22:50: 22:51
-        StorageDead(_3);                 // scope 0 at $DIR/simplify_try.rs:24:6: 24:7
-        StorageDead(_2);                 // scope 0 at $DIR/simplify_try.rs:26:1: 26:2
-        return;                          // scope 0 at $DIR/simplify_try.rs:26:2: 26:2
+        StorageDead(_9);                 // scope 2 at $DIR/simplify_try.rs:+2:49: +2:50
+        ((_0 as Err).0: i32) = move _8;  // scope 6 at $DIR/simplify_try.rs:+0:9: +0:10
+        Deinit(_0);                      // scope 6 at $DIR/simplify_try.rs:+0:5: +0:11
+        discriminant(_0) = 1;            // scope 6 at $DIR/simplify_try.rs:+0:5: +0:11
+        StorageDead(_8);                 // scope 2 at $DIR/simplify_try.rs:+2:50: +2:51
+        StorageDead(_6);                 // scope 0 at $DIR/simplify_try.rs:+2:50: +2:51
+        StorageDead(_3);                 // scope 0 at $DIR/simplify_try.rs:+4:6: +4:7
+        StorageDead(_2);                 // scope 0 at $DIR/simplify_try.rs:+6:1: +6:2
+        return;                          // scope 0 at $DIR/simplify_try.rs:+6:2: +6:2
     }
 }
index b9252df6f3e2e552eef24f3f7c5ba9c0ca3d528c..f8c9034f77ca2c84848aee9750c8c9d9242ef41e 100644 (file)
@@ -1,54 +1,54 @@
 // MIR for `try_identity` after SimplifyLocals
 
 fn try_identity(_1: Result<u32, i32>) -> Result<u32, i32> {
-    debug x => _1;                       // in scope 0 at $DIR/simplify_try.rs:20:17: 20:18
-    let mut _0: std::result::Result<u32, i32>; // return place in scope 0 at $DIR/simplify_try.rs:20:41: 20:57
-    let mut _2: std::result::Result<u32, i32>; // in scope 0 at $DIR/simplify_try.rs:21:19: 21:33
-    let mut _3: isize;                   // in scope 0 at $DIR/simplify_try.rs:22:9: 22:15
-    let _4: i32;                         // in scope 0 at $DIR/simplify_try.rs:22:13: 22:14
-    let mut _5: i32;                     // in scope 0 at $DIR/simplify_try.rs:22:37: 22:50
-    let mut _6: i32;                     // in scope 0 at $DIR/simplify_try.rs:22:48: 22:49
+    debug x => _1;                       // in scope 0 at $DIR/simplify_try.rs:+0:17: +0:18
+    let mut _0: std::result::Result<u32, i32>; // return place in scope 0 at $DIR/simplify_try.rs:+0:41: +0:57
+    let mut _2: std::result::Result<u32, i32>; // in scope 0 at $DIR/simplify_try.rs:+1:19: +1:33
+    let mut _3: isize;                   // in scope 0 at $DIR/simplify_try.rs:+2:9: +2:15
+    let _4: i32;                         // in scope 0 at $DIR/simplify_try.rs:+2:13: +2:14
+    let mut _5: i32;                     // in scope 0 at $DIR/simplify_try.rs:+2:37: +2:50
+    let mut _6: i32;                     // in scope 0 at $DIR/simplify_try.rs:+2:48: +2:49
     scope 1 {
-        debug y => ((_0 as Ok).0: u32);  // in scope 1 at $DIR/simplify_try.rs:21:9: 21:10
+        debug y => ((_0 as Ok).0: u32);  // in scope 1 at $DIR/simplify_try.rs:+1:9: +1:10
     }
     scope 2 {
-        debug e => _4;                   // in scope 2 at $DIR/simplify_try.rs:22:13: 22:14
+        debug e => _4;                   // in scope 2 at $DIR/simplify_try.rs:+2:13: +2:14
         scope 5 (inlined <i32 as From<i32>>::from) { // at $DIR/simplify_try.rs:22:37: 22:50
             debug t => _6;               // in scope 5 at $SRC_DIR/core/src/convert/mod.rs:LL:COL
         }
         scope 6 (inlined from_error::<u32, i32>) { // at $DIR/simplify_try.rs:22:26: 22:51
-            debug e => _5;               // in scope 6 at $DIR/simplify_try.rs:12:21: 12:22
+            debug e => _5;               // in scope 6 at $DIR/simplify_try.rs:+0:21: +0:22
         }
     }
     scope 3 {
-        debug v => ((_0 as Ok).0: u32);  // in scope 3 at $DIR/simplify_try.rs:23:12: 23:13
+        debug v => ((_0 as Ok).0: u32);  // in scope 3 at $DIR/simplify_try.rs:+3:12: +3:13
     }
     scope 4 (inlined into_result::<u32, i32>) { // at $DIR/simplify_try.rs:21:19: 21:33
-        debug r => _2;                   // in scope 4 at $DIR/simplify_try.rs:8:22: 8:23
+        debug r => _2;                   // in scope 4 at $DIR/simplify_try.rs:+0:22: +0:23
     }
 
     bb0: {
-        _2 = _1;                         // scope 0 at $DIR/simplify_try.rs:21:31: 21:32
-        _3 = discriminant(_2);           // scope 0 at $DIR/simplify_try.rs:21:19: 21:33
-        switchInt(move _3) -> [0_isize: bb1, otherwise: bb2]; // scope 0 at $DIR/simplify_try.rs:21:13: 21:33
+        _2 = _1;                         // scope 0 at $DIR/simplify_try.rs:+1:31: +1:32
+        _3 = discriminant(_2);           // scope 0 at $DIR/simplify_try.rs:+1:19: +1:33
+        switchInt(move _3) -> [0_isize: bb1, otherwise: bb2]; // scope 0 at $DIR/simplify_try.rs:+1:13: +1:33
     }
 
     bb1: {
-        ((_0 as Ok).0: u32) = ((_2 as Ok).0: u32); // scope 0 at $DIR/simplify_try.rs:23:12: 23:13
-        Deinit(_0);                      // scope 1 at $DIR/simplify_try.rs:25:5: 25:10
-        discriminant(_0) = 0;            // scope 1 at $DIR/simplify_try.rs:25:5: 25:10
-        return;                          // scope 0 at $DIR/simplify_try.rs:26:2: 26:2
+        ((_0 as Ok).0: u32) = ((_2 as Ok).0: u32); // scope 0 at $DIR/simplify_try.rs:+3:12: +3:13
+        Deinit(_0);                      // scope 1 at $DIR/simplify_try.rs:+5:5: +5:10
+        discriminant(_0) = 0;            // scope 1 at $DIR/simplify_try.rs:+5:5: +5:10
+        return;                          // scope 0 at $DIR/simplify_try.rs:+6:2: +6:2
     }
 
     bb2: {
-        StorageLive(_4);                 // scope 0 at $DIR/simplify_try.rs:22:13: 22:14
-        StorageLive(_5);                 // scope 2 at $DIR/simplify_try.rs:22:37: 22:50
-        StorageLive(_6);                 // scope 2 at $DIR/simplify_try.rs:22:48: 22:49
-        StorageDead(_6);                 // scope 2 at $DIR/simplify_try.rs:22:49: 22:50
-        Deinit(_0);                      // scope 6 at $DIR/simplify_try.rs:13:5: 13:11
-        discriminant(_0) = 1;            // scope 6 at $DIR/simplify_try.rs:13:5: 13:11
-        StorageDead(_5);                 // scope 2 at $DIR/simplify_try.rs:22:50: 22:51
-        StorageDead(_4);                 // scope 0 at $DIR/simplify_try.rs:22:50: 22:51
-        return;                          // scope 0 at $DIR/simplify_try.rs:26:2: 26:2
+        StorageLive(_4);                 // scope 0 at $DIR/simplify_try.rs:+2:13: +2:14
+        StorageLive(_5);                 // scope 2 at $DIR/simplify_try.rs:+2:37: +2:50
+        StorageLive(_6);                 // scope 2 at $DIR/simplify_try.rs:+2:48: +2:49
+        StorageDead(_6);                 // scope 2 at $DIR/simplify_try.rs:+2:49: +2:50
+        Deinit(_0);                      // scope 6 at $DIR/simplify_try.rs:+0:5: +0:11
+        discriminant(_0) = 1;            // scope 6 at $DIR/simplify_try.rs:+0:5: +0:11
+        StorageDead(_5);                 // scope 2 at $DIR/simplify_try.rs:+2:50: +2:51
+        StorageDead(_4);                 // scope 0 at $DIR/simplify_try.rs:+2:50: +2:51
+        return;                          // scope 0 at $DIR/simplify_try.rs:+6:2: +6:2
     }
 }
index 54ca9dc6682bcd3e5771190f4835f2d9cefe0dab..b4b317e84afb7181280b38a90c3ba0f197c19e40 100644 (file)
 // MIR for `std::ptr::drop_in_place` before AddMovesForPackedDrops
 
 fn std::ptr::drop_in_place(_1: *mut [String]) -> () {
-    let mut _0: ();                      // return place in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-    let mut _2: usize;                   // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-    let mut _3: usize;                   // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-    let mut _4: usize;                   // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-    let mut _5: *mut std::string::String; // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-    let mut _6: bool;                    // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-    let mut _7: *mut std::string::String; // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-    let mut _8: bool;                    // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-    let mut _9: *mut std::string::String; // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-    let mut _10: *mut std::string::String; // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-    let mut _11: *mut std::string::String; // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-    let mut _12: bool;                   // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-    let mut _13: *mut std::string::String; // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-    let mut _14: bool;                   // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-    let mut _15: *mut [std::string::String]; // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+    let mut _0: ();                      // return place in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+    let mut _2: usize;                   // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+    let mut _3: usize;                   // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+    let mut _4: usize;                   // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+    let mut _5: *mut std::string::String; // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+    let mut _6: bool;                    // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+    let mut _7: *mut std::string::String; // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+    let mut _8: bool;                    // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+    let mut _9: *mut std::string::String; // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+    let mut _10: *mut std::string::String; // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+    let mut _11: *mut std::string::String; // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+    let mut _12: bool;                   // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+    let mut _13: *mut std::string::String; // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+    let mut _14: bool;                   // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+    let mut _15: *mut [std::string::String]; // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
 
     bb0: {
-        goto -> bb15;                    // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        goto -> bb15;                    // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 
     bb1: {
-        return;                          // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        return;                          // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 
     bb2 (cleanup): {
-        resume;                          // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        resume;                          // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 
     bb3 (cleanup): {
-        _5 = &raw mut (*_1)[_4];         // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-        _4 = Add(move _4, const 1_usize); // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-        drop((*_5)) -> bb4;              // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        _5 = &raw mut (*_1)[_4];         // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+        _4 = Add(move _4, const 1_usize); // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+        drop((*_5)) -> bb4;              // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 
     bb4 (cleanup): {
-        _6 = Eq(_4, _3);                 // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-        switchInt(move _6) -> [false: bb3, otherwise: bb2]; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        _6 = Eq(_4, _3);                 // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+        switchInt(move _6) -> [false: bb3, otherwise: bb2]; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 
     bb5: {
-        _7 = &raw mut (*_1)[_4];         // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-        _4 = Add(move _4, const 1_usize); // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-        drop((*_7)) -> [return: bb6, unwind: bb4]; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        _7 = &raw mut (*_1)[_4];         // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+        _4 = Add(move _4, const 1_usize); // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+        drop((*_7)) -> [return: bb6, unwind: bb4]; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 
     bb6: {
-        _8 = Eq(_4, _3);                 // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-        switchInt(move _8) -> [false: bb5, otherwise: bb1]; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        _8 = Eq(_4, _3);                 // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+        switchInt(move _8) -> [false: bb5, otherwise: bb1]; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 
     bb7: {
-        _4 = const 0_usize;              // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-        goto -> bb6;                     // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        _4 = const 0_usize;              // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+        goto -> bb6;                     // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 
     bb8: {
-        goto -> bb7;                     // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        goto -> bb7;                     // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 
     bb9 (cleanup): {
-        _11 = _9;                        // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-        _9 = Offset(move _9, const 1_usize); // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-        drop((*_11)) -> bb10;            // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        _11 = _9;                        // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+        _9 = Offset(move _9, const 1_usize); // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+        drop((*_11)) -> bb10;            // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 
     bb10 (cleanup): {
-        _12 = Eq(_9, _10);               // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-        switchInt(move _12) -> [false: bb9, otherwise: bb2]; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        _12 = Eq(_9, _10);               // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+        switchInt(move _12) -> [false: bb9, otherwise: bb2]; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 
     bb11: {
-        _13 = _9;                        // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-        _9 = Offset(move _9, const 1_usize); // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-        drop((*_13)) -> [return: bb12, unwind: bb10]; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        _13 = _9;                        // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+        _9 = Offset(move _9, const 1_usize); // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+        drop((*_13)) -> [return: bb12, unwind: bb10]; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 
     bb12: {
-        _14 = Eq(_9, _10);               // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-        switchInt(move _14) -> [false: bb11, otherwise: bb1]; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        _14 = Eq(_9, _10);               // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+        switchInt(move _14) -> [false: bb11, otherwise: bb1]; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 
     bb13: {
-        _15 = &raw mut (*_1);            // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-        _9 = move _15 as *mut std::string::String (Misc); // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-        _10 = Offset(_9, move _3);       // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-        goto -> bb12;                    // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        _15 = &raw mut (*_1);            // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+        _9 = move _15 as *mut std::string::String (Misc); // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+        _10 = Offset(_9, move _3);       // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+        goto -> bb12;                    // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 
     bb14: {
-        goto -> bb13;                    // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        goto -> bb13;                    // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 
     bb15: {
-        _2 = SizeOf(std::string::String); // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-        _3 = Len((*_1));                 // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-        switchInt(move _2) -> [0_usize: bb8, otherwise: bb14]; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        _2 = SizeOf(std::string::String); // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+        _3 = Len((*_1));                 // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+        switchInt(move _2) -> [0_usize: bb8, otherwise: bb14]; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 }
index 54ca9dc6682bcd3e5771190f4835f2d9cefe0dab..b4b317e84afb7181280b38a90c3ba0f197c19e40 100644 (file)
 // MIR for `std::ptr::drop_in_place` before AddMovesForPackedDrops
 
 fn std::ptr::drop_in_place(_1: *mut [String]) -> () {
-    let mut _0: ();                      // return place in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-    let mut _2: usize;                   // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-    let mut _3: usize;                   // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-    let mut _4: usize;                   // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-    let mut _5: *mut std::string::String; // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-    let mut _6: bool;                    // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-    let mut _7: *mut std::string::String; // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-    let mut _8: bool;                    // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-    let mut _9: *mut std::string::String; // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-    let mut _10: *mut std::string::String; // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-    let mut _11: *mut std::string::String; // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-    let mut _12: bool;                   // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-    let mut _13: *mut std::string::String; // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-    let mut _14: bool;                   // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-    let mut _15: *mut [std::string::String]; // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+    let mut _0: ();                      // return place in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+    let mut _2: usize;                   // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+    let mut _3: usize;                   // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+    let mut _4: usize;                   // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+    let mut _5: *mut std::string::String; // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+    let mut _6: bool;                    // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+    let mut _7: *mut std::string::String; // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+    let mut _8: bool;                    // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+    let mut _9: *mut std::string::String; // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+    let mut _10: *mut std::string::String; // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+    let mut _11: *mut std::string::String; // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+    let mut _12: bool;                   // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+    let mut _13: *mut std::string::String; // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+    let mut _14: bool;                   // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+    let mut _15: *mut [std::string::String]; // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
 
     bb0: {
-        goto -> bb15;                    // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        goto -> bb15;                    // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 
     bb1: {
-        return;                          // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        return;                          // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 
     bb2 (cleanup): {
-        resume;                          // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        resume;                          // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 
     bb3 (cleanup): {
-        _5 = &raw mut (*_1)[_4];         // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-        _4 = Add(move _4, const 1_usize); // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-        drop((*_5)) -> bb4;              // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        _5 = &raw mut (*_1)[_4];         // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+        _4 = Add(move _4, const 1_usize); // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+        drop((*_5)) -> bb4;              // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 
     bb4 (cleanup): {
-        _6 = Eq(_4, _3);                 // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-        switchInt(move _6) -> [false: bb3, otherwise: bb2]; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        _6 = Eq(_4, _3);                 // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+        switchInt(move _6) -> [false: bb3, otherwise: bb2]; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 
     bb5: {
-        _7 = &raw mut (*_1)[_4];         // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-        _4 = Add(move _4, const 1_usize); // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-        drop((*_7)) -> [return: bb6, unwind: bb4]; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        _7 = &raw mut (*_1)[_4];         // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+        _4 = Add(move _4, const 1_usize); // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+        drop((*_7)) -> [return: bb6, unwind: bb4]; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 
     bb6: {
-        _8 = Eq(_4, _3);                 // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-        switchInt(move _8) -> [false: bb5, otherwise: bb1]; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        _8 = Eq(_4, _3);                 // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+        switchInt(move _8) -> [false: bb5, otherwise: bb1]; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 
     bb7: {
-        _4 = const 0_usize;              // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-        goto -> bb6;                     // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        _4 = const 0_usize;              // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+        goto -> bb6;                     // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 
     bb8: {
-        goto -> bb7;                     // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        goto -> bb7;                     // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 
     bb9 (cleanup): {
-        _11 = _9;                        // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-        _9 = Offset(move _9, const 1_usize); // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-        drop((*_11)) -> bb10;            // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        _11 = _9;                        // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+        _9 = Offset(move _9, const 1_usize); // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+        drop((*_11)) -> bb10;            // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 
     bb10 (cleanup): {
-        _12 = Eq(_9, _10);               // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-        switchInt(move _12) -> [false: bb9, otherwise: bb2]; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        _12 = Eq(_9, _10);               // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+        switchInt(move _12) -> [false: bb9, otherwise: bb2]; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 
     bb11: {
-        _13 = _9;                        // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-        _9 = Offset(move _9, const 1_usize); // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-        drop((*_13)) -> [return: bb12, unwind: bb10]; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        _13 = _9;                        // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+        _9 = Offset(move _9, const 1_usize); // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+        drop((*_13)) -> [return: bb12, unwind: bb10]; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 
     bb12: {
-        _14 = Eq(_9, _10);               // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-        switchInt(move _14) -> [false: bb11, otherwise: bb1]; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        _14 = Eq(_9, _10);               // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+        switchInt(move _14) -> [false: bb11, otherwise: bb1]; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 
     bb13: {
-        _15 = &raw mut (*_1);            // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-        _9 = move _15 as *mut std::string::String (Misc); // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-        _10 = Offset(_9, move _3);       // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-        goto -> bb12;                    // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        _15 = &raw mut (*_1);            // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+        _9 = move _15 as *mut std::string::String (Misc); // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+        _10 = Offset(_9, move _3);       // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+        goto -> bb12;                    // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 
     bb14: {
-        goto -> bb13;                    // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        goto -> bb13;                    // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 
     bb15: {
-        _2 = SizeOf(std::string::String); // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-        _3 = Len((*_1));                 // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-        switchInt(move _2) -> [0_usize: bb8, otherwise: bb14]; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        _2 = SizeOf(std::string::String); // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+        _3 = Len((*_1));                 // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+        switchInt(move _2) -> [0_usize: bb8, otherwise: bb14]; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 }
index 2c4738aa86618b45f911273c3eef65febb048135..bc9e91420714ed6d32e93227fc94ca765fe1e072 100644 (file)
 // MIR for `XXX` 0 mir_map
 
 static XXX: &Foo = {
-    let mut _0: &Foo;                    // return place in scope 0 at $DIR/storage_live_dead_in_statics.rs:5:13: 5:25
-    let _1: &Foo;                        // in scope 0 at $DIR/storage_live_dead_in_statics.rs:5:28: 23:2
-    let _2: Foo;                         // in scope 0 at $DIR/storage_live_dead_in_statics.rs:5:29: 23:2
-    let mut _3: &[(u32, u32)];           // in scope 0 at $DIR/storage_live_dead_in_statics.rs:7:11: 22:6
-    let mut _4: &[(u32, u32); 42];       // in scope 0 at $DIR/storage_live_dead_in_statics.rs:7:11: 22:6
-    let _5: &[(u32, u32); 42];           // in scope 0 at $DIR/storage_live_dead_in_statics.rs:7:11: 22:6
-    let _6: [(u32, u32); 42];            // in scope 0 at $DIR/storage_live_dead_in_statics.rs:7:12: 22:6
-    let mut _7: (u32, u32);              // in scope 0 at $DIR/storage_live_dead_in_statics.rs:8:9: 8:15
-    let mut _8: (u32, u32);              // in scope 0 at $DIR/storage_live_dead_in_statics.rs:8:17: 8:23
-    let mut _9: (u32, u32);              // in scope 0 at $DIR/storage_live_dead_in_statics.rs:8:25: 8:31
-    let mut _10: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:9:9: 9:15
-    let mut _11: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:9:17: 9:23
-    let mut _12: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:9:25: 9:31
-    let mut _13: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:10:9: 10:15
-    let mut _14: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:10:17: 10:23
-    let mut _15: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:10:25: 10:31
-    let mut _16: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:11:9: 11:15
-    let mut _17: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:11:17: 11:23
-    let mut _18: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:11:25: 11:31
-    let mut _19: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:12:9: 12:15
-    let mut _20: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:12:17: 12:23
-    let mut _21: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:12:25: 12:31
-    let mut _22: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:13:9: 13:15
-    let mut _23: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:13:17: 13:23
-    let mut _24: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:13:25: 13:31
-    let mut _25: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:14:9: 14:15
-    let mut _26: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:14:17: 14:23
-    let mut _27: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:14:25: 14:31
-    let mut _28: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:15:9: 15:15
-    let mut _29: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:15:17: 15:23
-    let mut _30: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:15:25: 15:31
-    let mut _31: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:16:9: 16:15
-    let mut _32: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:16:17: 16:23
-    let mut _33: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:16:25: 16:31
-    let mut _34: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:17:9: 17:15
-    let mut _35: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:17:17: 17:23
-    let mut _36: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:17:25: 17:31
-    let mut _37: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:18:9: 18:15
-    let mut _38: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:18:17: 18:23
-    let mut _39: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:18:25: 18:31
-    let mut _40: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:19:9: 19:15
-    let mut _41: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:19:17: 19:23
-    let mut _42: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:19:25: 19:31
-    let mut _43: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:20:9: 20:15
-    let mut _44: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:20:17: 20:23
-    let mut _45: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:20:25: 20:31
-    let mut _46: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:21:9: 21:15
-    let mut _47: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:21:17: 21:23
-    let mut _48: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:21:25: 21:31
+    let mut _0: &Foo;                    // return place in scope 0 at $DIR/storage_live_dead_in_statics.rs:+0:13: +0:25
+    let _1: &Foo;                        // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+0:28: +18:2
+    let _2: Foo;                         // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+0:29: +18:2
+    let mut _3: &[(u32, u32)];           // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+2:11: +17:6
+    let mut _4: &[(u32, u32); 42];       // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+2:11: +17:6
+    let _5: &[(u32, u32); 42];           // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+2:11: +17:6
+    let _6: [(u32, u32); 42];            // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+2:12: +17:6
+    let mut _7: (u32, u32);              // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+3:9: +3:15
+    let mut _8: (u32, u32);              // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+3:17: +3:23
+    let mut _9: (u32, u32);              // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+3:25: +3:31
+    let mut _10: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+4:9: +4:15
+    let mut _11: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+4:17: +4:23
+    let mut _12: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+4:25: +4:31
+    let mut _13: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+5:9: +5:15
+    let mut _14: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+5:17: +5:23
+    let mut _15: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+5:25: +5:31
+    let mut _16: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+6:9: +6:15
+    let mut _17: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+6:17: +6:23
+    let mut _18: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+6:25: +6:31
+    let mut _19: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+7:9: +7:15
+    let mut _20: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+7:17: +7:23
+    let mut _21: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+7:25: +7:31
+    let mut _22: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+8:9: +8:15
+    let mut _23: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+8:17: +8:23
+    let mut _24: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+8:25: +8:31
+    let mut _25: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+9:9: +9:15
+    let mut _26: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+9:17: +9:23
+    let mut _27: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+9:25: +9:31
+    let mut _28: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+10:9: +10:15
+    let mut _29: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+10:17: +10:23
+    let mut _30: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+10:25: +10:31
+    let mut _31: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+11:9: +11:15
+    let mut _32: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+11:17: +11:23
+    let mut _33: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+11:25: +11:31
+    let mut _34: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+12:9: +12:15
+    let mut _35: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+12:17: +12:23
+    let mut _36: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+12:25: +12:31
+    let mut _37: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+13:9: +13:15
+    let mut _38: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+13:17: +13:23
+    let mut _39: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+13:25: +13:31
+    let mut _40: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+14:9: +14:15
+    let mut _41: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+14:17: +14:23
+    let mut _42: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+14:25: +14:31
+    let mut _43: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+15:9: +15:15
+    let mut _44: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+15:17: +15:23
+    let mut _45: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+15:25: +15:31
+    let mut _46: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+16:9: +16:15
+    let mut _47: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+16:17: +16:23
+    let mut _48: (u32, u32);             // in scope 0 at $DIR/storage_live_dead_in_statics.rs:+16:25: +16:31
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/storage_live_dead_in_statics.rs:5:28: 23:2
-        StorageLive(_2);                 // scope 0 at $DIR/storage_live_dead_in_statics.rs:5:29: 23:2
-        StorageLive(_3);                 // scope 0 at $DIR/storage_live_dead_in_statics.rs:7:11: 22:6
-        StorageLive(_4);                 // scope 0 at $DIR/storage_live_dead_in_statics.rs:7:11: 22:6
-        StorageLive(_5);                 // scope 0 at $DIR/storage_live_dead_in_statics.rs:7:11: 22:6
-        StorageLive(_6);                 // scope 0 at $DIR/storage_live_dead_in_statics.rs:7:12: 22:6
-        StorageLive(_7);                 // scope 0 at $DIR/storage_live_dead_in_statics.rs:8:9: 8:15
-        _7 = (const 0_u32, const 1_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:8:9: 8:15
-        StorageLive(_8);                 // scope 0 at $DIR/storage_live_dead_in_statics.rs:8:17: 8:23
-        _8 = (const 0_u32, const 2_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:8:17: 8:23
-        StorageLive(_9);                 // scope 0 at $DIR/storage_live_dead_in_statics.rs:8:25: 8:31
-        _9 = (const 0_u32, const 3_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:8:25: 8:31
-        StorageLive(_10);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:9:9: 9:15
-        _10 = (const 0_u32, const 1_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:9:9: 9:15
-        StorageLive(_11);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:9:17: 9:23
-        _11 = (const 0_u32, const 2_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:9:17: 9:23
-        StorageLive(_12);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:9:25: 9:31
-        _12 = (const 0_u32, const 3_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:9:25: 9:31
-        StorageLive(_13);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:10:9: 10:15
-        _13 = (const 0_u32, const 1_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:10:9: 10:15
-        StorageLive(_14);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:10:17: 10:23
-        _14 = (const 0_u32, const 2_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:10:17: 10:23
-        StorageLive(_15);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:10:25: 10:31
-        _15 = (const 0_u32, const 3_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:10:25: 10:31
-        StorageLive(_16);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:11:9: 11:15
-        _16 = (const 0_u32, const 1_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:11:9: 11:15
-        StorageLive(_17);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:11:17: 11:23
-        _17 = (const 0_u32, const 2_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:11:17: 11:23
-        StorageLive(_18);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:11:25: 11:31
-        _18 = (const 0_u32, const 3_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:11:25: 11:31
-        StorageLive(_19);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:12:9: 12:15
-        _19 = (const 0_u32, const 1_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:12:9: 12:15
-        StorageLive(_20);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:12:17: 12:23
-        _20 = (const 0_u32, const 2_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:12:17: 12:23
-        StorageLive(_21);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:12:25: 12:31
-        _21 = (const 0_u32, const 3_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:12:25: 12:31
-        StorageLive(_22);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:13:9: 13:15
-        _22 = (const 0_u32, const 1_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:13:9: 13:15
-        StorageLive(_23);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:13:17: 13:23
-        _23 = (const 0_u32, const 2_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:13:17: 13:23
-        StorageLive(_24);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:13:25: 13:31
-        _24 = (const 0_u32, const 3_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:13:25: 13:31
-        StorageLive(_25);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:14:9: 14:15
-        _25 = (const 0_u32, const 1_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:14:9: 14:15
-        StorageLive(_26);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:14:17: 14:23
-        _26 = (const 0_u32, const 2_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:14:17: 14:23
-        StorageLive(_27);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:14:25: 14:31
-        _27 = (const 0_u32, const 3_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:14:25: 14:31
-        StorageLive(_28);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:15:9: 15:15
-        _28 = (const 0_u32, const 1_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:15:9: 15:15
-        StorageLive(_29);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:15:17: 15:23
-        _29 = (const 0_u32, const 2_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:15:17: 15:23
-        StorageLive(_30);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:15:25: 15:31
-        _30 = (const 0_u32, const 3_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:15:25: 15:31
-        StorageLive(_31);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:16:9: 16:15
-        _31 = (const 0_u32, const 1_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:16:9: 16:15
-        StorageLive(_32);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:16:17: 16:23
-        _32 = (const 0_u32, const 2_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:16:17: 16:23
-        StorageLive(_33);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:16:25: 16:31
-        _33 = (const 0_u32, const 3_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:16:25: 16:31
-        StorageLive(_34);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:17:9: 17:15
-        _34 = (const 0_u32, const 1_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:17:9: 17:15
-        StorageLive(_35);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:17:17: 17:23
-        _35 = (const 0_u32, const 2_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:17:17: 17:23
-        StorageLive(_36);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:17:25: 17:31
-        _36 = (const 0_u32, const 3_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:17:25: 17:31
-        StorageLive(_37);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:18:9: 18:15
-        _37 = (const 0_u32, const 1_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:18:9: 18:15
-        StorageLive(_38);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:18:17: 18:23
-        _38 = (const 0_u32, const 2_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:18:17: 18:23
-        StorageLive(_39);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:18:25: 18:31
-        _39 = (const 0_u32, const 3_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:18:25: 18:31
-        StorageLive(_40);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:19:9: 19:15
-        _40 = (const 0_u32, const 1_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:19:9: 19:15
-        StorageLive(_41);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:19:17: 19:23
-        _41 = (const 0_u32, const 2_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:19:17: 19:23
-        StorageLive(_42);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:19:25: 19:31
-        _42 = (const 0_u32, const 3_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:19:25: 19:31
-        StorageLive(_43);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:20:9: 20:15
-        _43 = (const 0_u32, const 1_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:20:9: 20:15
-        StorageLive(_44);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:20:17: 20:23
-        _44 = (const 0_u32, const 2_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:20:17: 20:23
-        StorageLive(_45);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:20:25: 20:31
-        _45 = (const 0_u32, const 3_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:20:25: 20:31
-        StorageLive(_46);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:21:9: 21:15
-        _46 = (const 0_u32, const 1_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:21:9: 21:15
-        StorageLive(_47);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:21:17: 21:23
-        _47 = (const 0_u32, const 2_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:21:17: 21:23
-        StorageLive(_48);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:21:25: 21:31
-        _48 = (const 0_u32, const 3_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:21:25: 21:31
-        _6 = [move _7, move _8, move _9, move _10, move _11, move _12, move _13, move _14, move _15, move _16, move _17, move _18, move _19, move _20, move _21, move _22, move _23, move _24, move _25, move _26, move _27, move _28, move _29, move _30, move _31, move _32, move _33, move _34, move _35, move _36, move _37, move _38, move _39, move _40, move _41, move _42, move _43, move _44, move _45, move _46, move _47, move _48]; // scope 0 at $DIR/storage_live_dead_in_statics.rs:7:12: 22:6
-        StorageDead(_48);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        StorageDead(_47);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        StorageDead(_46);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        StorageDead(_45);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        StorageDead(_44);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        StorageDead(_43);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        StorageDead(_42);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        StorageDead(_41);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        StorageDead(_40);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        StorageDead(_39);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        StorageDead(_38);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        StorageDead(_37);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        StorageDead(_36);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        StorageDead(_35);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        StorageDead(_34);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        StorageDead(_33);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        StorageDead(_32);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        StorageDead(_31);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        StorageDead(_30);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        StorageDead(_29);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        StorageDead(_28);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        StorageDead(_27);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        StorageDead(_26);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        StorageDead(_25);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        StorageDead(_24);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        StorageDead(_23);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        StorageDead(_22);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        StorageDead(_21);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        StorageDead(_20);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        StorageDead(_19);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        StorageDead(_18);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        StorageDead(_17);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        StorageDead(_16);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        StorageDead(_15);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        StorageDead(_14);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        StorageDead(_13);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        StorageDead(_12);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        StorageDead(_11);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        StorageDead(_10);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        StorageDead(_9);                 // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        StorageDead(_8);                 // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        StorageDead(_7);                 // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        _5 = &_6;                        // scope 0 at $DIR/storage_live_dead_in_statics.rs:7:11: 22:6
-        _4 = &(*_5);                     // scope 0 at $DIR/storage_live_dead_in_statics.rs:7:11: 22:6
-        _3 = move _4 as &[(u32, u32)] (Pointer(Unsize)); // scope 0 at $DIR/storage_live_dead_in_statics.rs:7:11: 22:6
-        StorageDead(_4);                 // scope 0 at $DIR/storage_live_dead_in_statics.rs:22:5: 22:6
-        _2 = Foo { tup: const "hi", data: move _3 }; // scope 0 at $DIR/storage_live_dead_in_statics.rs:5:29: 23:2
+        StorageLive(_1);                 // scope 0 at $DIR/storage_live_dead_in_statics.rs:+0:28: +18:2
+        StorageLive(_2);                 // scope 0 at $DIR/storage_live_dead_in_statics.rs:+0:29: +18:2
+        StorageLive(_3);                 // scope 0 at $DIR/storage_live_dead_in_statics.rs:+2:11: +17:6
+        StorageLive(_4);                 // scope 0 at $DIR/storage_live_dead_in_statics.rs:+2:11: +17:6
+        StorageLive(_5);                 // scope 0 at $DIR/storage_live_dead_in_statics.rs:+2:11: +17:6
+        StorageLive(_6);                 // scope 0 at $DIR/storage_live_dead_in_statics.rs:+2:12: +17:6
+        StorageLive(_7);                 // scope 0 at $DIR/storage_live_dead_in_statics.rs:+3:9: +3:15
+        _7 = (const 0_u32, const 1_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+3:9: +3:15
+        StorageLive(_8);                 // scope 0 at $DIR/storage_live_dead_in_statics.rs:+3:17: +3:23
+        _8 = (const 0_u32, const 2_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+3:17: +3:23
+        StorageLive(_9);                 // scope 0 at $DIR/storage_live_dead_in_statics.rs:+3:25: +3:31
+        _9 = (const 0_u32, const 3_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+3:25: +3:31
+        StorageLive(_10);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+4:9: +4:15
+        _10 = (const 0_u32, const 1_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+4:9: +4:15
+        StorageLive(_11);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+4:17: +4:23
+        _11 = (const 0_u32, const 2_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+4:17: +4:23
+        StorageLive(_12);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+4:25: +4:31
+        _12 = (const 0_u32, const 3_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+4:25: +4:31
+        StorageLive(_13);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+5:9: +5:15
+        _13 = (const 0_u32, const 1_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+5:9: +5:15
+        StorageLive(_14);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+5:17: +5:23
+        _14 = (const 0_u32, const 2_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+5:17: +5:23
+        StorageLive(_15);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+5:25: +5:31
+        _15 = (const 0_u32, const 3_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+5:25: +5:31
+        StorageLive(_16);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+6:9: +6:15
+        _16 = (const 0_u32, const 1_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+6:9: +6:15
+        StorageLive(_17);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+6:17: +6:23
+        _17 = (const 0_u32, const 2_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+6:17: +6:23
+        StorageLive(_18);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+6:25: +6:31
+        _18 = (const 0_u32, const 3_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+6:25: +6:31
+        StorageLive(_19);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+7:9: +7:15
+        _19 = (const 0_u32, const 1_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+7:9: +7:15
+        StorageLive(_20);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+7:17: +7:23
+        _20 = (const 0_u32, const 2_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+7:17: +7:23
+        StorageLive(_21);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+7:25: +7:31
+        _21 = (const 0_u32, const 3_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+7:25: +7:31
+        StorageLive(_22);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+8:9: +8:15
+        _22 = (const 0_u32, const 1_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+8:9: +8:15
+        StorageLive(_23);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+8:17: +8:23
+        _23 = (const 0_u32, const 2_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+8:17: +8:23
+        StorageLive(_24);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+8:25: +8:31
+        _24 = (const 0_u32, const 3_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+8:25: +8:31
+        StorageLive(_25);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+9:9: +9:15
+        _25 = (const 0_u32, const 1_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+9:9: +9:15
+        StorageLive(_26);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+9:17: +9:23
+        _26 = (const 0_u32, const 2_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+9:17: +9:23
+        StorageLive(_27);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+9:25: +9:31
+        _27 = (const 0_u32, const 3_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+9:25: +9:31
+        StorageLive(_28);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+10:9: +10:15
+        _28 = (const 0_u32, const 1_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+10:9: +10:15
+        StorageLive(_29);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+10:17: +10:23
+        _29 = (const 0_u32, const 2_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+10:17: +10:23
+        StorageLive(_30);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+10:25: +10:31
+        _30 = (const 0_u32, const 3_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+10:25: +10:31
+        StorageLive(_31);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+11:9: +11:15
+        _31 = (const 0_u32, const 1_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+11:9: +11:15
+        StorageLive(_32);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+11:17: +11:23
+        _32 = (const 0_u32, const 2_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+11:17: +11:23
+        StorageLive(_33);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+11:25: +11:31
+        _33 = (const 0_u32, const 3_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+11:25: +11:31
+        StorageLive(_34);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+12:9: +12:15
+        _34 = (const 0_u32, const 1_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+12:9: +12:15
+        StorageLive(_35);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+12:17: +12:23
+        _35 = (const 0_u32, const 2_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+12:17: +12:23
+        StorageLive(_36);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+12:25: +12:31
+        _36 = (const 0_u32, const 3_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+12:25: +12:31
+        StorageLive(_37);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+13:9: +13:15
+        _37 = (const 0_u32, const 1_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+13:9: +13:15
+        StorageLive(_38);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+13:17: +13:23
+        _38 = (const 0_u32, const 2_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+13:17: +13:23
+        StorageLive(_39);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+13:25: +13:31
+        _39 = (const 0_u32, const 3_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+13:25: +13:31
+        StorageLive(_40);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+14:9: +14:15
+        _40 = (const 0_u32, const 1_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+14:9: +14:15
+        StorageLive(_41);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+14:17: +14:23
+        _41 = (const 0_u32, const 2_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+14:17: +14:23
+        StorageLive(_42);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+14:25: +14:31
+        _42 = (const 0_u32, const 3_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+14:25: +14:31
+        StorageLive(_43);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+15:9: +15:15
+        _43 = (const 0_u32, const 1_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+15:9: +15:15
+        StorageLive(_44);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+15:17: +15:23
+        _44 = (const 0_u32, const 2_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+15:17: +15:23
+        StorageLive(_45);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+15:25: +15:31
+        _45 = (const 0_u32, const 3_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+15:25: +15:31
+        StorageLive(_46);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+16:9: +16:15
+        _46 = (const 0_u32, const 1_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+16:9: +16:15
+        StorageLive(_47);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+16:17: +16:23
+        _47 = (const 0_u32, const 2_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+16:17: +16:23
+        StorageLive(_48);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+16:25: +16:31
+        _48 = (const 0_u32, const 3_u32); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+16:25: +16:31
+        _6 = [move _7, move _8, move _9, move _10, move _11, move _12, move _13, move _14, move _15, move _16, move _17, move _18, move _19, move _20, move _21, move _22, move _23, move _24, move _25, move _26, move _27, move _28, move _29, move _30, move _31, move _32, move _33, move _34, move _35, move _36, move _37, move _38, move _39, move _40, move _41, move _42, move _43, move _44, move _45, move _46, move _47, move _48]; // scope 0 at $DIR/storage_live_dead_in_statics.rs:+2:12: +17:6
+        StorageDead(_48);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        StorageDead(_47);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        StorageDead(_46);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        StorageDead(_45);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        StorageDead(_44);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        StorageDead(_43);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        StorageDead(_42);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        StorageDead(_41);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        StorageDead(_40);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        StorageDead(_39);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        StorageDead(_38);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        StorageDead(_37);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        StorageDead(_36);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        StorageDead(_35);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        StorageDead(_34);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        StorageDead(_33);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        StorageDead(_32);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        StorageDead(_31);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        StorageDead(_30);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        StorageDead(_29);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        StorageDead(_28);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        StorageDead(_27);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        StorageDead(_26);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        StorageDead(_25);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        StorageDead(_24);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        StorageDead(_23);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        StorageDead(_22);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        StorageDead(_21);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        StorageDead(_20);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        StorageDead(_19);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        StorageDead(_18);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        StorageDead(_17);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        StorageDead(_16);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        StorageDead(_15);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        StorageDead(_14);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        StorageDead(_13);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        StorageDead(_12);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        StorageDead(_11);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        StorageDead(_10);                // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        StorageDead(_9);                 // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        StorageDead(_8);                 // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        StorageDead(_7);                 // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        _5 = &_6;                        // scope 0 at $DIR/storage_live_dead_in_statics.rs:+2:11: +17:6
+        _4 = &(*_5);                     // scope 0 at $DIR/storage_live_dead_in_statics.rs:+2:11: +17:6
+        _3 = move _4 as &[(u32, u32)] (Pointer(Unsize)); // scope 0 at $DIR/storage_live_dead_in_statics.rs:+2:11: +17:6
+        StorageDead(_4);                 // scope 0 at $DIR/storage_live_dead_in_statics.rs:+17:5: +17:6
+        _2 = Foo { tup: const "hi", data: move _3 }; // scope 0 at $DIR/storage_live_dead_in_statics.rs:+0:29: +18:2
                                          // mir::Constant
                                          // + span: $DIR/storage_live_dead_in_statics.rs:6:10: 6:14
                                          // + literal: Const { ty: &str, val: Value(Slice(..)) }
-        StorageDead(_3);                 // scope 0 at $DIR/storage_live_dead_in_statics.rs:23:1: 23:2
-        _1 = &_2;                        // scope 0 at $DIR/storage_live_dead_in_statics.rs:5:28: 23:2
-        _0 = &(*_1);                     // scope 0 at $DIR/storage_live_dead_in_statics.rs:5:28: 23:2
-        StorageDead(_5);                 // scope 0 at $DIR/storage_live_dead_in_statics.rs:23:1: 23:2
-        StorageDead(_1);                 // scope 0 at $DIR/storage_live_dead_in_statics.rs:23:1: 23:2
-        return;                          // scope 0 at $DIR/storage_live_dead_in_statics.rs:5:1: 5:25
+        StorageDead(_3);                 // scope 0 at $DIR/storage_live_dead_in_statics.rs:+18:1: +18:2
+        _1 = &_2;                        // scope 0 at $DIR/storage_live_dead_in_statics.rs:+0:28: +18:2
+        _0 = &(*_1);                     // scope 0 at $DIR/storage_live_dead_in_statics.rs:+0:28: +18:2
+        StorageDead(_5);                 // scope 0 at $DIR/storage_live_dead_in_statics.rs:+18:1: +18:2
+        StorageDead(_1);                 // scope 0 at $DIR/storage_live_dead_in_statics.rs:+18:1: +18:2
+        return;                          // scope 0 at $DIR/storage_live_dead_in_statics.rs:+0:1: +0:25
     }
 }
index b383c5ec9dc60a173fc9a8391828a6467faa3d86..812eb3b82a6d09e2b292a09277cc0757873f78ec 100644 (file)
 | '_#3r: '_#4r due to Assignment at Single(bb0[10]) ($DIR/storage_ranges.rs:6:17: 6:25 (#0)
 |
 fn main() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/storage_ranges.rs:3:11: 3:11
-    let _1: i32;                         // in scope 0 at $DIR/storage_ranges.rs:4:9: 4:10
-    let _2: ();                          // in scope 0 at $DIR/storage_ranges.rs:5:5: 7:6
-    let _4: std::option::Option<i32>;    // in scope 0 at $DIR/storage_ranges.rs:6:18: 6:25
-    let mut _5: i32;                     // in scope 0 at $DIR/storage_ranges.rs:6:23: 6:24
+    let mut _0: ();                      // return place in scope 0 at $DIR/storage_ranges.rs:+0:11: +0:11
+    let _1: i32;                         // in scope 0 at $DIR/storage_ranges.rs:+1:9: +1:10
+    let _2: ();                          // in scope 0 at $DIR/storage_ranges.rs:+2:5: +4:6
+    let _4: std::option::Option<i32>;    // in scope 0 at $DIR/storage_ranges.rs:+3:18: +3:25
+    let mut _5: i32;                     // in scope 0 at $DIR/storage_ranges.rs:+3:23: +3:24
     scope 1 {
-        debug a => _1;                   // in scope 1 at $DIR/storage_ranges.rs:4:9: 4:10
-        let _3: &std::option::Option<i32>; // in scope 1 at $DIR/storage_ranges.rs:6:13: 6:14
-        let _6: i32;                     // in scope 1 at $DIR/storage_ranges.rs:8:9: 8:10
+        debug a => _1;                   // in scope 1 at $DIR/storage_ranges.rs:+1:9: +1:10
+        let _3: &std::option::Option<i32>; // in scope 1 at $DIR/storage_ranges.rs:+3:13: +3:14
+        let _6: i32;                     // in scope 1 at $DIR/storage_ranges.rs:+5:9: +5:10
         scope 2 {
-            debug b => _3;               // in scope 2 at $DIR/storage_ranges.rs:6:13: 6:14
+            debug b => _3;               // in scope 2 at $DIR/storage_ranges.rs:+3:13: +3:14
         }
         scope 3 {
-            debug c => _6;               // in scope 3 at $DIR/storage_ranges.rs:8:9: 8:10
+            debug c => _6;               // in scope 3 at $DIR/storage_ranges.rs:+5:9: +5:10
         }
     }
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/storage_ranges.rs:4:9: 4:10
-        _1 = const 0_i32;                // scope 0 at $DIR/storage_ranges.rs:4:13: 4:14
-        FakeRead(ForLet(None), _1);      // scope 0 at $DIR/storage_ranges.rs:4:9: 4:10
-        StorageLive(_2);                 // scope 1 at $DIR/storage_ranges.rs:5:5: 7:6
-        StorageLive(_3);                 // scope 1 at $DIR/storage_ranges.rs:6:13: 6:14
-        StorageLive(_4);                 // scope 1 at $DIR/storage_ranges.rs:6:18: 6:25
-        StorageLive(_5);                 // scope 1 at $DIR/storage_ranges.rs:6:23: 6:24
-        _5 = _1;                         // scope 1 at $DIR/storage_ranges.rs:6:23: 6:24
-        _4 = Option::<i32>::Some(move _5); // scope 1 at $DIR/storage_ranges.rs:6:18: 6:25
-        StorageDead(_5);                 // scope 1 at $DIR/storage_ranges.rs:6:24: 6:25
-        _3 = &_4;                        // scope 1 at $DIR/storage_ranges.rs:6:17: 6:25
-        FakeRead(ForLet(None), _3);      // scope 1 at $DIR/storage_ranges.rs:6:13: 6:14
-        _2 = const ();                   // scope 1 at $DIR/storage_ranges.rs:5:5: 7:6
-        StorageDead(_4);                 // scope 1 at $DIR/storage_ranges.rs:7:5: 7:6
-        StorageDead(_3);                 // scope 1 at $DIR/storage_ranges.rs:7:5: 7:6
-        StorageDead(_2);                 // scope 1 at $DIR/storage_ranges.rs:7:5: 7:6
-        StorageLive(_6);                 // scope 1 at $DIR/storage_ranges.rs:8:9: 8:10
-        _6 = const 1_i32;                // scope 1 at $DIR/storage_ranges.rs:8:13: 8:14
-        FakeRead(ForLet(None), _6);      // scope 1 at $DIR/storage_ranges.rs:8:9: 8:10
-        _0 = const ();                   // scope 0 at $DIR/storage_ranges.rs:3:11: 9:2
-        StorageDead(_6);                 // scope 1 at $DIR/storage_ranges.rs:9:1: 9:2
-        StorageDead(_1);                 // scope 0 at $DIR/storage_ranges.rs:9:1: 9:2
-        return;                          // scope 0 at $DIR/storage_ranges.rs:9:2: 9:2
+        StorageLive(_1);                 // scope 0 at $DIR/storage_ranges.rs:+1:9: +1:10
+        _1 = const 0_i32;                // scope 0 at $DIR/storage_ranges.rs:+1:13: +1:14
+        FakeRead(ForLet(None), _1);      // scope 0 at $DIR/storage_ranges.rs:+1:9: +1:10
+        StorageLive(_2);                 // scope 1 at $DIR/storage_ranges.rs:+2:5: +4:6
+        StorageLive(_3);                 // scope 1 at $DIR/storage_ranges.rs:+3:13: +3:14
+        StorageLive(_4);                 // scope 1 at $DIR/storage_ranges.rs:+3:18: +3:25
+        StorageLive(_5);                 // scope 1 at $DIR/storage_ranges.rs:+3:23: +3:24
+        _5 = _1;                         // scope 1 at $DIR/storage_ranges.rs:+3:23: +3:24
+        _4 = Option::<i32>::Some(move _5); // scope 1 at $DIR/storage_ranges.rs:+3:18: +3:25
+        StorageDead(_5);                 // scope 1 at $DIR/storage_ranges.rs:+3:24: +3:25
+        _3 = &_4;                        // scope 1 at $DIR/storage_ranges.rs:+3:17: +3:25
+        FakeRead(ForLet(None), _3);      // scope 1 at $DIR/storage_ranges.rs:+3:13: +3:14
+        _2 = const ();                   // scope 1 at $DIR/storage_ranges.rs:+2:5: +4:6
+        StorageDead(_4);                 // scope 1 at $DIR/storage_ranges.rs:+4:5: +4:6
+        StorageDead(_3);                 // scope 1 at $DIR/storage_ranges.rs:+4:5: +4:6
+        StorageDead(_2);                 // scope 1 at $DIR/storage_ranges.rs:+4:5: +4:6
+        StorageLive(_6);                 // scope 1 at $DIR/storage_ranges.rs:+5:9: +5:10
+        _6 = const 1_i32;                // scope 1 at $DIR/storage_ranges.rs:+5:13: +5:14
+        FakeRead(ForLet(None), _6);      // scope 1 at $DIR/storage_ranges.rs:+5:9: +5:10
+        _0 = const ();                   // scope 0 at $DIR/storage_ranges.rs:+0:11: +6:2
+        StorageDead(_6);                 // scope 1 at $DIR/storage_ranges.rs:+6:1: +6:2
+        StorageDead(_1);                 // scope 0 at $DIR/storage_ranges.rs:+6:1: +6:2
+        return;                          // scope 0 at $DIR/storage_ranges.rs:+6:2: +6:2
     }
 }
index baa77497e3862a5607ddcc853531dc45d6c907d8..b6c36be2bbe4c9378470ea1169dc8aa96dc1e572 100644 (file)
@@ -1,28 +1,28 @@
 // MIR for `main` after PreCodegen
 
 fn main() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/tls-access.rs:9:11: 9:11
-    let _2: *mut u8;                     // in scope 0 at $DIR/tls-access.rs:11:18: 11:21
-    let mut _3: *mut u8;                 // in scope 0 at $DIR/tls-access.rs:12:9: 12:12
+    let mut _0: ();                      // return place in scope 0 at $DIR/tls-access.rs:+0:11: +0:11
+    let _2: *mut u8;                     // in scope 0 at $DIR/tls-access.rs:+2:18: +2:21
+    let mut _3: *mut u8;                 // in scope 0 at $DIR/tls-access.rs:+3:9: +3:12
     scope 1 {
-        let _1: &u8;                     // in scope 1 at $DIR/tls-access.rs:11:13: 11:14
+        let _1: &u8;                     // in scope 1 at $DIR/tls-access.rs:+2:13: +2:14
         scope 2 {
-            debug a => _1;               // in scope 2 at $DIR/tls-access.rs:11:13: 11:14
+            debug a => _1;               // in scope 2 at $DIR/tls-access.rs:+2:13: +2:14
         }
     }
 
     bb0: {
-        StorageLive(_1);                 // scope 1 at $DIR/tls-access.rs:11:13: 11:14
-        StorageLive(_2);                 // scope 1 at $DIR/tls-access.rs:11:18: 11:21
-        _2 = &/*tls*/ mut FOO;           // scope 1 at $DIR/tls-access.rs:11:18: 11:21
-        _1 = &(*_2);                     // scope 1 at $DIR/tls-access.rs:11:17: 11:21
-        StorageLive(_3);                 // scope 2 at $DIR/tls-access.rs:12:9: 12:12
-        _3 = &/*tls*/ mut FOO;           // scope 2 at $DIR/tls-access.rs:12:9: 12:12
-        (*_3) = const 42_u8;             // scope 2 at $DIR/tls-access.rs:12:9: 12:17
-        StorageDead(_3);                 // scope 2 at $DIR/tls-access.rs:12:17: 12:18
-        _0 = const ();                   // scope 1 at $DIR/tls-access.rs:10:5: 13:6
-        StorageDead(_2);                 // scope 1 at $DIR/tls-access.rs:13:5: 13:6
-        StorageDead(_1);                 // scope 1 at $DIR/tls-access.rs:13:5: 13:6
-        return;                          // scope 0 at $DIR/tls-access.rs:14:2: 14:2
+        StorageLive(_1);                 // scope 1 at $DIR/tls-access.rs:+2:13: +2:14
+        StorageLive(_2);                 // scope 1 at $DIR/tls-access.rs:+2:18: +2:21
+        _2 = &/*tls*/ mut FOO;           // scope 1 at $DIR/tls-access.rs:+2:18: +2:21
+        _1 = &(*_2);                     // scope 1 at $DIR/tls-access.rs:+2:17: +2:21
+        StorageLive(_3);                 // scope 2 at $DIR/tls-access.rs:+3:9: +3:12
+        _3 = &/*tls*/ mut FOO;           // scope 2 at $DIR/tls-access.rs:+3:9: +3:12
+        (*_3) = const 42_u8;             // scope 2 at $DIR/tls-access.rs:+3:9: +3:17
+        StorageDead(_3);                 // scope 2 at $DIR/tls-access.rs:+3:17: +3:18
+        _0 = const ();                   // scope 1 at $DIR/tls-access.rs:+1:5: +4:6
+        StorageDead(_2);                 // scope 1 at $DIR/tls-access.rs:+4:5: +4:6
+        StorageDead(_1);                 // scope 1 at $DIR/tls-access.rs:+4:5: +4:6
+        return;                          // scope 0 at $DIR/tls-access.rs:+5:2: +5:2
     }
 }
index d36d369003a63954fd1cb9f0aba499b627446827..6e9a8b4d975fa7a34a4a8ae3d95f1b0b81fa890d 100644 (file)
@@ -1,23 +1,23 @@
 // MIR for `move_out_by_subslice` 0 mir_map
 
 fn move_out_by_subslice() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/uniform_array_move_out.rs:10:27: 10:27
-    let _1: [std::boxed::Box<i32>; 2];   // in scope 0 at $DIR/uniform_array_move_out.rs:11:9: 11:10
-    let mut _2: std::boxed::Box<i32>;    // in scope 0 at $DIR/uniform_array_move_out.rs:11:14: 11:19
-    let mut _3: usize;                   // in scope 0 at $DIR/uniform_array_move_out.rs:11:14: 11:19
-    let mut _4: usize;                   // in scope 0 at $DIR/uniform_array_move_out.rs:11:14: 11:19
-    let mut _5: *mut u8;                 // in scope 0 at $DIR/uniform_array_move_out.rs:11:14: 11:19
-    let mut _6: std::boxed::Box<i32>;    // in scope 0 at $DIR/uniform_array_move_out.rs:11:14: 11:19
-    let mut _7: std::boxed::Box<i32>;    // in scope 0 at $DIR/uniform_array_move_out.rs:11:21: 11:26
-    let mut _8: usize;                   // in scope 0 at $DIR/uniform_array_move_out.rs:11:21: 11:26
-    let mut _9: usize;                   // in scope 0 at $DIR/uniform_array_move_out.rs:11:21: 11:26
-    let mut _10: *mut u8;                // in scope 0 at $DIR/uniform_array_move_out.rs:11:21: 11:26
-    let mut _11: std::boxed::Box<i32>;   // in scope 0 at $DIR/uniform_array_move_out.rs:11:21: 11:26
+    let mut _0: ();                      // return place in scope 0 at $DIR/uniform_array_move_out.rs:+0:27: +0:27
+    let _1: [std::boxed::Box<i32>; 2];   // in scope 0 at $DIR/uniform_array_move_out.rs:+1:9: +1:10
+    let mut _2: std::boxed::Box<i32>;    // in scope 0 at $DIR/uniform_array_move_out.rs:+1:14: +1:19
+    let mut _3: usize;                   // in scope 0 at $DIR/uniform_array_move_out.rs:+1:14: +1:19
+    let mut _4: usize;                   // in scope 0 at $DIR/uniform_array_move_out.rs:+1:14: +1:19
+    let mut _5: *mut u8;                 // in scope 0 at $DIR/uniform_array_move_out.rs:+1:14: +1:19
+    let mut _6: std::boxed::Box<i32>;    // in scope 0 at $DIR/uniform_array_move_out.rs:+1:14: +1:19
+    let mut _7: std::boxed::Box<i32>;    // in scope 0 at $DIR/uniform_array_move_out.rs:+1:21: +1:26
+    let mut _8: usize;                   // in scope 0 at $DIR/uniform_array_move_out.rs:+1:21: +1:26
+    let mut _9: usize;                   // in scope 0 at $DIR/uniform_array_move_out.rs:+1:21: +1:26
+    let mut _10: *mut u8;                // in scope 0 at $DIR/uniform_array_move_out.rs:+1:21: +1:26
+    let mut _11: std::boxed::Box<i32>;   // in scope 0 at $DIR/uniform_array_move_out.rs:+1:21: +1:26
     scope 1 {
-        debug a => _1;                   // in scope 1 at $DIR/uniform_array_move_out.rs:11:9: 11:10
-        let _12: [std::boxed::Box<i32>; 2]; // in scope 1 at $DIR/uniform_array_move_out.rs:12:10: 12:17
+        debug a => _1;                   // in scope 1 at $DIR/uniform_array_move_out.rs:+1:9: +1:10
+        let _12: [std::boxed::Box<i32>; 2]; // in scope 1 at $DIR/uniform_array_move_out.rs:+2:10: +2:17
         scope 4 {
-            debug _y => _12;             // in scope 4 at $DIR/uniform_array_move_out.rs:12:10: 12:17
+            debug _y => _12;             // in scope 4 at $DIR/uniform_array_move_out.rs:+2:10: +2:17
         }
     }
     scope 2 {
@@ -26,86 +26,86 @@ fn move_out_by_subslice() -> () {
     }
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/uniform_array_move_out.rs:11:9: 11:10
-        StorageLive(_2);                 // scope 0 at $DIR/uniform_array_move_out.rs:11:14: 11:19
-        _3 = SizeOf(i32);                // scope 2 at $DIR/uniform_array_move_out.rs:11:14: 11:19
-        _4 = AlignOf(i32);               // scope 2 at $DIR/uniform_array_move_out.rs:11:14: 11:19
-        _5 = alloc::alloc::exchange_malloc(move _3, move _4) -> [return: bb1, unwind: bb12]; // scope 2 at $DIR/uniform_array_move_out.rs:11:14: 11:19
+        StorageLive(_1);                 // scope 0 at $DIR/uniform_array_move_out.rs:+1:9: +1:10
+        StorageLive(_2);                 // scope 0 at $DIR/uniform_array_move_out.rs:+1:14: +1:19
+        _3 = SizeOf(i32);                // scope 2 at $DIR/uniform_array_move_out.rs:+1:14: +1:19
+        _4 = AlignOf(i32);               // scope 2 at $DIR/uniform_array_move_out.rs:+1:14: +1:19
+        _5 = alloc::alloc::exchange_malloc(move _3, move _4) -> [return: bb1, unwind: bb12]; // scope 2 at $DIR/uniform_array_move_out.rs:+1:14: +1:19
                                          // mir::Constant
                                          // + span: $DIR/uniform_array_move_out.rs:11:14: 11:19
                                          // + literal: Const { ty: unsafe fn(usize, usize) -> *mut u8 {alloc::alloc::exchange_malloc}, val: Value(<ZST>) }
     }
 
     bb1: {
-        StorageLive(_6);                 // scope 0 at $DIR/uniform_array_move_out.rs:11:14: 11:19
-        _6 = ShallowInitBox(move _5, i32); // scope 0 at $DIR/uniform_array_move_out.rs:11:14: 11:19
-        (*_6) = const 1_i32;             // scope 0 at $DIR/uniform_array_move_out.rs:11:18: 11:19
-        _2 = move _6;                    // scope 0 at $DIR/uniform_array_move_out.rs:11:14: 11:19
-        drop(_6) -> [return: bb2, unwind: bb11]; // scope 0 at $DIR/uniform_array_move_out.rs:11:18: 11:19
+        StorageLive(_6);                 // scope 0 at $DIR/uniform_array_move_out.rs:+1:14: +1:19
+        _6 = ShallowInitBox(move _5, i32); // scope 0 at $DIR/uniform_array_move_out.rs:+1:14: +1:19
+        (*_6) = const 1_i32;             // scope 0 at $DIR/uniform_array_move_out.rs:+1:18: +1:19
+        _2 = move _6;                    // scope 0 at $DIR/uniform_array_move_out.rs:+1:14: +1:19
+        drop(_6) -> [return: bb2, unwind: bb11]; // scope 0 at $DIR/uniform_array_move_out.rs:+1:18: +1:19
     }
 
     bb2: {
-        StorageDead(_6);                 // scope 0 at $DIR/uniform_array_move_out.rs:11:18: 11:19
-        StorageLive(_7);                 // scope 0 at $DIR/uniform_array_move_out.rs:11:21: 11:26
-        _8 = SizeOf(i32);                // scope 3 at $DIR/uniform_array_move_out.rs:11:21: 11:26
-        _9 = AlignOf(i32);               // scope 3 at $DIR/uniform_array_move_out.rs:11:21: 11:26
-        _10 = alloc::alloc::exchange_malloc(move _8, move _9) -> [return: bb3, unwind: bb11]; // scope 3 at $DIR/uniform_array_move_out.rs:11:21: 11:26
+        StorageDead(_6);                 // scope 0 at $DIR/uniform_array_move_out.rs:+1:18: +1:19
+        StorageLive(_7);                 // scope 0 at $DIR/uniform_array_move_out.rs:+1:21: +1:26
+        _8 = SizeOf(i32);                // scope 3 at $DIR/uniform_array_move_out.rs:+1:21: +1:26
+        _9 = AlignOf(i32);               // scope 3 at $DIR/uniform_array_move_out.rs:+1:21: +1:26
+        _10 = alloc::alloc::exchange_malloc(move _8, move _9) -> [return: bb3, unwind: bb11]; // scope 3 at $DIR/uniform_array_move_out.rs:+1:21: +1:26
                                          // mir::Constant
                                          // + span: $DIR/uniform_array_move_out.rs:11:21: 11:26
                                          // + literal: Const { ty: unsafe fn(usize, usize) -> *mut u8 {alloc::alloc::exchange_malloc}, val: Value(<ZST>) }
     }
 
     bb3: {
-        StorageLive(_11);                // scope 0 at $DIR/uniform_array_move_out.rs:11:21: 11:26
-        _11 = ShallowInitBox(move _10, i32); // scope 0 at $DIR/uniform_array_move_out.rs:11:21: 11:26
-        (*_11) = const 2_i32;            // scope 0 at $DIR/uniform_array_move_out.rs:11:25: 11:26
-        _7 = move _11;                   // scope 0 at $DIR/uniform_array_move_out.rs:11:21: 11:26
-        drop(_11) -> [return: bb4, unwind: bb10]; // scope 0 at $DIR/uniform_array_move_out.rs:11:25: 11:26
+        StorageLive(_11);                // scope 0 at $DIR/uniform_array_move_out.rs:+1:21: +1:26
+        _11 = ShallowInitBox(move _10, i32); // scope 0 at $DIR/uniform_array_move_out.rs:+1:21: +1:26
+        (*_11) = const 2_i32;            // scope 0 at $DIR/uniform_array_move_out.rs:+1:25: +1:26
+        _7 = move _11;                   // scope 0 at $DIR/uniform_array_move_out.rs:+1:21: +1:26
+        drop(_11) -> [return: bb4, unwind: bb10]; // scope 0 at $DIR/uniform_array_move_out.rs:+1:25: +1:26
     }
 
     bb4: {
-        StorageDead(_11);                // scope 0 at $DIR/uniform_array_move_out.rs:11:25: 11:26
-        _1 = [move _2, move _7];         // scope 0 at $DIR/uniform_array_move_out.rs:11:13: 11:27
-        drop(_7) -> [return: bb5, unwind: bb11]; // scope 0 at $DIR/uniform_array_move_out.rs:11:26: 11:27
+        StorageDead(_11);                // scope 0 at $DIR/uniform_array_move_out.rs:+1:25: +1:26
+        _1 = [move _2, move _7];         // scope 0 at $DIR/uniform_array_move_out.rs:+1:13: +1:27
+        drop(_7) -> [return: bb5, unwind: bb11]; // scope 0 at $DIR/uniform_array_move_out.rs:+1:26: +1:27
     }
 
     bb5: {
-        StorageDead(_7);                 // scope 0 at $DIR/uniform_array_move_out.rs:11:26: 11:27
-        drop(_2) -> [return: bb6, unwind: bb12]; // scope 0 at $DIR/uniform_array_move_out.rs:11:26: 11:27
+        StorageDead(_7);                 // scope 0 at $DIR/uniform_array_move_out.rs:+1:26: +1:27
+        drop(_2) -> [return: bb6, unwind: bb12]; // scope 0 at $DIR/uniform_array_move_out.rs:+1:26: +1:27
     }
 
     bb6: {
-        StorageDead(_2);                 // scope 0 at $DIR/uniform_array_move_out.rs:11:26: 11:27
-        FakeRead(ForLet(None), _1);      // scope 0 at $DIR/uniform_array_move_out.rs:11:9: 11:10
-        StorageLive(_12);                // scope 1 at $DIR/uniform_array_move_out.rs:12:10: 12:17
-        _12 = 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(_12) -> [return: bb7, unwind: bb9]; // scope 1 at $DIR/uniform_array_move_out.rs:13:1: 13:2
+        StorageDead(_2);                 // scope 0 at $DIR/uniform_array_move_out.rs:+1:26: +1:27
+        FakeRead(ForLet(None), _1);      // scope 0 at $DIR/uniform_array_move_out.rs:+1:9: +1:10
+        StorageLive(_12);                // scope 1 at $DIR/uniform_array_move_out.rs:+2:10: +2:17
+        _12 = move _1[0..2];             // scope 1 at $DIR/uniform_array_move_out.rs:+2:10: +2:17
+        _0 = const ();                   // scope 0 at $DIR/uniform_array_move_out.rs:+0:27: +3:2
+        drop(_12) -> [return: bb7, unwind: bb9]; // scope 1 at $DIR/uniform_array_move_out.rs:+3:1: +3:2
     }
 
     bb7: {
-        StorageDead(_12);                // scope 1 at $DIR/uniform_array_move_out.rs:13:1: 13:2
-        drop(_1) -> [return: bb8, unwind: bb12]; // scope 0 at $DIR/uniform_array_move_out.rs:13:1: 13:2
+        StorageDead(_12);                // scope 1 at $DIR/uniform_array_move_out.rs:+3:1: +3:2
+        drop(_1) -> [return: bb8, unwind: bb12]; // scope 0 at $DIR/uniform_array_move_out.rs:+3:1: +3:2
     }
 
     bb8: {
-        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
+        StorageDead(_1);                 // scope 0 at $DIR/uniform_array_move_out.rs:+3:1: +3:2
+        return;                          // scope 0 at $DIR/uniform_array_move_out.rs:+3:2: +3:2
     }
 
     bb9 (cleanup): {
-        drop(_1) -> bb12;                // scope 0 at $DIR/uniform_array_move_out.rs:13:1: 13:2
+        drop(_1) -> bb12;                // scope 0 at $DIR/uniform_array_move_out.rs:+3:1: +3:2
     }
 
     bb10 (cleanup): {
-        drop(_7) -> bb11;                // scope 0 at $DIR/uniform_array_move_out.rs:11:26: 11:27
+        drop(_7) -> bb11;                // scope 0 at $DIR/uniform_array_move_out.rs:+1:26: +1:27
     }
 
     bb11 (cleanup): {
-        drop(_2) -> bb12;                // scope 0 at $DIR/uniform_array_move_out.rs:11:26: 11:27
+        drop(_2) -> bb12;                // scope 0 at $DIR/uniform_array_move_out.rs:+1:26: +1:27
     }
 
     bb12 (cleanup): {
-        resume;                          // scope 0 at $DIR/uniform_array_move_out.rs:10:1: 13:2
+        resume;                          // scope 0 at $DIR/uniform_array_move_out.rs:+0:1: +3:2
     }
 }
index e6c8b66c25af0c2a87d2fca3fd7eb068a8c0db30..23a50b22ad141dccbeaf0c5c0bc37f3a0cf0e3bf 100644 (file)
@@ -1,23 +1,23 @@
 // MIR for `move_out_from_end` 0 mir_map
 
 fn move_out_from_end() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/uniform_array_move_out.rs:4:24: 4:24
-    let _1: [std::boxed::Box<i32>; 2];   // in scope 0 at $DIR/uniform_array_move_out.rs:5:9: 5:10
-    let mut _2: std::boxed::Box<i32>;    // in scope 0 at $DIR/uniform_array_move_out.rs:5:14: 5:19
-    let mut _3: usize;                   // in scope 0 at $DIR/uniform_array_move_out.rs:5:14: 5:19
-    let mut _4: usize;                   // in scope 0 at $DIR/uniform_array_move_out.rs:5:14: 5:19
-    let mut _5: *mut u8;                 // in scope 0 at $DIR/uniform_array_move_out.rs:5:14: 5:19
-    let mut _6: std::boxed::Box<i32>;    // in scope 0 at $DIR/uniform_array_move_out.rs:5:14: 5:19
-    let mut _7: std::boxed::Box<i32>;    // in scope 0 at $DIR/uniform_array_move_out.rs:5:21: 5:26
-    let mut _8: usize;                   // in scope 0 at $DIR/uniform_array_move_out.rs:5:21: 5:26
-    let mut _9: usize;                   // in scope 0 at $DIR/uniform_array_move_out.rs:5:21: 5:26
-    let mut _10: *mut u8;                // in scope 0 at $DIR/uniform_array_move_out.rs:5:21: 5:26
-    let mut _11: std::boxed::Box<i32>;   // in scope 0 at $DIR/uniform_array_move_out.rs:5:21: 5:26
+    let mut _0: ();                      // return place in scope 0 at $DIR/uniform_array_move_out.rs:+0:24: +0:24
+    let _1: [std::boxed::Box<i32>; 2];   // in scope 0 at $DIR/uniform_array_move_out.rs:+1:9: +1:10
+    let mut _2: std::boxed::Box<i32>;    // in scope 0 at $DIR/uniform_array_move_out.rs:+1:14: +1:19
+    let mut _3: usize;                   // in scope 0 at $DIR/uniform_array_move_out.rs:+1:14: +1:19
+    let mut _4: usize;                   // in scope 0 at $DIR/uniform_array_move_out.rs:+1:14: +1:19
+    let mut _5: *mut u8;                 // in scope 0 at $DIR/uniform_array_move_out.rs:+1:14: +1:19
+    let mut _6: std::boxed::Box<i32>;    // in scope 0 at $DIR/uniform_array_move_out.rs:+1:14: +1:19
+    let mut _7: std::boxed::Box<i32>;    // in scope 0 at $DIR/uniform_array_move_out.rs:+1:21: +1:26
+    let mut _8: usize;                   // in scope 0 at $DIR/uniform_array_move_out.rs:+1:21: +1:26
+    let mut _9: usize;                   // in scope 0 at $DIR/uniform_array_move_out.rs:+1:21: +1:26
+    let mut _10: *mut u8;                // in scope 0 at $DIR/uniform_array_move_out.rs:+1:21: +1:26
+    let mut _11: std::boxed::Box<i32>;   // in scope 0 at $DIR/uniform_array_move_out.rs:+1:21: +1:26
     scope 1 {
-        debug a => _1;                   // in scope 1 at $DIR/uniform_array_move_out.rs:5:9: 5:10
-        let _12: std::boxed::Box<i32>;   // in scope 1 at $DIR/uniform_array_move_out.rs:6:14: 6:16
+        debug a => _1;                   // in scope 1 at $DIR/uniform_array_move_out.rs:+1:9: +1:10
+        let _12: std::boxed::Box<i32>;   // in scope 1 at $DIR/uniform_array_move_out.rs:+2:14: +2:16
         scope 4 {
-            debug _y => _12;             // in scope 4 at $DIR/uniform_array_move_out.rs:6:14: 6:16
+            debug _y => _12;             // in scope 4 at $DIR/uniform_array_move_out.rs:+2:14: +2:16
         }
     }
     scope 2 {
@@ -26,86 +26,86 @@ fn move_out_from_end() -> () {
     }
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/uniform_array_move_out.rs:5:9: 5:10
-        StorageLive(_2);                 // scope 0 at $DIR/uniform_array_move_out.rs:5:14: 5:19
-        _3 = SizeOf(i32);                // scope 2 at $DIR/uniform_array_move_out.rs:5:14: 5:19
-        _4 = AlignOf(i32);               // scope 2 at $DIR/uniform_array_move_out.rs:5:14: 5:19
-        _5 = alloc::alloc::exchange_malloc(move _3, move _4) -> [return: bb1, unwind: bb12]; // scope 2 at $DIR/uniform_array_move_out.rs:5:14: 5:19
+        StorageLive(_1);                 // scope 0 at $DIR/uniform_array_move_out.rs:+1:9: +1:10
+        StorageLive(_2);                 // scope 0 at $DIR/uniform_array_move_out.rs:+1:14: +1:19
+        _3 = SizeOf(i32);                // scope 2 at $DIR/uniform_array_move_out.rs:+1:14: +1:19
+        _4 = AlignOf(i32);               // scope 2 at $DIR/uniform_array_move_out.rs:+1:14: +1:19
+        _5 = alloc::alloc::exchange_malloc(move _3, move _4) -> [return: bb1, unwind: bb12]; // scope 2 at $DIR/uniform_array_move_out.rs:+1:14: +1:19
                                          // mir::Constant
                                          // + span: $DIR/uniform_array_move_out.rs:5:14: 5:19
                                          // + literal: Const { ty: unsafe fn(usize, usize) -> *mut u8 {alloc::alloc::exchange_malloc}, val: Value(<ZST>) }
     }
 
     bb1: {
-        StorageLive(_6);                 // scope 0 at $DIR/uniform_array_move_out.rs:5:14: 5:19
-        _6 = ShallowInitBox(move _5, i32); // scope 0 at $DIR/uniform_array_move_out.rs:5:14: 5:19
-        (*_6) = const 1_i32;             // scope 0 at $DIR/uniform_array_move_out.rs:5:18: 5:19
-        _2 = move _6;                    // scope 0 at $DIR/uniform_array_move_out.rs:5:14: 5:19
-        drop(_6) -> [return: bb2, unwind: bb11]; // scope 0 at $DIR/uniform_array_move_out.rs:5:18: 5:19
+        StorageLive(_6);                 // scope 0 at $DIR/uniform_array_move_out.rs:+1:14: +1:19
+        _6 = ShallowInitBox(move _5, i32); // scope 0 at $DIR/uniform_array_move_out.rs:+1:14: +1:19
+        (*_6) = const 1_i32;             // scope 0 at $DIR/uniform_array_move_out.rs:+1:18: +1:19
+        _2 = move _6;                    // scope 0 at $DIR/uniform_array_move_out.rs:+1:14: +1:19
+        drop(_6) -> [return: bb2, unwind: bb11]; // scope 0 at $DIR/uniform_array_move_out.rs:+1:18: +1:19
     }
 
     bb2: {
-        StorageDead(_6);                 // scope 0 at $DIR/uniform_array_move_out.rs:5:18: 5:19
-        StorageLive(_7);                 // scope 0 at $DIR/uniform_array_move_out.rs:5:21: 5:26
-        _8 = SizeOf(i32);                // scope 3 at $DIR/uniform_array_move_out.rs:5:21: 5:26
-        _9 = AlignOf(i32);               // scope 3 at $DIR/uniform_array_move_out.rs:5:21: 5:26
-        _10 = alloc::alloc::exchange_malloc(move _8, move _9) -> [return: bb3, unwind: bb11]; // scope 3 at $DIR/uniform_array_move_out.rs:5:21: 5:26
+        StorageDead(_6);                 // scope 0 at $DIR/uniform_array_move_out.rs:+1:18: +1:19
+        StorageLive(_7);                 // scope 0 at $DIR/uniform_array_move_out.rs:+1:21: +1:26
+        _8 = SizeOf(i32);                // scope 3 at $DIR/uniform_array_move_out.rs:+1:21: +1:26
+        _9 = AlignOf(i32);               // scope 3 at $DIR/uniform_array_move_out.rs:+1:21: +1:26
+        _10 = alloc::alloc::exchange_malloc(move _8, move _9) -> [return: bb3, unwind: bb11]; // scope 3 at $DIR/uniform_array_move_out.rs:+1:21: +1:26
                                          // mir::Constant
                                          // + span: $DIR/uniform_array_move_out.rs:5:21: 5:26
                                          // + literal: Const { ty: unsafe fn(usize, usize) -> *mut u8 {alloc::alloc::exchange_malloc}, val: Value(<ZST>) }
     }
 
     bb3: {
-        StorageLive(_11);                // scope 0 at $DIR/uniform_array_move_out.rs:5:21: 5:26
-        _11 = ShallowInitBox(move _10, i32); // scope 0 at $DIR/uniform_array_move_out.rs:5:21: 5:26
-        (*_11) = const 2_i32;            // scope 0 at $DIR/uniform_array_move_out.rs:5:25: 5:26
-        _7 = move _11;                   // scope 0 at $DIR/uniform_array_move_out.rs:5:21: 5:26
-        drop(_11) -> [return: bb4, unwind: bb10]; // scope 0 at $DIR/uniform_array_move_out.rs:5:25: 5:26
+        StorageLive(_11);                // scope 0 at $DIR/uniform_array_move_out.rs:+1:21: +1:26
+        _11 = ShallowInitBox(move _10, i32); // scope 0 at $DIR/uniform_array_move_out.rs:+1:21: +1:26
+        (*_11) = const 2_i32;            // scope 0 at $DIR/uniform_array_move_out.rs:+1:25: +1:26
+        _7 = move _11;                   // scope 0 at $DIR/uniform_array_move_out.rs:+1:21: +1:26
+        drop(_11) -> [return: bb4, unwind: bb10]; // scope 0 at $DIR/uniform_array_move_out.rs:+1:25: +1:26
     }
 
     bb4: {
-        StorageDead(_11);                // scope 0 at $DIR/uniform_array_move_out.rs:5:25: 5:26
-        _1 = [move _2, move _7];         // scope 0 at $DIR/uniform_array_move_out.rs:5:13: 5:27
-        drop(_7) -> [return: bb5, unwind: bb11]; // scope 0 at $DIR/uniform_array_move_out.rs:5:26: 5:27
+        StorageDead(_11);                // scope 0 at $DIR/uniform_array_move_out.rs:+1:25: +1:26
+        _1 = [move _2, move _7];         // scope 0 at $DIR/uniform_array_move_out.rs:+1:13: +1:27
+        drop(_7) -> [return: bb5, unwind: bb11]; // scope 0 at $DIR/uniform_array_move_out.rs:+1:26: +1:27
     }
 
     bb5: {
-        StorageDead(_7);                 // scope 0 at $DIR/uniform_array_move_out.rs:5:26: 5:27
-        drop(_2) -> [return: bb6, unwind: bb12]; // scope 0 at $DIR/uniform_array_move_out.rs:5:26: 5:27
+        StorageDead(_7);                 // scope 0 at $DIR/uniform_array_move_out.rs:+1:26: +1:27
+        drop(_2) -> [return: bb6, unwind: bb12]; // scope 0 at $DIR/uniform_array_move_out.rs:+1:26: +1:27
     }
 
     bb6: {
-        StorageDead(_2);                 // scope 0 at $DIR/uniform_array_move_out.rs:5:26: 5:27
-        FakeRead(ForLet(None), _1);      // scope 0 at $DIR/uniform_array_move_out.rs:5:9: 5:10
-        StorageLive(_12);                // scope 1 at $DIR/uniform_array_move_out.rs:6:14: 6:16
-        _12 = 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(_12) -> [return: bb7, unwind: bb9]; // scope 1 at $DIR/uniform_array_move_out.rs:7:1: 7:2
+        StorageDead(_2);                 // scope 0 at $DIR/uniform_array_move_out.rs:+1:26: +1:27
+        FakeRead(ForLet(None), _1);      // scope 0 at $DIR/uniform_array_move_out.rs:+1:9: +1:10
+        StorageLive(_12);                // scope 1 at $DIR/uniform_array_move_out.rs:+2:14: +2:16
+        _12 = move _1[1 of 2];           // scope 1 at $DIR/uniform_array_move_out.rs:+2:14: +2:16
+        _0 = const ();                   // scope 0 at $DIR/uniform_array_move_out.rs:+0:24: +3:2
+        drop(_12) -> [return: bb7, unwind: bb9]; // scope 1 at $DIR/uniform_array_move_out.rs:+3:1: +3:2
     }
 
     bb7: {
-        StorageDead(_12);                // scope 1 at $DIR/uniform_array_move_out.rs:7:1: 7:2
-        drop(_1) -> [return: bb8, unwind: bb12]; // scope 0 at $DIR/uniform_array_move_out.rs:7:1: 7:2
+        StorageDead(_12);                // scope 1 at $DIR/uniform_array_move_out.rs:+3:1: +3:2
+        drop(_1) -> [return: bb8, unwind: bb12]; // scope 0 at $DIR/uniform_array_move_out.rs:+3:1: +3:2
     }
 
     bb8: {
-        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
+        StorageDead(_1);                 // scope 0 at $DIR/uniform_array_move_out.rs:+3:1: +3:2
+        return;                          // scope 0 at $DIR/uniform_array_move_out.rs:+3:2: +3:2
     }
 
     bb9 (cleanup): {
-        drop(_1) -> bb12;                // scope 0 at $DIR/uniform_array_move_out.rs:7:1: 7:2
+        drop(_1) -> bb12;                // scope 0 at $DIR/uniform_array_move_out.rs:+3:1: +3:2
     }
 
     bb10 (cleanup): {
-        drop(_7) -> bb11;                // scope 0 at $DIR/uniform_array_move_out.rs:5:26: 5:27
+        drop(_7) -> bb11;                // scope 0 at $DIR/uniform_array_move_out.rs:+1:26: +1:27
     }
 
     bb11 (cleanup): {
-        drop(_2) -> bb12;                // scope 0 at $DIR/uniform_array_move_out.rs:5:26: 5:27
+        drop(_2) -> bb12;                // scope 0 at $DIR/uniform_array_move_out.rs:+1:26: +1:27
     }
 
     bb12 (cleanup): {
-        resume;                          // scope 0 at $DIR/uniform_array_move_out.rs:4:1: 7:2
+        resume;                          // scope 0 at $DIR/uniform_array_move_out.rs:+0:1: +3:2
     }
 }
index aa6a4cac350b53468a52551964f4a604408c39a4..34c38d24c541e157997f5c1b2d64ea4c08859ba4 100644 (file)
@@ -1,18 +1,18 @@
 // MIR for `process_never` after SimplifyLocals
 
 fn process_never(_1: *const !) -> () {
-    debug input => _1;                   // in scope 0 at $DIR/uninhabited-enum.rs:7:22: 7:27
-    let mut _0: ();                      // return place in scope 0 at $DIR/uninhabited-enum.rs:7:39: 7:39
-    let _2: &!;                          // in scope 0 at $DIR/uninhabited-enum.rs:8:8: 8:14
+    debug input => _1;                   // in scope 0 at $DIR/uninhabited-enum.rs:+0:22: +0:27
+    let mut _0: ();                      // return place in scope 0 at $DIR/uninhabited-enum.rs:+0:39: +0:39
+    let _2: &!;                          // in scope 0 at $DIR/uninhabited-enum.rs:+1:8: +1:14
     scope 1 {
-        debug _input => _2;              // in scope 1 at $DIR/uninhabited-enum.rs:8:8: 8:14
+        debug _input => _2;              // in scope 1 at $DIR/uninhabited-enum.rs:+1:8: +1:14
     }
     scope 2 {
     }
 
     bb0: {
-        StorageLive(_2);                 // scope 0 at $DIR/uninhabited-enum.rs:8:8: 8:14
-        StorageDead(_2);                 // scope 0 at $DIR/uninhabited-enum.rs:9:1: 9:2
-        unreachable;                     // scope 0 at $DIR/uninhabited-enum.rs:7:39: 9:2
+        StorageLive(_2);                 // scope 0 at $DIR/uninhabited-enum.rs:+1:8: +1:14
+        StorageDead(_2);                 // scope 0 at $DIR/uninhabited-enum.rs:+2:1: +2:2
+        unreachable;                     // scope 0 at $DIR/uninhabited-enum.rs:+0:39: +2:2
     }
 }
index 9fd4b1b54e73d5ab94feea038e8bf8774709af97..bbb81724ccfd8583b6bab61ba609fb658e146a94 100644 (file)
@@ -1,18 +1,18 @@
 // MIR for `process_void` after SimplifyLocals
 
 fn process_void(_1: *const Void) -> () {
-    debug input => _1;                   // in scope 0 at $DIR/uninhabited-enum.rs:13:21: 13:26
-    let mut _0: ();                      // return place in scope 0 at $DIR/uninhabited-enum.rs:13:41: 13:41
-    let _2: &Void;                       // in scope 0 at $DIR/uninhabited-enum.rs:14:8: 14:14
+    debug input => _1;                   // in scope 0 at $DIR/uninhabited-enum.rs:+0:21: +0:26
+    let mut _0: ();                      // return place in scope 0 at $DIR/uninhabited-enum.rs:+0:41: +0:41
+    let _2: &Void;                       // in scope 0 at $DIR/uninhabited-enum.rs:+1:8: +1:14
     scope 1 {
-        debug _input => _2;              // in scope 1 at $DIR/uninhabited-enum.rs:14:8: 14:14
+        debug _input => _2;              // in scope 1 at $DIR/uninhabited-enum.rs:+1:8: +1:14
     }
     scope 2 {
     }
 
     bb0: {
-        StorageLive(_2);                 // scope 0 at $DIR/uninhabited-enum.rs:14:8: 14:14
-        StorageDead(_2);                 // scope 0 at $DIR/uninhabited-enum.rs:17:1: 17:2
-        return;                          // scope 0 at $DIR/uninhabited-enum.rs:17:2: 17:2
+        StorageLive(_2);                 // scope 0 at $DIR/uninhabited-enum.rs:+1:8: +1:14
+        StorageDead(_2);                 // scope 0 at $DIR/uninhabited-enum.rs:+4:1: +4:2
+        return;                          // scope 0 at $DIR/uninhabited-enum.rs:+4:2: +4:2
     }
 }
index 16fd328b6f966926de046b3e527fb97b5bdd7768..3d860dac361050227c2f38bc69c2498069a8fee6 100644 (file)
@@ -1,63 +1,63 @@
 // MIR for `main` after SimplifyCfg-after-uninhabited-enum-branching
 
 fn main() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/uninhabited_enum_branching.rs:19:11: 19:11
-    let _1: &str;                        // in scope 0 at $DIR/uninhabited_enum_branching.rs:20:5: 24:6
-    let mut _2: Test1;                   // in scope 0 at $DIR/uninhabited_enum_branching.rs:20:11: 20:19
-    let mut _3: isize;                   // in scope 0 at $DIR/uninhabited_enum_branching.rs:21:9: 21:20
-    let _4: &str;                        // in scope 0 at $DIR/uninhabited_enum_branching.rs:22:24: 22:34
-    let _5: &str;                        // in scope 0 at $DIR/uninhabited_enum_branching.rs:23:21: 23:24
-    let _6: &str;                        // in scope 0 at $DIR/uninhabited_enum_branching.rs:26:5: 29:6
-    let mut _7: Test2;                   // in scope 0 at $DIR/uninhabited_enum_branching.rs:26:11: 26:19
-    let mut _8: isize;                   // in scope 0 at $DIR/uninhabited_enum_branching.rs:27:9: 27:17
-    let _9: &str;                        // in scope 0 at $DIR/uninhabited_enum_branching.rs:28:21: 28:24
+    let mut _0: ();                      // return place in scope 0 at $DIR/uninhabited_enum_branching.rs:+0:11: +0:11
+    let _1: &str;                        // in scope 0 at $DIR/uninhabited_enum_branching.rs:+1:5: +5:6
+    let mut _2: Test1;                   // in scope 0 at $DIR/uninhabited_enum_branching.rs:+1:11: +1:19
+    let mut _3: isize;                   // in scope 0 at $DIR/uninhabited_enum_branching.rs:+2:9: +2:20
+    let _4: &str;                        // in scope 0 at $DIR/uninhabited_enum_branching.rs:+3:24: +3:34
+    let _5: &str;                        // in scope 0 at $DIR/uninhabited_enum_branching.rs:+4:21: +4:24
+    let _6: &str;                        // in scope 0 at $DIR/uninhabited_enum_branching.rs:+7:5: +10:6
+    let mut _7: Test2;                   // in scope 0 at $DIR/uninhabited_enum_branching.rs:+7:11: +7:19
+    let mut _8: isize;                   // in scope 0 at $DIR/uninhabited_enum_branching.rs:+8:9: +8:17
+    let _9: &str;                        // in scope 0 at $DIR/uninhabited_enum_branching.rs:+9:21: +9:24
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:20:5: 24:6
-        StorageLive(_2);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:20:11: 20:19
-        Deinit(_2);                      // scope 0 at $DIR/uninhabited_enum_branching.rs:20:11: 20:19
-        discriminant(_2) = 2;            // scope 0 at $DIR/uninhabited_enum_branching.rs:20:11: 20:19
-        _3 = discriminant(_2);           // scope 0 at $DIR/uninhabited_enum_branching.rs:20:11: 20:19
-        StorageLive(_5);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:23:21: 23:24
-        _5 = const "C";                  // scope 0 at $DIR/uninhabited_enum_branching.rs:23:21: 23:24
+        StorageLive(_1);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:+1:5: +5:6
+        StorageLive(_2);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:+1:11: +1:19
+        Deinit(_2);                      // scope 0 at $DIR/uninhabited_enum_branching.rs:+1:11: +1:19
+        discriminant(_2) = 2;            // scope 0 at $DIR/uninhabited_enum_branching.rs:+1:11: +1:19
+        _3 = discriminant(_2);           // scope 0 at $DIR/uninhabited_enum_branching.rs:+1:11: +1:19
+        StorageLive(_5);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:+4:21: +4:24
+        _5 = const "C";                  // scope 0 at $DIR/uninhabited_enum_branching.rs:+4:21: +4:24
                                          // mir::Constant
                                          // + span: $DIR/uninhabited_enum_branching.rs:23:21: 23:24
                                          // + literal: Const { ty: &str, val: Value(Slice(..)) }
-        _1 = &(*_5);                     // scope 0 at $DIR/uninhabited_enum_branching.rs:23:21: 23:24
-        StorageDead(_5);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:23:23: 23:24
-        StorageDead(_2);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:24:6: 24:7
-        StorageDead(_1);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:24:6: 24:7
-        StorageLive(_6);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:26:5: 29:6
-        StorageLive(_7);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:26:11: 26:19
-        Deinit(_7);                      // scope 0 at $DIR/uninhabited_enum_branching.rs:26:11: 26:19
-        discriminant(_7) = 0;            // scope 0 at $DIR/uninhabited_enum_branching.rs:26:11: 26:19
-        _8 = discriminant(_7);           // scope 0 at $DIR/uninhabited_enum_branching.rs:26:11: 26:19
-        switchInt(move _8) -> [4_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/uninhabited_enum_branching.rs:26:5: 26:19
+        _1 = &(*_5);                     // scope 0 at $DIR/uninhabited_enum_branching.rs:+4:21: +4:24
+        StorageDead(_5);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:+4:23: +4:24
+        StorageDead(_2);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:+5:6: +5:7
+        StorageDead(_1);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:+5:6: +5:7
+        StorageLive(_6);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:+7:5: +10:6
+        StorageLive(_7);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:+7:11: +7:19
+        Deinit(_7);                      // scope 0 at $DIR/uninhabited_enum_branching.rs:+7:11: +7:19
+        discriminant(_7) = 0;            // scope 0 at $DIR/uninhabited_enum_branching.rs:+7:11: +7:19
+        _8 = discriminant(_7);           // scope 0 at $DIR/uninhabited_enum_branching.rs:+7:11: +7:19
+        switchInt(move _8) -> [4_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/uninhabited_enum_branching.rs:+7:5: +7:19
     }
 
     bb1: {
-        StorageLive(_9);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:28:21: 28:24
-        _9 = const "E";                  // scope 0 at $DIR/uninhabited_enum_branching.rs:28:21: 28:24
+        StorageLive(_9);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:+9:21: +9:24
+        _9 = const "E";                  // scope 0 at $DIR/uninhabited_enum_branching.rs:+9:21: +9:24
                                          // mir::Constant
                                          // + span: $DIR/uninhabited_enum_branching.rs:28:21: 28:24
                                          // + literal: Const { ty: &str, val: Value(Slice(..)) }
-        _6 = &(*_9);                     // scope 0 at $DIR/uninhabited_enum_branching.rs:28:21: 28:24
-        StorageDead(_9);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:28:23: 28:24
-        goto -> bb3;                     // scope 0 at $DIR/uninhabited_enum_branching.rs:28:23: 28:24
+        _6 = &(*_9);                     // scope 0 at $DIR/uninhabited_enum_branching.rs:+9:21: +9:24
+        StorageDead(_9);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:+9:23: +9:24
+        goto -> bb3;                     // scope 0 at $DIR/uninhabited_enum_branching.rs:+9:23: +9:24
     }
 
     bb2: {
-        _6 = const "D";                  // scope 0 at $DIR/uninhabited_enum_branching.rs:27:21: 27:24
+        _6 = const "D";                  // scope 0 at $DIR/uninhabited_enum_branching.rs:+8:21: +8:24
                                          // mir::Constant
                                          // + span: $DIR/uninhabited_enum_branching.rs:27:21: 27:24
                                          // + literal: Const { ty: &str, val: Value(Slice(..)) }
-        goto -> bb3;                     // scope 0 at $DIR/uninhabited_enum_branching.rs:27:21: 27:24
+        goto -> bb3;                     // scope 0 at $DIR/uninhabited_enum_branching.rs:+8:21: +8:24
     }
 
     bb3: {
-        StorageDead(_7);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:29:6: 29:7
-        StorageDead(_6);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:29:6: 29:7
-        _0 = const ();                   // scope 0 at $DIR/uninhabited_enum_branching.rs:19:11: 30:2
-        return;                          // scope 0 at $DIR/uninhabited_enum_branching.rs:30:2: 30:2
+        StorageDead(_7);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:+10:6: +10:7
+        StorageDead(_6);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:+10:6: +10:7
+        _0 = const ();                   // scope 0 at $DIR/uninhabited_enum_branching.rs:+0:11: +11:2
+        return;                          // scope 0 at $DIR/uninhabited_enum_branching.rs:+11:2: +11:2
     }
 }
index c499e5c59dbeb3ec4c55e36120911e175808be18..023f6ae32b0095303d8fec96744138f87504ab47 100644 (file)
@@ -2,92 +2,92 @@
 + // MIR for `main` after UninhabitedEnumBranching
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/uninhabited_enum_branching.rs:19:11: 19:11
-      let _1: &str;                        // in scope 0 at $DIR/uninhabited_enum_branching.rs:20:5: 24:6
-      let mut _2: Test1;                   // in scope 0 at $DIR/uninhabited_enum_branching.rs:20:11: 20:19
-      let mut _3: isize;                   // in scope 0 at $DIR/uninhabited_enum_branching.rs:21:9: 21:20
-      let _4: &str;                        // in scope 0 at $DIR/uninhabited_enum_branching.rs:22:24: 22:34
-      let _5: &str;                        // in scope 0 at $DIR/uninhabited_enum_branching.rs:23:21: 23:24
-      let _6: &str;                        // in scope 0 at $DIR/uninhabited_enum_branching.rs:26:5: 29:6
-      let mut _7: Test2;                   // in scope 0 at $DIR/uninhabited_enum_branching.rs:26:11: 26:19
-      let mut _8: isize;                   // in scope 0 at $DIR/uninhabited_enum_branching.rs:27:9: 27:17
-      let _9: &str;                        // in scope 0 at $DIR/uninhabited_enum_branching.rs:28:21: 28:24
+      let mut _0: ();                      // return place in scope 0 at $DIR/uninhabited_enum_branching.rs:+0:11: +0:11
+      let _1: &str;                        // in scope 0 at $DIR/uninhabited_enum_branching.rs:+1:5: +5:6
+      let mut _2: Test1;                   // in scope 0 at $DIR/uninhabited_enum_branching.rs:+1:11: +1:19
+      let mut _3: isize;                   // in scope 0 at $DIR/uninhabited_enum_branching.rs:+2:9: +2:20
+      let _4: &str;                        // in scope 0 at $DIR/uninhabited_enum_branching.rs:+3:24: +3:34
+      let _5: &str;                        // in scope 0 at $DIR/uninhabited_enum_branching.rs:+4:21: +4:24
+      let _6: &str;                        // in scope 0 at $DIR/uninhabited_enum_branching.rs:+7:5: +10:6
+      let mut _7: Test2;                   // in scope 0 at $DIR/uninhabited_enum_branching.rs:+7:11: +7:19
+      let mut _8: isize;                   // in scope 0 at $DIR/uninhabited_enum_branching.rs:+8:9: +8:17
+      let _9: &str;                        // in scope 0 at $DIR/uninhabited_enum_branching.rs:+9:21: +9:24
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:20:5: 24:6
-          StorageLive(_2);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:20:11: 20:19
-          Deinit(_2);                      // scope 0 at $DIR/uninhabited_enum_branching.rs:20:11: 20:19
-          discriminant(_2) = 2;            // scope 0 at $DIR/uninhabited_enum_branching.rs:20:11: 20:19
-          _3 = discriminant(_2);           // scope 0 at $DIR/uninhabited_enum_branching.rs:20:11: 20:19
--         switchInt(move _3) -> [0_isize: bb2, 1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/uninhabited_enum_branching.rs:20:5: 20:19
-+         switchInt(move _3) -> bb1;       // scope 0 at $DIR/uninhabited_enum_branching.rs:20:5: 20:19
+          StorageLive(_1);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:+1:5: +5:6
+          StorageLive(_2);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:+1:11: +1:19
+          Deinit(_2);                      // scope 0 at $DIR/uninhabited_enum_branching.rs:+1:11: +1:19
+          discriminant(_2) = 2;            // scope 0 at $DIR/uninhabited_enum_branching.rs:+1:11: +1:19
+          _3 = discriminant(_2);           // scope 0 at $DIR/uninhabited_enum_branching.rs:+1:11: +1:19
+-         switchInt(move _3) -> [0_isize: bb2, 1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/uninhabited_enum_branching.rs:+1:5: +1:19
++         switchInt(move _3) -> bb1;       // scope 0 at $DIR/uninhabited_enum_branching.rs:+1:5: +1:19
       }
   
       bb1: {
-          StorageLive(_5);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:23:21: 23:24
-          _5 = const "C";                  // scope 0 at $DIR/uninhabited_enum_branching.rs:23:21: 23:24
+          StorageLive(_5);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:+4:21: +4:24
+          _5 = const "C";                  // scope 0 at $DIR/uninhabited_enum_branching.rs:+4:21: +4:24
                                            // mir::Constant
                                            // + span: $DIR/uninhabited_enum_branching.rs:23:21: 23:24
                                            // + literal: Const { ty: &str, val: Value(Slice(..)) }
-          _1 = &(*_5);                     // scope 0 at $DIR/uninhabited_enum_branching.rs:23:21: 23:24
-          StorageDead(_5);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:23:23: 23:24
-          goto -> bb4;                     // scope 0 at $DIR/uninhabited_enum_branching.rs:23:23: 23:24
+          _1 = &(*_5);                     // scope 0 at $DIR/uninhabited_enum_branching.rs:+4:21: +4:24
+          StorageDead(_5);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:+4:23: +4:24
+          goto -> bb4;                     // scope 0 at $DIR/uninhabited_enum_branching.rs:+4:23: +4:24
       }
   
       bb2: {
-          _1 = const "A(Empty)";           // scope 0 at $DIR/uninhabited_enum_branching.rs:21:24: 21:34
+          _1 = const "A(Empty)";           // scope 0 at $DIR/uninhabited_enum_branching.rs:+2:24: +2:34
                                            // mir::Constant
                                            // + span: $DIR/uninhabited_enum_branching.rs:21:24: 21:34
                                            // + literal: Const { ty: &str, val: Value(Slice(..)) }
-          goto -> bb4;                     // scope 0 at $DIR/uninhabited_enum_branching.rs:21:24: 21:34
+          goto -> bb4;                     // scope 0 at $DIR/uninhabited_enum_branching.rs:+2:24: +2:34
       }
   
       bb3: {
-          StorageLive(_4);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:22:24: 22:34
-          _4 = const "B(Empty)";           // scope 0 at $DIR/uninhabited_enum_branching.rs:22:24: 22:34
+          StorageLive(_4);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:+3:24: +3:34
+          _4 = const "B(Empty)";           // scope 0 at $DIR/uninhabited_enum_branching.rs:+3:24: +3:34
                                            // mir::Constant
                                            // + span: $DIR/uninhabited_enum_branching.rs:22:24: 22:34
                                            // + literal: Const { ty: &str, val: Value(Slice(..)) }
-          _1 = &(*_4);                     // scope 0 at $DIR/uninhabited_enum_branching.rs:22:24: 22:34
-          StorageDead(_4);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:22:33: 22:34
-          goto -> bb4;                     // scope 0 at $DIR/uninhabited_enum_branching.rs:22:33: 22:34
+          _1 = &(*_4);                     // scope 0 at $DIR/uninhabited_enum_branching.rs:+3:24: +3:34
+          StorageDead(_4);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:+3:33: +3:34
+          goto -> bb4;                     // scope 0 at $DIR/uninhabited_enum_branching.rs:+3:33: +3:34
       }
   
       bb4: {
-          StorageDead(_2);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:24:6: 24:7
-          StorageDead(_1);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:24:6: 24:7
-          StorageLive(_6);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:26:5: 29:6
-          StorageLive(_7);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:26:11: 26:19
-          Deinit(_7);                      // scope 0 at $DIR/uninhabited_enum_branching.rs:26:11: 26:19
-          discriminant(_7) = 0;            // scope 0 at $DIR/uninhabited_enum_branching.rs:26:11: 26:19
-          _8 = discriminant(_7);           // scope 0 at $DIR/uninhabited_enum_branching.rs:26:11: 26:19
-          switchInt(move _8) -> [4_isize: bb6, otherwise: bb5]; // scope 0 at $DIR/uninhabited_enum_branching.rs:26:5: 26:19
+          StorageDead(_2);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:+5:6: +5:7
+          StorageDead(_1);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:+5:6: +5:7
+          StorageLive(_6);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:+7:5: +10:6
+          StorageLive(_7);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:+7:11: +7:19
+          Deinit(_7);                      // scope 0 at $DIR/uninhabited_enum_branching.rs:+7:11: +7:19
+          discriminant(_7) = 0;            // scope 0 at $DIR/uninhabited_enum_branching.rs:+7:11: +7:19
+          _8 = discriminant(_7);           // scope 0 at $DIR/uninhabited_enum_branching.rs:+7:11: +7:19
+          switchInt(move _8) -> [4_isize: bb6, otherwise: bb5]; // scope 0 at $DIR/uninhabited_enum_branching.rs:+7:5: +7:19
       }
   
       bb5: {
-          StorageLive(_9);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:28:21: 28:24
-          _9 = const "E";                  // scope 0 at $DIR/uninhabited_enum_branching.rs:28:21: 28:24
+          StorageLive(_9);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:+9:21: +9:24
+          _9 = const "E";                  // scope 0 at $DIR/uninhabited_enum_branching.rs:+9:21: +9:24
                                            // mir::Constant
                                            // + span: $DIR/uninhabited_enum_branching.rs:28:21: 28:24
                                            // + literal: Const { ty: &str, val: Value(Slice(..)) }
-          _6 = &(*_9);                     // scope 0 at $DIR/uninhabited_enum_branching.rs:28:21: 28:24
-          StorageDead(_9);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:28:23: 28:24
-          goto -> bb7;                     // scope 0 at $DIR/uninhabited_enum_branching.rs:28:23: 28:24
+          _6 = &(*_9);                     // scope 0 at $DIR/uninhabited_enum_branching.rs:+9:21: +9:24
+          StorageDead(_9);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:+9:23: +9:24
+          goto -> bb7;                     // scope 0 at $DIR/uninhabited_enum_branching.rs:+9:23: +9:24
       }
   
       bb6: {
-          _6 = const "D";                  // scope 0 at $DIR/uninhabited_enum_branching.rs:27:21: 27:24
+          _6 = const "D";                  // scope 0 at $DIR/uninhabited_enum_branching.rs:+8:21: +8:24
                                            // mir::Constant
                                            // + span: $DIR/uninhabited_enum_branching.rs:27:21: 27:24
                                            // + literal: Const { ty: &str, val: Value(Slice(..)) }
-          goto -> bb7;                     // scope 0 at $DIR/uninhabited_enum_branching.rs:27:21: 27:24
+          goto -> bb7;                     // scope 0 at $DIR/uninhabited_enum_branching.rs:+8:21: +8:24
       }
   
       bb7: {
-          StorageDead(_7);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:29:6: 29:7
-          StorageDead(_6);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:29:6: 29:7
-          _0 = const ();                   // scope 0 at $DIR/uninhabited_enum_branching.rs:19:11: 30:2
-          return;                          // scope 0 at $DIR/uninhabited_enum_branching.rs:30:2: 30:2
+          StorageDead(_7);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:+10:6: +10:7
+          StorageDead(_6);                 // scope 0 at $DIR/uninhabited_enum_branching.rs:+10:6: +10:7
+          _0 = const ();                   // scope 0 at $DIR/uninhabited_enum_branching.rs:+0:11: +11:2
+          return;                          // scope 0 at $DIR/uninhabited_enum_branching.rs:+11:2: +11:2
       }
   }
   
index 77951bc8d7b6779ac446249dd946b0e287852264..a5e7f526928ac2c47b5fac37188ce4de73d7dfb0 100644 (file)
@@ -1,96 +1,96 @@
 // MIR for `main` after SimplifyCfg-after-uninhabited-enum-branching
 
 fn main() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/uninhabited_enum_branching2.rs:18:11: 18:11
-    let _1: Plop;                        // in scope 0 at $DIR/uninhabited_enum_branching2.rs:19:9: 19:13
-    let mut _2: Test1;                   // in scope 0 at $DIR/uninhabited_enum_branching2.rs:19:38: 19:46
-    let _3: &str;                        // in scope 0 at $DIR/uninhabited_enum_branching2.rs:21:5: 26:6
-    let mut _4: &Test1;                  // in scope 0 at $DIR/uninhabited_enum_branching2.rs:21:11: 21:22
-    let mut _5: isize;                   // in scope 0 at $DIR/uninhabited_enum_branching2.rs:22:9: 22:20
-    let _6: &str;                        // in scope 0 at $DIR/uninhabited_enum_branching2.rs:23:24: 23:34
-    let _7: &str;                        // in scope 0 at $DIR/uninhabited_enum_branching2.rs:24:21: 24:24
-    let _8: &str;                        // in scope 0 at $DIR/uninhabited_enum_branching2.rs:25:21: 25:24
-    let _9: &str;                        // in scope 0 at $DIR/uninhabited_enum_branching2.rs:28:5: 33:6
-    let mut _10: isize;                  // in scope 0 at $DIR/uninhabited_enum_branching2.rs:29:9: 29:20
-    let _11: &str;                       // in scope 0 at $DIR/uninhabited_enum_branching2.rs:30:24: 30:34
-    let _12: &str;                       // in scope 0 at $DIR/uninhabited_enum_branching2.rs:31:21: 31:24
-    let _13: &str;                       // in scope 0 at $DIR/uninhabited_enum_branching2.rs:32:21: 32:24
+    let mut _0: ();                      // return place in scope 0 at $DIR/uninhabited_enum_branching2.rs:+0:11: +0:11
+    let _1: Plop;                        // in scope 0 at $DIR/uninhabited_enum_branching2.rs:+1:9: +1:13
+    let mut _2: Test1;                   // in scope 0 at $DIR/uninhabited_enum_branching2.rs:+1:38: +1:46
+    let _3: &str;                        // in scope 0 at $DIR/uninhabited_enum_branching2.rs:+3:5: +8:6
+    let mut _4: &Test1;                  // in scope 0 at $DIR/uninhabited_enum_branching2.rs:+3:11: +3:22
+    let mut _5: isize;                   // in scope 0 at $DIR/uninhabited_enum_branching2.rs:+4:9: +4:20
+    let _6: &str;                        // in scope 0 at $DIR/uninhabited_enum_branching2.rs:+5:24: +5:34
+    let _7: &str;                        // in scope 0 at $DIR/uninhabited_enum_branching2.rs:+6:21: +6:24
+    let _8: &str;                        // in scope 0 at $DIR/uninhabited_enum_branching2.rs:+7:21: +7:24
+    let _9: &str;                        // in scope 0 at $DIR/uninhabited_enum_branching2.rs:+10:5: +15:6
+    let mut _10: isize;                  // in scope 0 at $DIR/uninhabited_enum_branching2.rs:+11:9: +11:20
+    let _11: &str;                       // in scope 0 at $DIR/uninhabited_enum_branching2.rs:+12:24: +12:34
+    let _12: &str;                       // in scope 0 at $DIR/uninhabited_enum_branching2.rs:+13:21: +13:24
+    let _13: &str;                       // in scope 0 at $DIR/uninhabited_enum_branching2.rs:+14:21: +14:24
     scope 1 {
-        debug plop => _1;                // in scope 1 at $DIR/uninhabited_enum_branching2.rs:19:9: 19:13
+        debug plop => _1;                // in scope 1 at $DIR/uninhabited_enum_branching2.rs:+1:9: +1:13
     }
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/uninhabited_enum_branching2.rs:19:9: 19:13
-        StorageLive(_2);                 // scope 0 at $DIR/uninhabited_enum_branching2.rs:19:38: 19:46
-        Deinit(_2);                      // scope 0 at $DIR/uninhabited_enum_branching2.rs:19:38: 19:46
-        discriminant(_2) = 2;            // scope 0 at $DIR/uninhabited_enum_branching2.rs:19:38: 19:46
-        Deinit(_1);                      // scope 0 at $DIR/uninhabited_enum_branching2.rs:19:16: 19:48
-        (_1.0: u32) = const 51_u32;      // scope 0 at $DIR/uninhabited_enum_branching2.rs:19:16: 19:48
-        (_1.1: Test1) = move _2;         // scope 0 at $DIR/uninhabited_enum_branching2.rs:19:16: 19:48
-        StorageDead(_2);                 // scope 0 at $DIR/uninhabited_enum_branching2.rs:19:47: 19:48
-        StorageLive(_3);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:21:5: 26:6
-        StorageLive(_4);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:21:11: 21:22
-        _4 = &(_1.1: Test1);             // scope 1 at $DIR/uninhabited_enum_branching2.rs:21:11: 21:22
-        _5 = discriminant((*_4));        // scope 1 at $DIR/uninhabited_enum_branching2.rs:21:11: 21:22
-        switchInt(move _5) -> [2_isize: bb2, otherwise: bb1]; // scope 1 at $DIR/uninhabited_enum_branching2.rs:21:5: 21:22
+        StorageLive(_1);                 // scope 0 at $DIR/uninhabited_enum_branching2.rs:+1:9: +1:13
+        StorageLive(_2);                 // scope 0 at $DIR/uninhabited_enum_branching2.rs:+1:38: +1:46
+        Deinit(_2);                      // scope 0 at $DIR/uninhabited_enum_branching2.rs:+1:38: +1:46
+        discriminant(_2) = 2;            // scope 0 at $DIR/uninhabited_enum_branching2.rs:+1:38: +1:46
+        Deinit(_1);                      // scope 0 at $DIR/uninhabited_enum_branching2.rs:+1:16: +1:48
+        (_1.0: u32) = const 51_u32;      // scope 0 at $DIR/uninhabited_enum_branching2.rs:+1:16: +1:48
+        (_1.1: Test1) = move _2;         // scope 0 at $DIR/uninhabited_enum_branching2.rs:+1:16: +1:48
+        StorageDead(_2);                 // scope 0 at $DIR/uninhabited_enum_branching2.rs:+1:47: +1:48
+        StorageLive(_3);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:+3:5: +8:6
+        StorageLive(_4);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:+3:11: +3:22
+        _4 = &(_1.1: Test1);             // scope 1 at $DIR/uninhabited_enum_branching2.rs:+3:11: +3:22
+        _5 = discriminant((*_4));        // scope 1 at $DIR/uninhabited_enum_branching2.rs:+3:11: +3:22
+        switchInt(move _5) -> [2_isize: bb2, otherwise: bb1]; // scope 1 at $DIR/uninhabited_enum_branching2.rs:+3:5: +3:22
     }
 
     bb1: {
-        StorageLive(_8);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:25:21: 25:24
-        _8 = const "D";                  // scope 1 at $DIR/uninhabited_enum_branching2.rs:25:21: 25:24
+        StorageLive(_8);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:+7:21: +7:24
+        _8 = const "D";                  // scope 1 at $DIR/uninhabited_enum_branching2.rs:+7:21: +7:24
                                          // mir::Constant
                                          // + span: $DIR/uninhabited_enum_branching2.rs:25:21: 25:24
                                          // + literal: Const { ty: &str, val: Value(Slice(..)) }
-        _3 = &(*_8);                     // scope 1 at $DIR/uninhabited_enum_branching2.rs:25:21: 25:24
-        StorageDead(_8);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:25:23: 25:24
-        goto -> bb3;                     // scope 1 at $DIR/uninhabited_enum_branching2.rs:25:23: 25:24
+        _3 = &(*_8);                     // scope 1 at $DIR/uninhabited_enum_branching2.rs:+7:21: +7:24
+        StorageDead(_8);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:+7:23: +7:24
+        goto -> bb3;                     // scope 1 at $DIR/uninhabited_enum_branching2.rs:+7:23: +7:24
     }
 
     bb2: {
-        StorageLive(_7);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:24:21: 24:24
-        _7 = const "C";                  // scope 1 at $DIR/uninhabited_enum_branching2.rs:24:21: 24:24
+        StorageLive(_7);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:+6:21: +6:24
+        _7 = const "C";                  // scope 1 at $DIR/uninhabited_enum_branching2.rs:+6:21: +6:24
                                          // mir::Constant
                                          // + span: $DIR/uninhabited_enum_branching2.rs:24:21: 24:24
                                          // + literal: Const { ty: &str, val: Value(Slice(..)) }
-        _3 = &(*_7);                     // scope 1 at $DIR/uninhabited_enum_branching2.rs:24:21: 24:24
-        StorageDead(_7);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:24:23: 24:24
-        goto -> bb3;                     // scope 1 at $DIR/uninhabited_enum_branching2.rs:24:23: 24:24
+        _3 = &(*_7);                     // scope 1 at $DIR/uninhabited_enum_branching2.rs:+6:21: +6:24
+        StorageDead(_7);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:+6:23: +6:24
+        goto -> bb3;                     // scope 1 at $DIR/uninhabited_enum_branching2.rs:+6:23: +6:24
     }
 
     bb3: {
-        StorageDead(_4);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:26:6: 26:7
-        StorageDead(_3);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:26:6: 26:7
-        StorageLive(_9);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:28:5: 33:6
-        _10 = discriminant((_1.1: Test1)); // scope 1 at $DIR/uninhabited_enum_branching2.rs:28:11: 28:21
-        switchInt(move _10) -> [2_isize: bb5, otherwise: bb4]; // scope 1 at $DIR/uninhabited_enum_branching2.rs:28:5: 28:21
+        StorageDead(_4);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:+8:6: +8:7
+        StorageDead(_3);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:+8:6: +8:7
+        StorageLive(_9);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:+10:5: +15:6
+        _10 = discriminant((_1.1: Test1)); // scope 1 at $DIR/uninhabited_enum_branching2.rs:+10:11: +10:21
+        switchInt(move _10) -> [2_isize: bb5, otherwise: bb4]; // scope 1 at $DIR/uninhabited_enum_branching2.rs:+10:5: +10:21
     }
 
     bb4: {
-        StorageLive(_13);                // scope 1 at $DIR/uninhabited_enum_branching2.rs:32:21: 32:24
-        _13 = const "D";                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:32:21: 32:24
+        StorageLive(_13);                // scope 1 at $DIR/uninhabited_enum_branching2.rs:+14:21: +14:24
+        _13 = const "D";                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:+14:21: +14:24
                                          // mir::Constant
                                          // + span: $DIR/uninhabited_enum_branching2.rs:32:21: 32:24
                                          // + literal: Const { ty: &str, val: Value(Slice(..)) }
-        _9 = &(*_13);                    // scope 1 at $DIR/uninhabited_enum_branching2.rs:32:21: 32:24
-        StorageDead(_13);                // scope 1 at $DIR/uninhabited_enum_branching2.rs:32:23: 32:24
-        goto -> bb6;                     // scope 1 at $DIR/uninhabited_enum_branching2.rs:32:23: 32:24
+        _9 = &(*_13);                    // scope 1 at $DIR/uninhabited_enum_branching2.rs:+14:21: +14:24
+        StorageDead(_13);                // scope 1 at $DIR/uninhabited_enum_branching2.rs:+14:23: +14:24
+        goto -> bb6;                     // scope 1 at $DIR/uninhabited_enum_branching2.rs:+14:23: +14:24
     }
 
     bb5: {
-        StorageLive(_12);                // scope 1 at $DIR/uninhabited_enum_branching2.rs:31:21: 31:24
-        _12 = const "C";                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:31:21: 31:24
+        StorageLive(_12);                // scope 1 at $DIR/uninhabited_enum_branching2.rs:+13:21: +13:24
+        _12 = const "C";                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:+13:21: +13:24
                                          // mir::Constant
                                          // + span: $DIR/uninhabited_enum_branching2.rs:31:21: 31:24
                                          // + literal: Const { ty: &str, val: Value(Slice(..)) }
-        _9 = &(*_12);                    // scope 1 at $DIR/uninhabited_enum_branching2.rs:31:21: 31:24
-        StorageDead(_12);                // scope 1 at $DIR/uninhabited_enum_branching2.rs:31:23: 31:24
-        goto -> bb6;                     // scope 1 at $DIR/uninhabited_enum_branching2.rs:31:23: 31:24
+        _9 = &(*_12);                    // scope 1 at $DIR/uninhabited_enum_branching2.rs:+13:21: +13:24
+        StorageDead(_12);                // scope 1 at $DIR/uninhabited_enum_branching2.rs:+13:23: +13:24
+        goto -> bb6;                     // scope 1 at $DIR/uninhabited_enum_branching2.rs:+13:23: +13:24
     }
 
     bb6: {
-        StorageDead(_9);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:33:6: 33:7
-        _0 = const ();                   // scope 0 at $DIR/uninhabited_enum_branching2.rs:18:11: 34:2
-        StorageDead(_1);                 // scope 0 at $DIR/uninhabited_enum_branching2.rs:34:1: 34:2
-        return;                          // scope 0 at $DIR/uninhabited_enum_branching2.rs:34:2: 34:2
+        StorageDead(_9);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:+15:6: +15:7
+        _0 = const ();                   // scope 0 at $DIR/uninhabited_enum_branching2.rs:+0:11: +16:2
+        StorageDead(_1);                 // scope 0 at $DIR/uninhabited_enum_branching2.rs:+16:1: +16:2
+        return;                          // scope 0 at $DIR/uninhabited_enum_branching2.rs:+16:2: +16:2
     }
 }
index 1b06c730cdab6139636ee29e7607129f8c822390..157518491f19a234b12d3a0b3265f1e836d48a8a 100644 (file)
 + // MIR for `main` after UninhabitedEnumBranching
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/uninhabited_enum_branching2.rs:18:11: 18:11
-      let _1: Plop;                        // in scope 0 at $DIR/uninhabited_enum_branching2.rs:19:9: 19:13
-      let mut _2: Test1;                   // in scope 0 at $DIR/uninhabited_enum_branching2.rs:19:38: 19:46
-      let _3: &str;                        // in scope 0 at $DIR/uninhabited_enum_branching2.rs:21:5: 26:6
-      let mut _4: &Test1;                  // in scope 0 at $DIR/uninhabited_enum_branching2.rs:21:11: 21:22
-      let mut _5: isize;                   // in scope 0 at $DIR/uninhabited_enum_branching2.rs:22:9: 22:20
-      let _6: &str;                        // in scope 0 at $DIR/uninhabited_enum_branching2.rs:23:24: 23:34
-      let _7: &str;                        // in scope 0 at $DIR/uninhabited_enum_branching2.rs:24:21: 24:24
-      let _8: &str;                        // in scope 0 at $DIR/uninhabited_enum_branching2.rs:25:21: 25:24
-      let _9: &str;                        // in scope 0 at $DIR/uninhabited_enum_branching2.rs:28:5: 33:6
-      let mut _10: isize;                  // in scope 0 at $DIR/uninhabited_enum_branching2.rs:29:9: 29:20
-      let _11: &str;                       // in scope 0 at $DIR/uninhabited_enum_branching2.rs:30:24: 30:34
-      let _12: &str;                       // in scope 0 at $DIR/uninhabited_enum_branching2.rs:31:21: 31:24
-      let _13: &str;                       // in scope 0 at $DIR/uninhabited_enum_branching2.rs:32:21: 32:24
+      let mut _0: ();                      // return place in scope 0 at $DIR/uninhabited_enum_branching2.rs:+0:11: +0:11
+      let _1: Plop;                        // in scope 0 at $DIR/uninhabited_enum_branching2.rs:+1:9: +1:13
+      let mut _2: Test1;                   // in scope 0 at $DIR/uninhabited_enum_branching2.rs:+1:38: +1:46
+      let _3: &str;                        // in scope 0 at $DIR/uninhabited_enum_branching2.rs:+3:5: +8:6
+      let mut _4: &Test1;                  // in scope 0 at $DIR/uninhabited_enum_branching2.rs:+3:11: +3:22
+      let mut _5: isize;                   // in scope 0 at $DIR/uninhabited_enum_branching2.rs:+4:9: +4:20
+      let _6: &str;                        // in scope 0 at $DIR/uninhabited_enum_branching2.rs:+5:24: +5:34
+      let _7: &str;                        // in scope 0 at $DIR/uninhabited_enum_branching2.rs:+6:21: +6:24
+      let _8: &str;                        // in scope 0 at $DIR/uninhabited_enum_branching2.rs:+7:21: +7:24
+      let _9: &str;                        // in scope 0 at $DIR/uninhabited_enum_branching2.rs:+10:5: +15:6
+      let mut _10: isize;                  // in scope 0 at $DIR/uninhabited_enum_branching2.rs:+11:9: +11:20
+      let _11: &str;                       // in scope 0 at $DIR/uninhabited_enum_branching2.rs:+12:24: +12:34
+      let _12: &str;                       // in scope 0 at $DIR/uninhabited_enum_branching2.rs:+13:21: +13:24
+      let _13: &str;                       // in scope 0 at $DIR/uninhabited_enum_branching2.rs:+14:21: +14:24
       scope 1 {
-          debug plop => _1;                // in scope 1 at $DIR/uninhabited_enum_branching2.rs:19:9: 19:13
+          debug plop => _1;                // in scope 1 at $DIR/uninhabited_enum_branching2.rs:+1:9: +1:13
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/uninhabited_enum_branching2.rs:19:9: 19:13
-          StorageLive(_2);                 // scope 0 at $DIR/uninhabited_enum_branching2.rs:19:38: 19:46
-          Deinit(_2);                      // scope 0 at $DIR/uninhabited_enum_branching2.rs:19:38: 19:46
-          discriminant(_2) = 2;            // scope 0 at $DIR/uninhabited_enum_branching2.rs:19:38: 19:46
-          Deinit(_1);                      // scope 0 at $DIR/uninhabited_enum_branching2.rs:19:16: 19:48
-          (_1.0: u32) = const 51_u32;      // scope 0 at $DIR/uninhabited_enum_branching2.rs:19:16: 19:48
-          (_1.1: Test1) = move _2;         // scope 0 at $DIR/uninhabited_enum_branching2.rs:19:16: 19:48
-          StorageDead(_2);                 // scope 0 at $DIR/uninhabited_enum_branching2.rs:19:47: 19:48
-          StorageLive(_3);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:21:5: 26:6
-          StorageLive(_4);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:21:11: 21:22
-          _4 = &(_1.1: Test1);             // scope 1 at $DIR/uninhabited_enum_branching2.rs:21:11: 21:22
-          _5 = discriminant((*_4));        // scope 1 at $DIR/uninhabited_enum_branching2.rs:21:11: 21:22
--         switchInt(move _5) -> [0_isize: bb2, 1_isize: bb3, 2_isize: bb4, otherwise: bb1]; // scope 1 at $DIR/uninhabited_enum_branching2.rs:21:5: 21:22
-+         switchInt(move _5) -> [2_isize: bb4, otherwise: bb1]; // scope 1 at $DIR/uninhabited_enum_branching2.rs:21:5: 21:22
+          StorageLive(_1);                 // scope 0 at $DIR/uninhabited_enum_branching2.rs:+1:9: +1:13
+          StorageLive(_2);                 // scope 0 at $DIR/uninhabited_enum_branching2.rs:+1:38: +1:46
+          Deinit(_2);                      // scope 0 at $DIR/uninhabited_enum_branching2.rs:+1:38: +1:46
+          discriminant(_2) = 2;            // scope 0 at $DIR/uninhabited_enum_branching2.rs:+1:38: +1:46
+          Deinit(_1);                      // scope 0 at $DIR/uninhabited_enum_branching2.rs:+1:16: +1:48
+          (_1.0: u32) = const 51_u32;      // scope 0 at $DIR/uninhabited_enum_branching2.rs:+1:16: +1:48
+          (_1.1: Test1) = move _2;         // scope 0 at $DIR/uninhabited_enum_branching2.rs:+1:16: +1:48
+          StorageDead(_2);                 // scope 0 at $DIR/uninhabited_enum_branching2.rs:+1:47: +1:48
+          StorageLive(_3);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:+3:5: +8:6
+          StorageLive(_4);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:+3:11: +3:22
+          _4 = &(_1.1: Test1);             // scope 1 at $DIR/uninhabited_enum_branching2.rs:+3:11: +3:22
+          _5 = discriminant((*_4));        // scope 1 at $DIR/uninhabited_enum_branching2.rs:+3:11: +3:22
+-         switchInt(move _5) -> [0_isize: bb2, 1_isize: bb3, 2_isize: bb4, otherwise: bb1]; // scope 1 at $DIR/uninhabited_enum_branching2.rs:+3:5: +3:22
++         switchInt(move _5) -> [2_isize: bb4, otherwise: bb1]; // scope 1 at $DIR/uninhabited_enum_branching2.rs:+3:5: +3:22
       }
   
       bb1: {
-          StorageLive(_8);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:25:21: 25:24
-          _8 = const "D";                  // scope 1 at $DIR/uninhabited_enum_branching2.rs:25:21: 25:24
+          StorageLive(_8);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:+7:21: +7:24
+          _8 = const "D";                  // scope 1 at $DIR/uninhabited_enum_branching2.rs:+7:21: +7:24
                                            // mir::Constant
                                            // + span: $DIR/uninhabited_enum_branching2.rs:25:21: 25:24
                                            // + literal: Const { ty: &str, val: Value(Slice(..)) }
-          _3 = &(*_8);                     // scope 1 at $DIR/uninhabited_enum_branching2.rs:25:21: 25:24
-          StorageDead(_8);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:25:23: 25:24
-          goto -> bb5;                     // scope 1 at $DIR/uninhabited_enum_branching2.rs:25:23: 25:24
+          _3 = &(*_8);                     // scope 1 at $DIR/uninhabited_enum_branching2.rs:+7:21: +7:24
+          StorageDead(_8);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:+7:23: +7:24
+          goto -> bb5;                     // scope 1 at $DIR/uninhabited_enum_branching2.rs:+7:23: +7:24
       }
   
       bb2: {
-          _3 = const "A(Empty)";           // scope 1 at $DIR/uninhabited_enum_branching2.rs:22:24: 22:34
+          _3 = const "A(Empty)";           // scope 1 at $DIR/uninhabited_enum_branching2.rs:+4:24: +4:34
                                            // mir::Constant
                                            // + span: $DIR/uninhabited_enum_branching2.rs:22:24: 22:34
                                            // + literal: Const { ty: &str, val: Value(Slice(..)) }
-          goto -> bb5;                     // scope 1 at $DIR/uninhabited_enum_branching2.rs:22:24: 22:34
+          goto -> bb5;                     // scope 1 at $DIR/uninhabited_enum_branching2.rs:+4:24: +4:34
       }
   
       bb3: {
-          StorageLive(_6);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:23:24: 23:34
-          _6 = const "B(Empty)";           // scope 1 at $DIR/uninhabited_enum_branching2.rs:23:24: 23:34
+          StorageLive(_6);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:+5:24: +5:34
+          _6 = const "B(Empty)";           // scope 1 at $DIR/uninhabited_enum_branching2.rs:+5:24: +5:34
                                            // mir::Constant
                                            // + span: $DIR/uninhabited_enum_branching2.rs:23:24: 23:34
                                            // + literal: Const { ty: &str, val: Value(Slice(..)) }
-          _3 = &(*_6);                     // scope 1 at $DIR/uninhabited_enum_branching2.rs:23:24: 23:34
-          StorageDead(_6);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:23:33: 23:34
-          goto -> bb5;                     // scope 1 at $DIR/uninhabited_enum_branching2.rs:23:33: 23:34
+          _3 = &(*_6);                     // scope 1 at $DIR/uninhabited_enum_branching2.rs:+5:24: +5:34
+          StorageDead(_6);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:+5:33: +5:34
+          goto -> bb5;                     // scope 1 at $DIR/uninhabited_enum_branching2.rs:+5:33: +5:34
       }
   
       bb4: {
-          StorageLive(_7);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:24:21: 24:24
-          _7 = const "C";                  // scope 1 at $DIR/uninhabited_enum_branching2.rs:24:21: 24:24
+          StorageLive(_7);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:+6:21: +6:24
+          _7 = const "C";                  // scope 1 at $DIR/uninhabited_enum_branching2.rs:+6:21: +6:24
                                            // mir::Constant
                                            // + span: $DIR/uninhabited_enum_branching2.rs:24:21: 24:24
                                            // + literal: Const { ty: &str, val: Value(Slice(..)) }
-          _3 = &(*_7);                     // scope 1 at $DIR/uninhabited_enum_branching2.rs:24:21: 24:24
-          StorageDead(_7);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:24:23: 24:24
-          goto -> bb5;                     // scope 1 at $DIR/uninhabited_enum_branching2.rs:24:23: 24:24
+          _3 = &(*_7);                     // scope 1 at $DIR/uninhabited_enum_branching2.rs:+6:21: +6:24
+          StorageDead(_7);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:+6:23: +6:24
+          goto -> bb5;                     // scope 1 at $DIR/uninhabited_enum_branching2.rs:+6:23: +6:24
       }
   
       bb5: {
-          StorageDead(_4);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:26:6: 26:7
-          StorageDead(_3);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:26:6: 26:7
-          StorageLive(_9);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:28:5: 33:6
-          _10 = discriminant((_1.1: Test1)); // scope 1 at $DIR/uninhabited_enum_branching2.rs:28:11: 28:21
--         switchInt(move _10) -> [0_isize: bb7, 1_isize: bb8, 2_isize: bb9, otherwise: bb6]; // scope 1 at $DIR/uninhabited_enum_branching2.rs:28:5: 28:21
-+         switchInt(move _10) -> [2_isize: bb9, otherwise: bb6]; // scope 1 at $DIR/uninhabited_enum_branching2.rs:28:5: 28:21
+          StorageDead(_4);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:+8:6: +8:7
+          StorageDead(_3);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:+8:6: +8:7
+          StorageLive(_9);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:+10:5: +15:6
+          _10 = discriminant((_1.1: Test1)); // scope 1 at $DIR/uninhabited_enum_branching2.rs:+10:11: +10:21
+-         switchInt(move _10) -> [0_isize: bb7, 1_isize: bb8, 2_isize: bb9, otherwise: bb6]; // scope 1 at $DIR/uninhabited_enum_branching2.rs:+10:5: +10:21
++         switchInt(move _10) -> [2_isize: bb9, otherwise: bb6]; // scope 1 at $DIR/uninhabited_enum_branching2.rs:+10:5: +10:21
       }
   
       bb6: {
-          StorageLive(_13);                // scope 1 at $DIR/uninhabited_enum_branching2.rs:32:21: 32:24
-          _13 = const "D";                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:32:21: 32:24
+          StorageLive(_13);                // scope 1 at $DIR/uninhabited_enum_branching2.rs:+14:21: +14:24
+          _13 = const "D";                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:+14:21: +14:24
                                            // mir::Constant
                                            // + span: $DIR/uninhabited_enum_branching2.rs:32:21: 32:24
                                            // + literal: Const { ty: &str, val: Value(Slice(..)) }
-          _9 = &(*_13);                    // scope 1 at $DIR/uninhabited_enum_branching2.rs:32:21: 32:24
-          StorageDead(_13);                // scope 1 at $DIR/uninhabited_enum_branching2.rs:32:23: 32:24
-          goto -> bb10;                    // scope 1 at $DIR/uninhabited_enum_branching2.rs:32:23: 32:24
+          _9 = &(*_13);                    // scope 1 at $DIR/uninhabited_enum_branching2.rs:+14:21: +14:24
+          StorageDead(_13);                // scope 1 at $DIR/uninhabited_enum_branching2.rs:+14:23: +14:24
+          goto -> bb10;                    // scope 1 at $DIR/uninhabited_enum_branching2.rs:+14:23: +14:24
       }
   
       bb7: {
-          _9 = const "A(Empty)";           // scope 1 at $DIR/uninhabited_enum_branching2.rs:29:24: 29:34
+          _9 = const "A(Empty)";           // scope 1 at $DIR/uninhabited_enum_branching2.rs:+11:24: +11:34
                                            // mir::Constant
                                            // + span: $DIR/uninhabited_enum_branching2.rs:29:24: 29:34
                                            // + literal: Const { ty: &str, val: Value(Slice(..)) }
-          goto -> bb10;                    // scope 1 at $DIR/uninhabited_enum_branching2.rs:29:24: 29:34
+          goto -> bb10;                    // scope 1 at $DIR/uninhabited_enum_branching2.rs:+11:24: +11:34
       }
   
       bb8: {
-          StorageLive(_11);                // scope 1 at $DIR/uninhabited_enum_branching2.rs:30:24: 30:34
-          _11 = const "B(Empty)";          // scope 1 at $DIR/uninhabited_enum_branching2.rs:30:24: 30:34
+          StorageLive(_11);                // scope 1 at $DIR/uninhabited_enum_branching2.rs:+12:24: +12:34
+          _11 = const "B(Empty)";          // scope 1 at $DIR/uninhabited_enum_branching2.rs:+12:24: +12:34
                                            // mir::Constant
                                            // + span: $DIR/uninhabited_enum_branching2.rs:30:24: 30:34
                                            // + literal: Const { ty: &str, val: Value(Slice(..)) }
-          _9 = &(*_11);                    // scope 1 at $DIR/uninhabited_enum_branching2.rs:30:24: 30:34
-          StorageDead(_11);                // scope 1 at $DIR/uninhabited_enum_branching2.rs:30:33: 30:34
-          goto -> bb10;                    // scope 1 at $DIR/uninhabited_enum_branching2.rs:30:33: 30:34
+          _9 = &(*_11);                    // scope 1 at $DIR/uninhabited_enum_branching2.rs:+12:24: +12:34
+          StorageDead(_11);                // scope 1 at $DIR/uninhabited_enum_branching2.rs:+12:33: +12:34
+          goto -> bb10;                    // scope 1 at $DIR/uninhabited_enum_branching2.rs:+12:33: +12:34
       }
   
       bb9: {
-          StorageLive(_12);                // scope 1 at $DIR/uninhabited_enum_branching2.rs:31:21: 31:24
-          _12 = const "C";                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:31:21: 31:24
+          StorageLive(_12);                // scope 1 at $DIR/uninhabited_enum_branching2.rs:+13:21: +13:24
+          _12 = const "C";                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:+13:21: +13:24
                                            // mir::Constant
                                            // + span: $DIR/uninhabited_enum_branching2.rs:31:21: 31:24
                                            // + literal: Const { ty: &str, val: Value(Slice(..)) }
-          _9 = &(*_12);                    // scope 1 at $DIR/uninhabited_enum_branching2.rs:31:21: 31:24
-          StorageDead(_12);                // scope 1 at $DIR/uninhabited_enum_branching2.rs:31:23: 31:24
-          goto -> bb10;                    // scope 1 at $DIR/uninhabited_enum_branching2.rs:31:23: 31:24
+          _9 = &(*_12);                    // scope 1 at $DIR/uninhabited_enum_branching2.rs:+13:21: +13:24
+          StorageDead(_12);                // scope 1 at $DIR/uninhabited_enum_branching2.rs:+13:23: +13:24
+          goto -> bb10;                    // scope 1 at $DIR/uninhabited_enum_branching2.rs:+13:23: +13:24
       }
   
       bb10: {
-          StorageDead(_9);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:33:6: 33:7
-          _0 = const ();                   // scope 0 at $DIR/uninhabited_enum_branching2.rs:18:11: 34:2
-          StorageDead(_1);                 // scope 0 at $DIR/uninhabited_enum_branching2.rs:34:1: 34:2
-          return;                          // scope 0 at $DIR/uninhabited_enum_branching2.rs:34:2: 34:2
+          StorageDead(_9);                 // scope 1 at $DIR/uninhabited_enum_branching2.rs:+15:6: +15:7
+          _0 = const ();                   // scope 0 at $DIR/uninhabited_enum_branching2.rs:+0:11: +16:2
+          StorageDead(_1);                 // scope 0 at $DIR/uninhabited_enum_branching2.rs:+16:1: +16:2
+          return;                          // scope 0 at $DIR/uninhabited_enum_branching2.rs:+16:2: +16:2
       }
   }
   
index 7e843b65e88fc77375c808f25ad8ac05a84fb7db..11d93fca7e0866cf33a1c16bbd9ce9dcab4ff8ec 100644 (file)
@@ -2,37 +2,37 @@
 + // MIR for `eliminate_fallthrough` after UninhabitedEnumBranching
   
   fn eliminate_fallthrough(_1: S) -> u32 {
-      debug s => _1;                       // in scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:21:26: 21:27
-      let mut _0: u32;                     // return place in scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:21:35: 21:38
-      let mut _2: isize;                   // in scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:23:9: 23:10
+      debug s => _1;                       // in scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:+0:26: +0:27
+      let mut _0: u32;                     // return place in scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:+0:35: +0:38
+      let mut _2: isize;                   // in scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:+2:9: +2:10
   
       bb0: {
-          _2 = discriminant(_1);           // scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:22:11: 22:12
--         switchInt(move _2) -> [1_isize: bb3, 2_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:22:5: 22:12
-+         switchInt(move _2) -> [1_isize: bb3, 2_isize: bb2, otherwise: bb5]; // scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:22:5: 22:12
+          _2 = discriminant(_1);           // scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:+1:11: +1:12
+-         switchInt(move _2) -> [1_isize: bb3, 2_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:+1:5: +1:12
++         switchInt(move _2) -> [1_isize: bb3, 2_isize: bb2, otherwise: bb5]; // scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:+1:5: +1:12
       }
   
       bb1: {
-          _0 = const 3_u32;                // scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:25:14: 25:15
-          goto -> bb4;                     // scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:25:14: 25:15
+          _0 = const 3_u32;                // scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:+4:14: +4:15
+          goto -> bb4;                     // scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:+4:14: +4:15
       }
   
       bb2: {
-          _0 = const 1_u32;                // scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:23:14: 23:15
-          goto -> bb4;                     // scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:23:14: 23:15
+          _0 = const 1_u32;                // scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:+2:14: +2:15
+          goto -> bb4;                     // scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:+2:14: +2:15
       }
   
       bb3: {
-          _0 = const 2_u32;                // scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:24:14: 24:15
-          goto -> bb4;                     // scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:24:14: 24:15
+          _0 = const 2_u32;                // scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:+3:14: +3:15
+          goto -> bb4;                     // scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:+3:14: +3:15
       }
   
       bb4: {
-          return;                          // scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:27:2: 27:2
+          return;                          // scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:+6:2: +6:2
 +     }
 + 
 +     bb5: {
-+         unreachable;                     // scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:25:14: 25:15
++         unreachable;                     // scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:+4:14: +4:15
       }
   }
   
index 5da011d427a2caefb6ce0318854fc6327ed14f7e..a7f8321ae34bac4c6dab3392bd7cedcceab3486f 100644 (file)
@@ -2,33 +2,33 @@
 + // MIR for `keep_fallthrough` after UninhabitedEnumBranching
   
   fn keep_fallthrough(_1: S) -> u32 {
-      debug s => _1;                       // in scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:12:21: 12:22
-      let mut _0: u32;                     // return place in scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:12:30: 12:33
-      let mut _2: isize;                   // in scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:14:9: 14:13
+      debug s => _1;                       // in scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:+0:21: +0:22
+      let mut _0: u32;                     // return place in scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:+0:30: +0:33
+      let mut _2: isize;                   // in scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:+2:9: +2:13
   
       bb0: {
-          _2 = discriminant(_1);           // scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:13:11: 13:12
--         switchInt(move _2) -> [0_isize: bb2, 1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:13:5: 13:12
-+         switchInt(move _2) -> [1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:13:5: 13:12
+          _2 = discriminant(_1);           // scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:+1:11: +1:12
+-         switchInt(move _2) -> [0_isize: bb2, 1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:+1:5: +1:12
++         switchInt(move _2) -> [1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:+1:5: +1:12
       }
   
       bb1: {
-          _0 = const 3_u32;                // scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:16:14: 16:15
-          goto -> bb4;                     // scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:16:14: 16:15
+          _0 = const 3_u32;                // scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:+4:14: +4:15
+          goto -> bb4;                     // scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:+4:14: +4:15
       }
   
       bb2: {
-          _0 = const 1_u32;                // scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:14:17: 14:18
-          goto -> bb4;                     // scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:14:17: 14:18
+          _0 = const 1_u32;                // scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:+2:17: +2:18
+          goto -> bb4;                     // scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:+2:17: +2:18
       }
   
       bb3: {
-          _0 = const 2_u32;                // scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:15:14: 15:15
-          goto -> bb4;                     // scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:15:14: 15:15
+          _0 = const 2_u32;                // scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:+3:14: +3:15
+          goto -> bb4;                     // scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:+3:14: +3:15
       }
   
       bb4: {
-          return;                          // scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:18:2: 18:2
+          return;                          // scope 0 at $DIR/uninhabited_fallthrough_elimination.rs:+6:2: +6:2
       }
   }
   
index 5aa4f1b3432496f5cc3ff3061b413626e889c742..52d9543e9780733fcb9af67422c1f80e5edb1924 100644 (file)
@@ -2,68 +2,68 @@
 + // MIR for `main` after UnreachablePropagation
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/unreachable.rs:8:11: 8:11
-      let mut _1: std::option::Option<Empty>; // in scope 0 at $DIR/unreachable.rs:9:23: 9:30
-      let mut _2: isize;                   // in scope 0 at $DIR/unreachable.rs:9:12: 9:20
-      let _5: ();                          // in scope 0 at $DIR/unreachable.rs:12:9: 16:10
-      let mut _6: bool;                    // in scope 0 at $DIR/unreachable.rs:12:12: 12:16
-      let mut _7: !;                       // in scope 0 at $DIR/unreachable.rs:18:9: 18:21
+      let mut _0: ();                      // return place in scope 0 at $DIR/unreachable.rs:+0:11: +0:11
+      let mut _1: std::option::Option<Empty>; // in scope 0 at $DIR/unreachable.rs:+1:23: +1:30
+      let mut _2: isize;                   // in scope 0 at $DIR/unreachable.rs:+1:12: +1:20
+      let _5: ();                          // in scope 0 at $DIR/unreachable.rs:+4:9: +8:10
+      let mut _6: bool;                    // in scope 0 at $DIR/unreachable.rs:+4:12: +4:16
+      let mut _7: !;                       // in scope 0 at $DIR/unreachable.rs:+10:9: +10:21
       scope 1 {
-          debug _x => _3;                  // in scope 1 at $DIR/unreachable.rs:9:17: 9:19
-          let _3: Empty;                   // in scope 1 at $DIR/unreachable.rs:9:17: 9:19
-          let mut _4: i32;                 // in scope 1 at $DIR/unreachable.rs:10:13: 10:19
+          debug _x => _3;                  // in scope 1 at $DIR/unreachable.rs:+1:17: +1:19
+          let _3: Empty;                   // in scope 1 at $DIR/unreachable.rs:+1:17: +1:19
+          let mut _4: i32;                 // in scope 1 at $DIR/unreachable.rs:+2:13: +2:19
           scope 2 {
-              debug _y => _4;              // in scope 2 at $DIR/unreachable.rs:10:13: 10:19
+              debug _y => _4;              // in scope 2 at $DIR/unreachable.rs:+2:13: +2:19
           }
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 1 at $DIR/unreachable.rs:9:23: 9:30
-          _1 = empty() -> bb1;             // scope 1 at $DIR/unreachable.rs:9:23: 9:30
+          StorageLive(_1);                 // scope 1 at $DIR/unreachable.rs:+1:23: +1:30
+          _1 = empty() -> bb1;             // scope 1 at $DIR/unreachable.rs:+1:23: +1:30
                                            // mir::Constant
                                            // + span: $DIR/unreachable.rs:9:23: 9:28
                                            // + literal: Const { ty: fn() -> Option<Empty> {empty}, val: Value(<ZST>) }
       }
   
       bb1: {
-          _2 = discriminant(_1);           // scope 1 at $DIR/unreachable.rs:9:12: 9:20
--         switchInt(move _2) -> [1_isize: bb2, otherwise: bb6]; // scope 1 at $DIR/unreachable.rs:9:12: 9:20
-+         goto -> bb2;                     // scope 1 at $DIR/unreachable.rs:9:12: 9:20
+          _2 = discriminant(_1);           // scope 1 at $DIR/unreachable.rs:+1:12: +1:20
+-         switchInt(move _2) -> [1_isize: bb2, otherwise: bb6]; // scope 1 at $DIR/unreachable.rs:+1:12: +1:20
++         goto -> bb2;                     // scope 1 at $DIR/unreachable.rs:+1:12: +1:20
       }
   
       bb2: {
--         StorageLive(_3);                 // scope 1 at $DIR/unreachable.rs:9:17: 9:19
--         _3 = move ((_1 as Some).0: Empty); // scope 1 at $DIR/unreachable.rs:9:17: 9:19
--         StorageLive(_4);                 // scope 1 at $DIR/unreachable.rs:10:13: 10:19
--         StorageLive(_5);                 // scope 2 at $DIR/unreachable.rs:12:9: 16:10
--         StorageLive(_6);                 // scope 2 at $DIR/unreachable.rs:12:12: 12:16
--         _6 = const true;                 // scope 2 at $DIR/unreachable.rs:12:12: 12:16
--         switchInt(move _6) -> [false: bb4, otherwise: bb3]; // scope 2 at $DIR/unreachable.rs:12:12: 12:16
+-         StorageLive(_3);                 // scope 1 at $DIR/unreachable.rs:+1:17: +1:19
+-         _3 = move ((_1 as Some).0: Empty); // scope 1 at $DIR/unreachable.rs:+1:17: +1:19
+-         StorageLive(_4);                 // scope 1 at $DIR/unreachable.rs:+2:13: +2:19
+-         StorageLive(_5);                 // scope 2 at $DIR/unreachable.rs:+4:9: +8:10
+-         StorageLive(_6);                 // scope 2 at $DIR/unreachable.rs:+4:12: +4:16
+-         _6 = const true;                 // scope 2 at $DIR/unreachable.rs:+4:12: +4:16
+-         switchInt(move _6) -> [false: bb4, otherwise: bb3]; // scope 2 at $DIR/unreachable.rs:+4:12: +4:16
 -     }
 - 
 -     bb3: {
--         _4 = const 21_i32;               // scope 2 at $DIR/unreachable.rs:13:13: 13:20
--         _5 = const ();                   // scope 2 at $DIR/unreachable.rs:12:17: 14:10
--         goto -> bb5;                     // scope 2 at $DIR/unreachable.rs:12:9: 16:10
+-         _4 = const 21_i32;               // scope 2 at $DIR/unreachable.rs:+5:13: +5:20
+-         _5 = const ();                   // scope 2 at $DIR/unreachable.rs:+4:17: +6:10
+-         goto -> bb5;                     // scope 2 at $DIR/unreachable.rs:+4:9: +8:10
 -     }
 - 
 -     bb4: {
--         _4 = const 42_i32;               // scope 2 at $DIR/unreachable.rs:15:13: 15:20
--         _5 = const ();                   // scope 2 at $DIR/unreachable.rs:14:16: 16:10
--         goto -> bb5;                     // scope 2 at $DIR/unreachable.rs:12:9: 16:10
+-         _4 = const 42_i32;               // scope 2 at $DIR/unreachable.rs:+7:13: +7:20
+-         _5 = const ();                   // scope 2 at $DIR/unreachable.rs:+6:16: +8:10
+-         goto -> bb5;                     // scope 2 at $DIR/unreachable.rs:+4:9: +8:10
 -     }
 - 
 -     bb5: {
--         StorageDead(_6);                 // scope 2 at $DIR/unreachable.rs:16:9: 16:10
--         StorageDead(_5);                 // scope 2 at $DIR/unreachable.rs:16:9: 16:10
--         StorageLive(_7);                 // scope 2 at $DIR/unreachable.rs:18:9: 18:21
--         unreachable;                     // scope 2 at $DIR/unreachable.rs:18:15: 18:17
+-         StorageDead(_6);                 // scope 2 at $DIR/unreachable.rs:+8:9: +8:10
+-         StorageDead(_5);                 // scope 2 at $DIR/unreachable.rs:+8:9: +8:10
+-         StorageLive(_7);                 // scope 2 at $DIR/unreachable.rs:+10:9: +10:21
+-         unreachable;                     // scope 2 at $DIR/unreachable.rs:+10:15: +10:17
 -     }
 - 
 -     bb6: {
-          _0 = const ();                   // scope 0 at $DIR/unreachable.rs:19:6: 19:6
-          StorageDead(_1);                 // scope 0 at $DIR/unreachable.rs:20:1: 20:2
-          return;                          // scope 0 at $DIR/unreachable.rs:20:2: 20:2
+          _0 = const ();                   // scope 0 at $DIR/unreachable.rs:+11:6: +11:6
+          StorageDead(_1);                 // scope 0 at $DIR/unreachable.rs:+12:1: +12:2
+          return;                          // scope 0 at $DIR/unreachable.rs:+12:2: +12:2
       }
   }
   
index b95ab881ef05de423cecf780cbf79d22b96689f6..3d31553c44a5cd7c8889c1bfadad8ffc61e784fa 100644 (file)
@@ -2,73 +2,73 @@
 + // MIR for `main` after UnreachablePropagation
   
   fn main() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/unreachable_diverging.rs:12:11: 12:11
-      let _1: bool;                        // in scope 0 at $DIR/unreachable_diverging.rs:13:9: 13:10
-      let mut _2: std::option::Option<Empty>; // in scope 0 at $DIR/unreachable_diverging.rs:14:25: 14:32
-      let mut _3: isize;                   // in scope 0 at $DIR/unreachable_diverging.rs:14:12: 14:22
-      let _5: ();                          // in scope 0 at $DIR/unreachable_diverging.rs:15:9: 17:10
-      let mut _6: bool;                    // in scope 0 at $DIR/unreachable_diverging.rs:15:12: 15:13
-      let mut _7: !;                       // in scope 0 at $DIR/unreachable_diverging.rs:18:9: 18:22
+      let mut _0: ();                      // return place in scope 0 at $DIR/unreachable_diverging.rs:+0:11: +0:11
+      let _1: bool;                        // in scope 0 at $DIR/unreachable_diverging.rs:+1:9: +1:10
+      let mut _2: std::option::Option<Empty>; // in scope 0 at $DIR/unreachable_diverging.rs:+2:25: +2:32
+      let mut _3: isize;                   // in scope 0 at $DIR/unreachable_diverging.rs:+2:12: +2:22
+      let _5: ();                          // in scope 0 at $DIR/unreachable_diverging.rs:+3:9: +5:10
+      let mut _6: bool;                    // in scope 0 at $DIR/unreachable_diverging.rs:+3:12: +3:13
+      let mut _7: !;                       // in scope 0 at $DIR/unreachable_diverging.rs:+6:9: +6:22
       scope 1 {
-          debug x => _1;                   // in scope 1 at $DIR/unreachable_diverging.rs:13:9: 13:10
+          debug x => _1;                   // in scope 1 at $DIR/unreachable_diverging.rs:+1:9: +1:10
           scope 2 {
-              debug bomb => _4;            // in scope 2 at $DIR/unreachable_diverging.rs:14:17: 14:21
-              let _4: Empty;               // in scope 2 at $DIR/unreachable_diverging.rs:14:17: 14:21
+              debug bomb => _4;            // in scope 2 at $DIR/unreachable_diverging.rs:+2:17: +2:21
+              let _4: Empty;               // in scope 2 at $DIR/unreachable_diverging.rs:+2:17: +2:21
           }
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/unreachable_diverging.rs:13:9: 13:10
-          _1 = const true;                 // scope 0 at $DIR/unreachable_diverging.rs:13:13: 13:17
-          StorageLive(_2);                 // scope 2 at $DIR/unreachable_diverging.rs:14:25: 14:32
-          _2 = empty() -> bb1;             // scope 2 at $DIR/unreachable_diverging.rs:14:25: 14:32
+          StorageLive(_1);                 // scope 0 at $DIR/unreachable_diverging.rs:+1:9: +1:10
+          _1 = const true;                 // scope 0 at $DIR/unreachable_diverging.rs:+1:13: +1:17
+          StorageLive(_2);                 // scope 2 at $DIR/unreachable_diverging.rs:+2:25: +2:32
+          _2 = empty() -> bb1;             // scope 2 at $DIR/unreachable_diverging.rs:+2:25: +2:32
                                            // mir::Constant
                                            // + span: $DIR/unreachable_diverging.rs:14:25: 14:30
                                            // + literal: Const { ty: fn() -> Option<Empty> {empty}, val: Value(<ZST>) }
       }
   
       bb1: {
-          _3 = discriminant(_2);           // scope 2 at $DIR/unreachable_diverging.rs:14:12: 14:22
--         switchInt(move _3) -> [1_isize: bb2, otherwise: bb6]; // scope 2 at $DIR/unreachable_diverging.rs:14:12: 14:22
-+         switchInt(move _3) -> [1_isize: bb2, otherwise: bb5]; // scope 2 at $DIR/unreachable_diverging.rs:14:12: 14:22
+          _3 = discriminant(_2);           // scope 2 at $DIR/unreachable_diverging.rs:+2:12: +2:22
+-         switchInt(move _3) -> [1_isize: bb2, otherwise: bb6]; // scope 2 at $DIR/unreachable_diverging.rs:+2:12: +2:22
++         switchInt(move _3) -> [1_isize: bb2, otherwise: bb5]; // scope 2 at $DIR/unreachable_diverging.rs:+2:12: +2:22
       }
   
       bb2: {
-          StorageLive(_4);                 // scope 2 at $DIR/unreachable_diverging.rs:14:17: 14:21
-          _4 = move ((_2 as Some).0: Empty); // scope 2 at $DIR/unreachable_diverging.rs:14:17: 14:21
-          StorageLive(_5);                 // scope 2 at $DIR/unreachable_diverging.rs:15:9: 17:10
-          StorageLive(_6);                 // scope 2 at $DIR/unreachable_diverging.rs:15:12: 15:13
-          _6 = _1;                         // scope 2 at $DIR/unreachable_diverging.rs:15:12: 15:13
--         switchInt(move _6) -> [false: bb4, otherwise: bb3]; // scope 2 at $DIR/unreachable_diverging.rs:15:12: 15:13
-+         goto -> bb3;                     // scope 2 at $DIR/unreachable_diverging.rs:15:12: 15:13
+          StorageLive(_4);                 // scope 2 at $DIR/unreachable_diverging.rs:+2:17: +2:21
+          _4 = move ((_2 as Some).0: Empty); // scope 2 at $DIR/unreachable_diverging.rs:+2:17: +2:21
+          StorageLive(_5);                 // scope 2 at $DIR/unreachable_diverging.rs:+3:9: +5:10
+          StorageLive(_6);                 // scope 2 at $DIR/unreachable_diverging.rs:+3:12: +3:13
+          _6 = _1;                         // scope 2 at $DIR/unreachable_diverging.rs:+3:12: +3:13
+-         switchInt(move _6) -> [false: bb4, otherwise: bb3]; // scope 2 at $DIR/unreachable_diverging.rs:+3:12: +3:13
++         goto -> bb3;                     // scope 2 at $DIR/unreachable_diverging.rs:+3:12: +3:13
       }
   
       bb3: {
--         _5 = loop_forever() -> bb5;      // scope 2 at $DIR/unreachable_diverging.rs:16:13: 16:27
-+         _5 = loop_forever() -> bb4;      // scope 2 at $DIR/unreachable_diverging.rs:16:13: 16:27
+-         _5 = loop_forever() -> bb5;      // scope 2 at $DIR/unreachable_diverging.rs:+4:13: +4:27
++         _5 = loop_forever() -> bb4;      // scope 2 at $DIR/unreachable_diverging.rs:+4:13: +4:27
                                            // mir::Constant
                                            // + span: $DIR/unreachable_diverging.rs:16:13: 16:25
                                            // + literal: Const { ty: fn() {loop_forever}, val: Value(<ZST>) }
       }
   
       bb4: {
--         _5 = const ();                   // scope 2 at $DIR/unreachable_diverging.rs:17:10: 17:10
--         goto -> bb5;                     // scope 2 at $DIR/unreachable_diverging.rs:15:9: 17:10
+-         _5 = const ();                   // scope 2 at $DIR/unreachable_diverging.rs:+5:10: +5:10
+-         goto -> bb5;                     // scope 2 at $DIR/unreachable_diverging.rs:+3:9: +5:10
 -     }
 - 
 -     bb5: {
-          StorageDead(_6);                 // scope 2 at $DIR/unreachable_diverging.rs:17:9: 17:10
-          StorageDead(_5);                 // scope 2 at $DIR/unreachable_diverging.rs:17:9: 17:10
-          StorageLive(_7);                 // scope 2 at $DIR/unreachable_diverging.rs:18:9: 18:22
-          unreachable;                     // scope 2 at $DIR/unreachable_diverging.rs:18:15: 18:19
+          StorageDead(_6);                 // scope 2 at $DIR/unreachable_diverging.rs:+5:9: +5:10
+          StorageDead(_5);                 // scope 2 at $DIR/unreachable_diverging.rs:+5:9: +5:10
+          StorageLive(_7);                 // scope 2 at $DIR/unreachable_diverging.rs:+6:9: +6:22
+          unreachable;                     // scope 2 at $DIR/unreachable_diverging.rs:+6:15: +6:19
       }
   
 -     bb6: {
 +     bb5: {
-          _0 = const ();                   // scope 1 at $DIR/unreachable_diverging.rs:19:6: 19:6
-          StorageDead(_1);                 // scope 0 at $DIR/unreachable_diverging.rs:20:1: 20:2
-          StorageDead(_2);                 // scope 0 at $DIR/unreachable_diverging.rs:20:1: 20:2
-          return;                          // scope 0 at $DIR/unreachable_diverging.rs:20:2: 20:2
+          _0 = const ();                   // scope 1 at $DIR/unreachable_diverging.rs:+7:6: +7:6
+          StorageDead(_1);                 // scope 0 at $DIR/unreachable_diverging.rs:+8:1: +8:2
+          StorageDead(_2);                 // scope 0 at $DIR/unreachable_diverging.rs:+8:1: +8:2
+          return;                          // scope 0 at $DIR/unreachable_diverging.rs:+8:2: +8:2
       }
   }
   
index 7c7f03ea6ad3ca96db660d231f8cc3e00d388a1b..a72e00ecde75fa343b9a88c316592c0ccaa8d502 100644 (file)
@@ -1,10 +1,10 @@
 // MIR for `E::V::{constant#0}` 0 mir_map
 
 E::V::{constant#0}: isize = {
-    let mut _0: isize;                   // return place in scope 0 at $DIR/unusual-item-types.rs:22:9: 22:10
+    let mut _0: isize;                   // return place in scope 0 at $DIR/unusual-item-types.rs:+0:9: +0:10
 
     bb0: {
-        _0 = const 5_isize;              // scope 0 at $DIR/unusual-item-types.rs:22:9: 22:10
-        return;                          // scope 0 at $DIR/unusual-item-types.rs:22:9: 22:10
+        _0 = const 5_isize;              // scope 0 at $DIR/unusual-item-types.rs:+0:9: +0:10
+        return;                          // scope 0 at $DIR/unusual-item-types.rs:+0:9: +0:10
     }
 }
index 7c7f03ea6ad3ca96db660d231f8cc3e00d388a1b..a72e00ecde75fa343b9a88c316592c0ccaa8d502 100644 (file)
@@ -1,10 +1,10 @@
 // MIR for `E::V::{constant#0}` 0 mir_map
 
 E::V::{constant#0}: isize = {
-    let mut _0: isize;                   // return place in scope 0 at $DIR/unusual-item-types.rs:22:9: 22:10
+    let mut _0: isize;                   // return place in scope 0 at $DIR/unusual-item-types.rs:+0:9: +0:10
 
     bb0: {
-        _0 = const 5_isize;              // scope 0 at $DIR/unusual-item-types.rs:22:9: 22:10
-        return;                          // scope 0 at $DIR/unusual-item-types.rs:22:9: 22:10
+        _0 = const 5_isize;              // scope 0 at $DIR/unusual-item-types.rs:+0:9: +0:10
+        return;                          // scope 0 at $DIR/unusual-item-types.rs:+0:9: +0:10
     }
 }
index 028281ba4501c3b1d1ec03192a6afa6a98b442da..0686af46ed58ea5d6b97c8389e1fd8928e3b6a65 100644 (file)
@@ -1,12 +1,12 @@
 // MIR for `Test::X` 0 mir_map
 
 fn Test::X(_1: usize) -> Test {
-    let mut _0: Test;                    // return place in scope 0 at $DIR/unusual-item-types.rs:16:5: 16:6
+    let mut _0: Test;                    // return place in scope 0 at $DIR/unusual-item-types.rs:+0:5: +0:6
 
     bb0: {
-        Deinit(_0);                      // scope 0 at $DIR/unusual-item-types.rs:16:5: 16:6
-        ((_0 as X).0: usize) = move _1;  // scope 0 at $DIR/unusual-item-types.rs:16:5: 16:6
-        discriminant(_0) = 0;            // scope 0 at $DIR/unusual-item-types.rs:16:5: 16:6
-        return;                          // scope 0 at $DIR/unusual-item-types.rs:16:5: 16:6
+        Deinit(_0);                      // scope 0 at $DIR/unusual-item-types.rs:+0:5: +0:6
+        ((_0 as X).0: usize) = move _1;  // scope 0 at $DIR/unusual-item-types.rs:+0:5: +0:6
+        discriminant(_0) = 0;            // scope 0 at $DIR/unusual-item-types.rs:+0:5: +0:6
+        return;                          // scope 0 at $DIR/unusual-item-types.rs:+0:5: +0:6
     }
 }
index 028281ba4501c3b1d1ec03192a6afa6a98b442da..0686af46ed58ea5d6b97c8389e1fd8928e3b6a65 100644 (file)
@@ -1,12 +1,12 @@
 // MIR for `Test::X` 0 mir_map
 
 fn Test::X(_1: usize) -> Test {
-    let mut _0: Test;                    // return place in scope 0 at $DIR/unusual-item-types.rs:16:5: 16:6
+    let mut _0: Test;                    // return place in scope 0 at $DIR/unusual-item-types.rs:+0:5: +0:6
 
     bb0: {
-        Deinit(_0);                      // scope 0 at $DIR/unusual-item-types.rs:16:5: 16:6
-        ((_0 as X).0: usize) = move _1;  // scope 0 at $DIR/unusual-item-types.rs:16:5: 16:6
-        discriminant(_0) = 0;            // scope 0 at $DIR/unusual-item-types.rs:16:5: 16:6
-        return;                          // scope 0 at $DIR/unusual-item-types.rs:16:5: 16:6
+        Deinit(_0);                      // scope 0 at $DIR/unusual-item-types.rs:+0:5: +0:6
+        ((_0 as X).0: usize) = move _1;  // scope 0 at $DIR/unusual-item-types.rs:+0:5: +0:6
+        discriminant(_0) = 0;            // scope 0 at $DIR/unusual-item-types.rs:+0:5: +0:6
+        return;                          // scope 0 at $DIR/unusual-item-types.rs:+0:5: +0:6
     }
 }
index 54ecaccdb4fb8d4e30576ae0db8cb35f8c641517..7ffd242e0dc3b49a836dd0eff2f1dd3eca8fddc1 100644 (file)
@@ -1,37 +1,37 @@
 // MIR for `std::ptr::drop_in_place` before AddMovesForPackedDrops
 
 fn std::ptr::drop_in_place(_1: *mut Vec<i32>) -> () {
-    let mut _0: ();                      // return place in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-    let mut _2: &mut std::vec::Vec<i32>; // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-    let mut _3: ();                      // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+    let mut _0: ();                      // return place in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+    let mut _2: &mut std::vec::Vec<i32>; // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+    let mut _3: ();                      // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
 
     bb0: {
-        goto -> bb6;                     // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        goto -> bb6;                     // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 
     bb1: {
-        return;                          // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        return;                          // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 
     bb2 (cleanup): {
-        resume;                          // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        resume;                          // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 
     bb3: {
-        goto -> bb1;                     // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        goto -> bb1;                     // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 
     bb4 (cleanup): {
-        drop(((*_1).0: alloc::raw_vec::RawVec<i32>)) -> bb2; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        drop(((*_1).0: alloc::raw_vec::RawVec<i32>)) -> bb2; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 
     bb5: {
-        drop(((*_1).0: alloc::raw_vec::RawVec<i32>)) -> [return: bb3, unwind: bb2]; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        drop(((*_1).0: alloc::raw_vec::RawVec<i32>)) -> [return: bb3, unwind: bb2]; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 
     bb6: {
-        _2 = &mut (*_1);                 // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-        _3 = <Vec<i32> as Drop>::drop(move _2) -> [return: bb5, unwind: bb4]; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        _2 = &mut (*_1);                 // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+        _3 = <Vec<i32> as Drop>::drop(move _2) -> [return: bb5, unwind: bb4]; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
                                          // mir::Constant
                                          // + span: $SRC_DIR/core/src/ptr/mod.rs:LL:COL
                                          // + literal: Const { ty: for<'r> fn(&'r mut Vec<i32>) {<Vec<i32> as Drop>::drop}, val: Value(<ZST>) }
index 54ecaccdb4fb8d4e30576ae0db8cb35f8c641517..7ffd242e0dc3b49a836dd0eff2f1dd3eca8fddc1 100644 (file)
@@ -1,37 +1,37 @@
 // MIR for `std::ptr::drop_in_place` before AddMovesForPackedDrops
 
 fn std::ptr::drop_in_place(_1: *mut Vec<i32>) -> () {
-    let mut _0: ();                      // return place in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-    let mut _2: &mut std::vec::Vec<i32>; // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-    let mut _3: ();                      // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+    let mut _0: ();                      // return place in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+    let mut _2: &mut std::vec::Vec<i32>; // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+    let mut _3: ();                      // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
 
     bb0: {
-        goto -> bb6;                     // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        goto -> bb6;                     // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 
     bb1: {
-        return;                          // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        return;                          // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 
     bb2 (cleanup): {
-        resume;                          // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        resume;                          // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 
     bb3: {
-        goto -> bb1;                     // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        goto -> bb1;                     // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 
     bb4 (cleanup): {
-        drop(((*_1).0: alloc::raw_vec::RawVec<i32>)) -> bb2; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        drop(((*_1).0: alloc::raw_vec::RawVec<i32>)) -> bb2; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 
     bb5: {
-        drop(((*_1).0: alloc::raw_vec::RawVec<i32>)) -> [return: bb3, unwind: bb2]; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        drop(((*_1).0: alloc::raw_vec::RawVec<i32>)) -> [return: bb3, unwind: bb2]; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
     }
 
     bb6: {
-        _2 = &mut (*_1);                 // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
-        _3 = <Vec<i32> as Drop>::drop(move _2) -> [return: bb5, unwind: bb4]; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
+        _2 = &mut (*_1);                 // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
+        _3 = <Vec<i32> as Drop>::drop(move _2) -> [return: bb5, unwind: bb4]; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
                                          // mir::Constant
                                          // + span: $SRC_DIR/core/src/ptr/mod.rs:LL:COL
                                          // + literal: Const { ty: for<'r> fn(&'r mut Vec<i32>) {<Vec<i32> as Drop>::drop}, val: Value(<ZST>) }
index c41fe61d48bf10d14019d37f65cd7e75d9bf50ec..f7bc8d58f480fe12bb0dff90b6750344457133d7 100644 (file)
@@ -1,10 +1,10 @@
 // MIR for `<impl at $DIR/unusual-item-types.rs:9:1: 9:7>::ASSOCIATED_CONSTANT` 0 mir_map
 
 const <impl at $DIR/unusual-item-types.rs:9:1: 9:7>::ASSOCIATED_CONSTANT: i32 = {
-    let mut _0: i32;                     // return place in scope 0 at $DIR/unusual-item-types.rs:10:32: 10:35
+    let mut _0: i32;                     // return place in scope 0 at $DIR/unusual-item-types.rs:+0:32: +0:35
 
     bb0: {
-        _0 = const 2_i32;                // scope 0 at $DIR/unusual-item-types.rs:10:38: 10:39
-        return;                          // scope 0 at $DIR/unusual-item-types.rs:10:5: 10:35
+        _0 = const 2_i32;                // scope 0 at $DIR/unusual-item-types.rs:+0:38: +0:39
+        return;                          // scope 0 at $DIR/unusual-item-types.rs:+0:5: +0:35
     }
 }
index c41fe61d48bf10d14019d37f65cd7e75d9bf50ec..f7bc8d58f480fe12bb0dff90b6750344457133d7 100644 (file)
@@ -1,10 +1,10 @@
 // MIR for `<impl at $DIR/unusual-item-types.rs:9:1: 9:7>::ASSOCIATED_CONSTANT` 0 mir_map
 
 const <impl at $DIR/unusual-item-types.rs:9:1: 9:7>::ASSOCIATED_CONSTANT: i32 = {
-    let mut _0: i32;                     // return place in scope 0 at $DIR/unusual-item-types.rs:10:32: 10:35
+    let mut _0: i32;                     // return place in scope 0 at $DIR/unusual-item-types.rs:+0:32: +0:35
 
     bb0: {
-        _0 = const 2_i32;                // scope 0 at $DIR/unusual-item-types.rs:10:38: 10:39
-        return;                          // scope 0 at $DIR/unusual-item-types.rs:10:5: 10:35
+        _0 = const 2_i32;                // scope 0 at $DIR/unusual-item-types.rs:+0:38: +0:39
+        return;                          // scope 0 at $DIR/unusual-item-types.rs:+0:5: +0:35
     }
 }
index f8b41d7b4c5dfdecf3c6f17fa4e9635a78fe5b97..eef7011149d3e5341cb26a448cab0e620bf4df92 100644 (file)
@@ -2,54 +2,54 @@
 + // MIR for `change_loop_body` after ConstProp
   
   fn change_loop_body() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/while_let_loops.rs:5:27: 5:27
-      let mut _1: i32;                     // in scope 0 at $DIR/while_let_loops.rs:6:9: 6:15
-      let mut _2: ();                      // in scope 0 at $DIR/while_let_loops.rs:5:1: 11:2
-      let mut _3: std::option::Option<u32>; // in scope 0 at $DIR/while_let_loops.rs:7:28: 7:32
-      let mut _4: isize;                   // in scope 0 at $DIR/while_let_loops.rs:7:15: 7:25
-      let mut _5: !;                       // in scope 0 at $DIR/while_let_loops.rs:7:33: 10:6
-      let mut _6: !;                       // in scope 0 at $DIR/while_let_loops.rs:7:5: 10:6
-      let _7: ();                          // in scope 0 at $DIR/while_let_loops.rs:7:5: 10:6
-      let mut _8: !;                       // in scope 0 at $DIR/while_let_loops.rs:7:5: 10:6
+      let mut _0: ();                      // return place in scope 0 at $DIR/while_let_loops.rs:+0:27: +0:27
+      let mut _1: i32;                     // in scope 0 at $DIR/while_let_loops.rs:+1:9: +1:15
+      let mut _2: ();                      // in scope 0 at $DIR/while_let_loops.rs:+0:1: +6:2
+      let mut _3: std::option::Option<u32>; // in scope 0 at $DIR/while_let_loops.rs:+2:28: +2:32
+      let mut _4: isize;                   // in scope 0 at $DIR/while_let_loops.rs:+2:15: +2:25
+      let mut _5: !;                       // in scope 0 at $DIR/while_let_loops.rs:+2:33: +5:6
+      let mut _6: !;                       // in scope 0 at $DIR/while_let_loops.rs:+2:5: +5:6
+      let _7: ();                          // in scope 0 at $DIR/while_let_loops.rs:+2:5: +5:6
+      let mut _8: !;                       // in scope 0 at $DIR/while_let_loops.rs:+2:5: +5:6
       scope 1 {
-          debug _x => _1;                  // in scope 1 at $DIR/while_let_loops.rs:6:9: 6:15
+          debug _x => _1;                  // in scope 1 at $DIR/while_let_loops.rs:+1:9: +1:15
           scope 2 {
           }
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/while_let_loops.rs:6:9: 6:15
-          _1 = const 0_i32;                // scope 0 at $DIR/while_let_loops.rs:6:18: 6:19
-          StorageLive(_3);                 // scope 2 at $DIR/while_let_loops.rs:7:28: 7:32
-          Deinit(_3);                      // scope 2 at $DIR/while_let_loops.rs:7:28: 7:32
-          discriminant(_3) = 0;            // scope 2 at $DIR/while_let_loops.rs:7:28: 7:32
--         _4 = discriminant(_3);           // scope 2 at $DIR/while_let_loops.rs:7:15: 7:25
--         switchInt(move _4) -> [1_isize: bb1, otherwise: bb3]; // scope 2 at $DIR/while_let_loops.rs:7:15: 7:25
-+         _4 = const 0_isize;              // scope 2 at $DIR/while_let_loops.rs:7:15: 7:25
-+         switchInt(const 0_isize) -> [1_isize: bb1, otherwise: bb3]; // scope 2 at $DIR/while_let_loops.rs:7:15: 7:25
+          StorageLive(_1);                 // scope 0 at $DIR/while_let_loops.rs:+1:9: +1:15
+          _1 = const 0_i32;                // scope 0 at $DIR/while_let_loops.rs:+1:18: +1:19
+          StorageLive(_3);                 // scope 2 at $DIR/while_let_loops.rs:+2:28: +2:32
+          Deinit(_3);                      // scope 2 at $DIR/while_let_loops.rs:+2:28: +2:32
+          discriminant(_3) = 0;            // scope 2 at $DIR/while_let_loops.rs:+2:28: +2:32
+-         _4 = discriminant(_3);           // scope 2 at $DIR/while_let_loops.rs:+2:15: +2:25
+-         switchInt(move _4) -> [1_isize: bb1, otherwise: bb3]; // scope 2 at $DIR/while_let_loops.rs:+2:15: +2:25
++         _4 = const 0_isize;              // scope 2 at $DIR/while_let_loops.rs:+2:15: +2:25
++         switchInt(const 0_isize) -> [1_isize: bb1, otherwise: bb3]; // scope 2 at $DIR/while_let_loops.rs:+2:15: +2:25
       }
   
       bb1: {
-          switchInt(((_3 as Some).0: u32)) -> [0_u32: bb2, otherwise: bb3]; // scope 2 at $DIR/while_let_loops.rs:7:15: 7:25
+          switchInt(((_3 as Some).0: u32)) -> [0_u32: bb2, otherwise: bb3]; // scope 2 at $DIR/while_let_loops.rs:+2:15: +2:25
       }
   
       bb2: {
-          _1 = const 1_i32;                // scope 2 at $DIR/while_let_loops.rs:8:9: 8:15
-          nop;                             // scope 2 at $DIR/while_let_loops.rs:9:9: 9:14
-          goto -> bb4;                     // scope 2 at $DIR/while_let_loops.rs:9:9: 9:14
+          _1 = const 1_i32;                // scope 2 at $DIR/while_let_loops.rs:+3:9: +3:15
+          nop;                             // scope 2 at $DIR/while_let_loops.rs:+4:9: +4:14
+          goto -> bb4;                     // scope 2 at $DIR/while_let_loops.rs:+4:9: +4:14
       }
   
       bb3: {
-          StorageLive(_7);                 // scope 1 at $DIR/while_let_loops.rs:7:5: 10:6
-          nop;                             // scope 1 at $DIR/while_let_loops.rs:7:5: 10:6
-          StorageDead(_7);                 // scope 1 at $DIR/while_let_loops.rs:10:5: 10:6
+          StorageLive(_7);                 // scope 1 at $DIR/while_let_loops.rs:+2:5: +5:6
+          nop;                             // scope 1 at $DIR/while_let_loops.rs:+2:5: +5:6
+          StorageDead(_7);                 // scope 1 at $DIR/while_let_loops.rs:+5:5: +5:6
           goto -> bb4;                     // scope 1 at no-location
       }
   
       bb4: {
-          StorageDead(_3);                 // scope 1 at $DIR/while_let_loops.rs:10:5: 10:6
-          StorageDead(_1);                 // scope 0 at $DIR/while_let_loops.rs:11:1: 11:2
-          return;                          // scope 0 at $DIR/while_let_loops.rs:11:2: 11:2
+          StorageDead(_3);                 // scope 1 at $DIR/while_let_loops.rs:+5:5: +5:6
+          StorageDead(_1);                 // scope 0 at $DIR/while_let_loops.rs:+6:1: +6:2
+          return;                          // scope 0 at $DIR/while_let_loops.rs:+6:2: +6:2
       }
   }
   
index f8b41d7b4c5dfdecf3c6f17fa4e9635a78fe5b97..eef7011149d3e5341cb26a448cab0e620bf4df92 100644 (file)
@@ -2,54 +2,54 @@
 + // MIR for `change_loop_body` after ConstProp
   
   fn change_loop_body() -> () {
-      let mut _0: ();                      // return place in scope 0 at $DIR/while_let_loops.rs:5:27: 5:27
-      let mut _1: i32;                     // in scope 0 at $DIR/while_let_loops.rs:6:9: 6:15
-      let mut _2: ();                      // in scope 0 at $DIR/while_let_loops.rs:5:1: 11:2
-      let mut _3: std::option::Option<u32>; // in scope 0 at $DIR/while_let_loops.rs:7:28: 7:32
-      let mut _4: isize;                   // in scope 0 at $DIR/while_let_loops.rs:7:15: 7:25
-      let mut _5: !;                       // in scope 0 at $DIR/while_let_loops.rs:7:33: 10:6
-      let mut _6: !;                       // in scope 0 at $DIR/while_let_loops.rs:7:5: 10:6
-      let _7: ();                          // in scope 0 at $DIR/while_let_loops.rs:7:5: 10:6
-      let mut _8: !;                       // in scope 0 at $DIR/while_let_loops.rs:7:5: 10:6
+      let mut _0: ();                      // return place in scope 0 at $DIR/while_let_loops.rs:+0:27: +0:27
+      let mut _1: i32;                     // in scope 0 at $DIR/while_let_loops.rs:+1:9: +1:15
+      let mut _2: ();                      // in scope 0 at $DIR/while_let_loops.rs:+0:1: +6:2
+      let mut _3: std::option::Option<u32>; // in scope 0 at $DIR/while_let_loops.rs:+2:28: +2:32
+      let mut _4: isize;                   // in scope 0 at $DIR/while_let_loops.rs:+2:15: +2:25
+      let mut _5: !;                       // in scope 0 at $DIR/while_let_loops.rs:+2:33: +5:6
+      let mut _6: !;                       // in scope 0 at $DIR/while_let_loops.rs:+2:5: +5:6
+      let _7: ();                          // in scope 0 at $DIR/while_let_loops.rs:+2:5: +5:6
+      let mut _8: !;                       // in scope 0 at $DIR/while_let_loops.rs:+2:5: +5:6
       scope 1 {
-          debug _x => _1;                  // in scope 1 at $DIR/while_let_loops.rs:6:9: 6:15
+          debug _x => _1;                  // in scope 1 at $DIR/while_let_loops.rs:+1:9: +1:15
           scope 2 {
           }
       }
   
       bb0: {
-          StorageLive(_1);                 // scope 0 at $DIR/while_let_loops.rs:6:9: 6:15
-          _1 = const 0_i32;                // scope 0 at $DIR/while_let_loops.rs:6:18: 6:19
-          StorageLive(_3);                 // scope 2 at $DIR/while_let_loops.rs:7:28: 7:32
-          Deinit(_3);                      // scope 2 at $DIR/while_let_loops.rs:7:28: 7:32
-          discriminant(_3) = 0;            // scope 2 at $DIR/while_let_loops.rs:7:28: 7:32
--         _4 = discriminant(_3);           // scope 2 at $DIR/while_let_loops.rs:7:15: 7:25
--         switchInt(move _4) -> [1_isize: bb1, otherwise: bb3]; // scope 2 at $DIR/while_let_loops.rs:7:15: 7:25
-+         _4 = const 0_isize;              // scope 2 at $DIR/while_let_loops.rs:7:15: 7:25
-+         switchInt(const 0_isize) -> [1_isize: bb1, otherwise: bb3]; // scope 2 at $DIR/while_let_loops.rs:7:15: 7:25
+          StorageLive(_1);                 // scope 0 at $DIR/while_let_loops.rs:+1:9: +1:15
+          _1 = const 0_i32;                // scope 0 at $DIR/while_let_loops.rs:+1:18: +1:19
+          StorageLive(_3);                 // scope 2 at $DIR/while_let_loops.rs:+2:28: +2:32
+          Deinit(_3);                      // scope 2 at $DIR/while_let_loops.rs:+2:28: +2:32
+          discriminant(_3) = 0;            // scope 2 at $DIR/while_let_loops.rs:+2:28: +2:32
+-         _4 = discriminant(_3);           // scope 2 at $DIR/while_let_loops.rs:+2:15: +2:25
+-         switchInt(move _4) -> [1_isize: bb1, otherwise: bb3]; // scope 2 at $DIR/while_let_loops.rs:+2:15: +2:25
++         _4 = const 0_isize;              // scope 2 at $DIR/while_let_loops.rs:+2:15: +2:25
++         switchInt(const 0_isize) -> [1_isize: bb1, otherwise: bb3]; // scope 2 at $DIR/while_let_loops.rs:+2:15: +2:25
       }
   
       bb1: {
-          switchInt(((_3 as Some).0: u32)) -> [0_u32: bb2, otherwise: bb3]; // scope 2 at $DIR/while_let_loops.rs:7:15: 7:25
+          switchInt(((_3 as Some).0: u32)) -> [0_u32: bb2, otherwise: bb3]; // scope 2 at $DIR/while_let_loops.rs:+2:15: +2:25
       }
   
       bb2: {
-          _1 = const 1_i32;                // scope 2 at $DIR/while_let_loops.rs:8:9: 8:15
-          nop;                             // scope 2 at $DIR/while_let_loops.rs:9:9: 9:14
-          goto -> bb4;                     // scope 2 at $DIR/while_let_loops.rs:9:9: 9:14
+          _1 = const 1_i32;                // scope 2 at $DIR/while_let_loops.rs:+3:9: +3:15
+          nop;                             // scope 2 at $DIR/while_let_loops.rs:+4:9: +4:14
+          goto -> bb4;                     // scope 2 at $DIR/while_let_loops.rs:+4:9: +4:14
       }
   
       bb3: {
-          StorageLive(_7);                 // scope 1 at $DIR/while_let_loops.rs:7:5: 10:6
-          nop;                             // scope 1 at $DIR/while_let_loops.rs:7:5: 10:6
-          StorageDead(_7);                 // scope 1 at $DIR/while_let_loops.rs:10:5: 10:6
+          StorageLive(_7);                 // scope 1 at $DIR/while_let_loops.rs:+2:5: +5:6
+          nop;                             // scope 1 at $DIR/while_let_loops.rs:+2:5: +5:6
+          StorageDead(_7);                 // scope 1 at $DIR/while_let_loops.rs:+5:5: +5:6
           goto -> bb4;                     // scope 1 at no-location
       }
   
       bb4: {
-          StorageDead(_3);                 // scope 1 at $DIR/while_let_loops.rs:10:5: 10:6
-          StorageDead(_1);                 // scope 0 at $DIR/while_let_loops.rs:11:1: 11:2
-          return;                          // scope 0 at $DIR/while_let_loops.rs:11:2: 11:2
+          StorageDead(_3);                 // scope 1 at $DIR/while_let_loops.rs:+5:5: +5:6
+          StorageDead(_1);                 // scope 0 at $DIR/while_let_loops.rs:+6:1: +6:2
+          return;                          // scope 0 at $DIR/while_let_loops.rs:+6:2: +6:2
       }
   }
   
index 5657f9413a1b4e585bc62f359a2edc4ba3035c4c..15b0aece8f54b7e4dd873b272f66881e6854f4b7 100644 (file)
@@ -1,17 +1,17 @@
 // MIR for `change_loop_body` after PreCodegen
 
 fn change_loop_body() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/while_let_loops.rs:5:27: 5:27
-    let mut _1: i32;                     // in scope 0 at $DIR/while_let_loops.rs:6:9: 6:15
+    let mut _0: ();                      // return place in scope 0 at $DIR/while_let_loops.rs:+0:27: +0:27
+    let mut _1: i32;                     // in scope 0 at $DIR/while_let_loops.rs:+1:9: +1:15
     scope 1 {
-        debug _x => _1;                  // in scope 1 at $DIR/while_let_loops.rs:6:9: 6:15
+        debug _x => _1;                  // in scope 1 at $DIR/while_let_loops.rs:+1:9: +1:15
         scope 2 {
         }
     }
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/while_let_loops.rs:6:9: 6:15
-        StorageDead(_1);                 // scope 0 at $DIR/while_let_loops.rs:11:1: 11:2
-        return;                          // scope 0 at $DIR/while_let_loops.rs:11:2: 11:2
+        StorageLive(_1);                 // scope 0 at $DIR/while_let_loops.rs:+1:9: +1:15
+        StorageDead(_1);                 // scope 0 at $DIR/while_let_loops.rs:+6:1: +6:2
+        return;                          // scope 0 at $DIR/while_let_loops.rs:+6:2: +6:2
     }
 }
index 5657f9413a1b4e585bc62f359a2edc4ba3035c4c..15b0aece8f54b7e4dd873b272f66881e6854f4b7 100644 (file)
@@ -1,17 +1,17 @@
 // MIR for `change_loop_body` after PreCodegen
 
 fn change_loop_body() -> () {
-    let mut _0: ();                      // return place in scope 0 at $DIR/while_let_loops.rs:5:27: 5:27
-    let mut _1: i32;                     // in scope 0 at $DIR/while_let_loops.rs:6:9: 6:15
+    let mut _0: ();                      // return place in scope 0 at $DIR/while_let_loops.rs:+0:27: +0:27
+    let mut _1: i32;                     // in scope 0 at $DIR/while_let_loops.rs:+1:9: +1:15
     scope 1 {
-        debug _x => _1;                  // in scope 1 at $DIR/while_let_loops.rs:6:9: 6:15
+        debug _x => _1;                  // in scope 1 at $DIR/while_let_loops.rs:+1:9: +1:15
         scope 2 {
         }
     }
 
     bb0: {
-        StorageLive(_1);                 // scope 0 at $DIR/while_let_loops.rs:6:9: 6:15
-        StorageDead(_1);                 // scope 0 at $DIR/while_let_loops.rs:11:1: 11:2
-        return;                          // scope 0 at $DIR/while_let_loops.rs:11:2: 11:2
+        StorageLive(_1);                 // scope 0 at $DIR/while_let_loops.rs:+1:9: +1:15
+        StorageDead(_1);                 // scope 0 at $DIR/while_let_loops.rs:+6:1: +6:2
+        return;                          // scope 0 at $DIR/while_let_loops.rs:+6:2: +6:2
     }
 }
index f1c5d95df1903044727aac04da74309544ef33a0..a5e7d6afdf36d9ec2476351c6cf3329ca20f7898 100644 (file)
@@ -1,56 +1,56 @@
 // MIR for `while_loop` after PreCodegen
 
 fn while_loop(_1: bool) -> () {
-    debug c => _1;                       // in scope 0 at $DIR/while-storage.rs:9:15: 9:16
-    let mut _0: ();                      // return place in scope 0 at $DIR/while-storage.rs:9:24: 9:24
-    let mut _2: bool;                    // in scope 0 at $DIR/while-storage.rs:10:11: 10:22
-    let mut _3: bool;                    // in scope 0 at $DIR/while-storage.rs:10:20: 10:21
-    let mut _4: bool;                    // in scope 0 at $DIR/while-storage.rs:11:12: 11:23
-    let mut _5: bool;                    // in scope 0 at $DIR/while-storage.rs:11:21: 11:22
+    debug c => _1;                       // in scope 0 at $DIR/while-storage.rs:+0:15: +0:16
+    let mut _0: ();                      // return place in scope 0 at $DIR/while-storage.rs:+0:24: +0:24
+    let mut _2: bool;                    // in scope 0 at $DIR/while-storage.rs:+1:11: +1:22
+    let mut _3: bool;                    // in scope 0 at $DIR/while-storage.rs:+1:20: +1:21
+    let mut _4: bool;                    // in scope 0 at $DIR/while-storage.rs:+2:12: +2:23
+    let mut _5: bool;                    // in scope 0 at $DIR/while-storage.rs:+2:21: +2:22
 
     bb0: {
-        goto -> bb1;                     // scope 0 at $DIR/while-storage.rs:10:5: 14:6
+        goto -> bb1;                     // scope 0 at $DIR/while-storage.rs:+1:5: +5:6
     }
 
     bb1: {
-        StorageLive(_2);                 // scope 0 at $DIR/while-storage.rs:10:11: 10:22
-        StorageLive(_3);                 // scope 0 at $DIR/while-storage.rs:10:20: 10:21
-        _3 = _1;                         // scope 0 at $DIR/while-storage.rs:10:20: 10:21
-        _2 = get_bool(move _3) -> bb2;   // scope 0 at $DIR/while-storage.rs:10:11: 10:22
+        StorageLive(_2);                 // scope 0 at $DIR/while-storage.rs:+1:11: +1:22
+        StorageLive(_3);                 // scope 0 at $DIR/while-storage.rs:+1:20: +1:21
+        _3 = _1;                         // scope 0 at $DIR/while-storage.rs:+1:20: +1:21
+        _2 = get_bool(move _3) -> bb2;   // scope 0 at $DIR/while-storage.rs:+1:11: +1:22
                                          // mir::Constant
                                          // + span: $DIR/while-storage.rs:10:11: 10:19
                                          // + literal: Const { ty: fn(bool) -> bool {get_bool}, val: Value(<ZST>) }
     }
 
     bb2: {
-        StorageDead(_3);                 // scope 0 at $DIR/while-storage.rs:10:21: 10:22
-        switchInt(move _2) -> [false: bb7, otherwise: bb3]; // scope 0 at $DIR/while-storage.rs:10:11: 10:22
+        StorageDead(_3);                 // scope 0 at $DIR/while-storage.rs:+1:21: +1:22
+        switchInt(move _2) -> [false: bb7, otherwise: bb3]; // scope 0 at $DIR/while-storage.rs:+1:11: +1:22
     }
 
     bb3: {
-        StorageLive(_4);                 // scope 0 at $DIR/while-storage.rs:11:12: 11:23
-        StorageLive(_5);                 // scope 0 at $DIR/while-storage.rs:11:21: 11:22
-        _5 = _1;                         // scope 0 at $DIR/while-storage.rs:11:21: 11:22
-        _4 = get_bool(move _5) -> bb4;   // scope 0 at $DIR/while-storage.rs:11:12: 11:23
+        StorageLive(_4);                 // scope 0 at $DIR/while-storage.rs:+2:12: +2:23
+        StorageLive(_5);                 // scope 0 at $DIR/while-storage.rs:+2:21: +2:22
+        _5 = _1;                         // scope 0 at $DIR/while-storage.rs:+2:21: +2:22
+        _4 = get_bool(move _5) -> bb4;   // scope 0 at $DIR/while-storage.rs:+2:12: +2:23
                                          // mir::Constant
                                          // + span: $DIR/while-storage.rs:11:12: 11:20
                                          // + literal: Const { ty: fn(bool) -> bool {get_bool}, val: Value(<ZST>) }
     }
 
     bb4: {
-        StorageDead(_5);                 // scope 0 at $DIR/while-storage.rs:11:22: 11:23
-        switchInt(move _4) -> [false: bb6, otherwise: bb5]; // scope 0 at $DIR/while-storage.rs:11:12: 11:23
+        StorageDead(_5);                 // scope 0 at $DIR/while-storage.rs:+2:22: +2:23
+        switchInt(move _4) -> [false: bb6, otherwise: bb5]; // scope 0 at $DIR/while-storage.rs:+2:12: +2:23
     }
 
     bb5: {
-        StorageDead(_4);                 // scope 0 at $DIR/while-storage.rs:13:9: 13:10
+        StorageDead(_4);                 // scope 0 at $DIR/while-storage.rs:+4:9: +4:10
         goto -> bb8;                     // scope 0 at no-location
     }
 
     bb6: {
-        StorageDead(_4);                 // scope 0 at $DIR/while-storage.rs:13:9: 13:10
-        StorageDead(_2);                 // scope 0 at $DIR/while-storage.rs:14:5: 14:6
-        goto -> bb1;                     // scope 0 at $DIR/while-storage.rs:10:5: 14:6
+        StorageDead(_4);                 // scope 0 at $DIR/while-storage.rs:+4:9: +4:10
+        StorageDead(_2);                 // scope 0 at $DIR/while-storage.rs:+5:5: +5:6
+        goto -> bb1;                     // scope 0 at $DIR/while-storage.rs:+1:5: +5:6
     }
 
     bb7: {
@@ -58,7 +58,7 @@ fn while_loop(_1: bool) -> () {
     }
 
     bb8: {
-        StorageDead(_2);                 // scope 0 at $DIR/while-storage.rs:14:5: 14:6
-        return;                          // scope 0 at $DIR/while-storage.rs:15:2: 15:2
+        StorageDead(_2);                 // scope 0 at $DIR/while-storage.rs:+5:5: +5:6
+        return;                          // scope 0 at $DIR/while-storage.rs:+6:2: +6:2
     }
 }