diff options
-rw-r--r-- | src/Contexts.ml | 1 | ||||
-rw-r--r-- | src/Interpreter.ml | 1 | ||||
-rw-r--r-- | src/InterpreterBorrows.ml | 80 | ||||
-rw-r--r-- | src/InterpreterExpansion.ml | 77 | ||||
-rw-r--r-- | src/InterpreterExpressions.ml | 6 | ||||
-rw-r--r-- | src/InterpreterPaths.ml | 5 | ||||
-rw-r--r-- | src/InterpreterProjectors.ml | 33 | ||||
-rw-r--r-- | src/InterpreterStatements.ml | 29 | ||||
-rw-r--r-- | src/InterpreterUtils.ml | 78 | ||||
-rw-r--r-- | src/Invariants.ml | 4 | ||||
-rw-r--r-- | src/Print.ml | 12 | ||||
-rw-r--r-- | src/Values.ml | 45 | ||||
-rw-r--r-- | tests/trace_reference.txt | 2994 |
13 files changed, 2194 insertions, 1171 deletions
diff --git a/src/Contexts.ml b/src/Contexts.ml index 89056680..5225645c 100644 --- a/src/Contexts.ml +++ b/src/Contexts.ml @@ -67,6 +67,7 @@ type eval_ctx = { fun_context : fun_def list; type_vars : type_var list; env : env; + ended_regions : RegionId.set_t; symbolic_counter : SymbolicValueId.generator; (* TODO: make this global? *) borrow_counter : BorrowId.generator; diff --git a/src/Interpreter.ml b/src/Interpreter.ml index 384e0a11..54911d85 100644 --- a/src/Interpreter.ml +++ b/src/Interpreter.ml @@ -30,6 +30,7 @@ module Test = struct C.fun_context = fun_defs; C.type_vars; C.env = []; + C.ended_regions = T.RegionId.Set.empty; C.symbolic_counter = V.SymbolicValueId.generator_zero; C.borrow_counter = V.BorrowId.generator_zero; C.region_counter = T.RegionId.generator_zero; diff --git a/src/InterpreterBorrows.ml b/src/InterpreterBorrows.ml index fbd958ef..3cfa78e0 100644 --- a/src/InterpreterBorrows.ml +++ b/src/InterpreterBorrows.ml @@ -626,13 +626,7 @@ let convert_avalue_to_value (av : V.typed_avalue) (ctx : C.eval_ctx) : (* Generate the fresh a symbolic value *) let ctx, sv_id = C.fresh_symbolic_value_id ctx in let svalue : V.symbolic_value = { V.sv_id; sv_ty = av.V.ty } in - let value : V.symbolic_proj_comp = - (* Note that the set of ended regions is empty: we shouldn't have to take - * into account any ended regions at this point, otherwise we would be in - * the first case where we should return ⊥ *) - { V.svalue; V.rset_ended = T.RegionId.Set.empty } - in - let value = V.Symbolic value in + let value = V.Symbolic svalue in (ctx, { V.value; V.ty }) (** End a borrow identified by its borrow id in a context @@ -759,8 +753,15 @@ and end_abstraction (config : C.config) (abs_id : V.AbstractionId.id) let ctx = end_abstraction_loans config abs_id ctx in (* End the abstraction itself by redistributing the borrows it contains *) let ctx = end_abstraction_borrows config abs_id ctx in - (* End the regions owned by the abstraction *) - let ctx = end_abstraction_regions config abs_id ctx in + (* End the regions owned by the abstraction - note that we don't need to + * relookup the abstraction: the set of regions in an abstraction never + * changes... *) + let ctx = + { + ctx with + ended_regions = T.RegionId.Set.union ctx.ended_regions abs.V.regions; + } + in (* Remove all the references to the id of the current abstraction, and remove * the abstraction itself *) end_abstraction_remove_from_context config abs_id ctx @@ -911,63 +912,6 @@ and end_abstraction_borrows (config : C.config) (abs_id : V.AbstractionId.id) (* Reexplore *) end_abstraction_borrows config abs_id ctx -(** Update the symbolic values in a context to register the regions in the - abstraction we are ending as already ended. - Note that this function also checks that no symbolic value in an abstraction - contains regions which we are ending. - Of course, we ignore the abstraction we are currently ending... - *) -and end_abstraction_regions (_config : C.config) (abs_id : V.AbstractionId.id) - (ctx : C.eval_ctx) : C.eval_ctx = - (* Lookup the abstraction to retrieve the set of owned regions *) - let abs = C.ctx_lookup_abs ctx abs_id in - let ended_regions = abs.V.regions in - (* Update all the symbolic values in the context *) - let obj = - object - inherit [_] C.map_eval_ctx as super - - method! visit_Symbolic _ sproj = - let sproj = - { - sproj with - V.rset_ended = T.RegionId.Set.union sproj.V.rset_ended ended_regions; - } - in - V.Symbolic sproj - - method! visit_aproj (abs_regions : T.RegionId.set_t option) aproj = - (* Sanity check *) - (match aproj with - | V.AProjLoans _ -> () - | V.AProjBorrows (sv, ty) -> ( - match abs_regions with - | None -> failwith "Unexpected" - | Some abs_regions -> - assert ( - not - (projections_intersect sv.V.sv_ty ended_regions ty - abs_regions)))); - (* Return - nothing to update *) - aproj - - method! visit_abs (regions : T.RegionId.set_t option) abs = - if abs.V.abs_id = abs_id then abs - else ( - assert (Option.is_none regions); - (* Check that we don't project over already ended regions *) - assert (T.RegionId.Set.disjoint ended_regions abs.V.regions); - (* Remember the set of regions owned by the abstraction *) - let regions = Some abs.V.regions in - super#visit_abs regions abs) - (** Whenever we dive in an abstraction, we need to keep track of the - set of regions owned by the abstraction. - Also: we don't dive in the abstraction we are currently ending... *) - end - in - (* Update the context *) - obj#visit_eval_ctx None ctx - (** Remove an abstraction from the context, as well as all its references *) and end_abstraction_remove_from_context (_config : C.config) (abs_id : V.AbstractionId.id) (ctx : C.eval_ctx) : C.eval_ctx = @@ -1022,7 +966,7 @@ let promote_shared_loan_to_mut_loan (l : V.BorrowId.id) (ctx : C.eval_ctx) : to do a sanity check. *) assert (not (loans_in_value sv)); (* Check there isn't [Bottom] (this is actually an invariant *) - assert (not (bottom_in_value sv)); + assert (not (bottom_in_value ctx.ended_regions sv)); (* Check there aren't inactivated borrows *) assert (not (inactivated_in_value sv)); (* Update the loan content *) @@ -1094,7 +1038,7 @@ let rec activate_inactivated_mut_borrow (config : C.config) (io : inner_outer) ("activate_inactivated_mut_borrow: resulting value:\n" ^ V.show_typed_value sv)); assert (not (loans_in_value sv)); - assert (not (bottom_in_value sv)); + assert (not (bottom_in_value ctx.ended_regions sv)); assert (not (inactivated_in_value sv)); (* End the borrows which borrow from the value, at the exception of the borrow we want to promote *) diff --git a/src/InterpreterExpansion.ml b/src/InterpreterExpansion.ml index 7366a819..24ec018e 100644 --- a/src/InterpreterExpansion.ml +++ b/src/InterpreterExpansion.ml @@ -152,7 +152,7 @@ let replace_symbolic_values (at_most_once : bool) inherit [_] C.map_eval_ctx as super method! visit_Symbolic env spc = - if same_symbolic_id spc.V.svalue original_sv then replace () + if same_symbolic_id spc original_sv then replace () else super#visit_Symbolic env spc end in @@ -190,9 +190,9 @@ let apply_symbolic_expansion_non_borrow (config : C.config) doesn't allow the expansion of enumerations *containing several variants*. *) let compute_expanded_symbolic_adt_value (expand_enumerations : bool) - (ended_regions : T.RegionId.set_t) (def_id : T.TypeDefId.id) - (regions : T.RegionId.id T.region list) (types : T.rty list) - (ctx : C.eval_ctx) : (C.eval_ctx * symbolic_expansion) list = + (def_id : T.TypeDefId.id) (regions : T.RegionId.id T.region list) + (types : T.rty list) (ctx : C.eval_ctx) : + (C.eval_ctx * symbolic_expansion) list = (* Lookup the definition and check if it is an enumeration with several * variants *) let def = C.ctx_lookup_type_def ctx def_id in @@ -210,8 +210,7 @@ let compute_expanded_symbolic_adt_value (expand_enumerations : bool) C.eval_ctx * symbolic_expansion = let ctx, field_values = List.fold_left_map - (fun ctx (ty : T.rty) -> - mk_fresh_symbolic_proj_comp ended_regions ty ctx) + (fun ctx (ty : T.rty) -> mk_fresh_symbolic_value ty ctx) ctx field_types in let see = SeAdt (variant_id, field_values) in @@ -220,32 +219,29 @@ let compute_expanded_symbolic_adt_value (expand_enumerations : bool) (* Initialize all the expanded values of all the variants *) List.map (initialize ctx) variants_fields_types -let compute_expanded_symbolic_tuple_value (ended_regions : T.RegionId.set_t) - (field_types : T.rty list) (ctx : C.eval_ctx) : - C.eval_ctx * symbolic_expansion = +let compute_expanded_symbolic_tuple_value (field_types : T.rty list) + (ctx : C.eval_ctx) : C.eval_ctx * symbolic_expansion = (* Generate the field values *) let ctx, field_values = List.fold_left_map - (fun ctx sv_ty -> mk_fresh_symbolic_proj_comp ended_regions sv_ty ctx) + (fun ctx sv_ty -> mk_fresh_symbolic_value sv_ty ctx) ctx field_types in let variant_id = None in let see = SeAdt (variant_id, field_values) in (ctx, see) -let compute_expanded_symbolic_box_value (ended_regions : T.RegionId.set_t) - (boxed_ty : T.rty) (ctx : C.eval_ctx) : C.eval_ctx * symbolic_expansion = +let compute_expanded_symbolic_box_value (boxed_ty : T.rty) (ctx : C.eval_ctx) : + C.eval_ctx * symbolic_expansion = (* Introduce a fresh symbolic value *) - let ctx, boxed_value = - mk_fresh_symbolic_proj_comp ended_regions boxed_ty ctx - in + let ctx, boxed_value = mk_fresh_symbolic_value boxed_ty ctx in let see = SeAdt (None, [ boxed_value ]) in (ctx, see) let expand_symbolic_value_shared_borrow (config : C.config) - (original_sv : V.symbolic_value) (ended_regions : T.RegionId.set_t) - (ref_ty : T.rty) (ctx : C.eval_ctx) : C.eval_ctx = - (* First, replace the projectors on borrows (AProjBorrow and proj_comp) + (original_sv : V.symbolic_value) (ref_ty : T.rty) (ctx : C.eval_ctx) : + C.eval_ctx = + (* First, replace the projectors on borrows. * The important point is that the symbolic value to expand may appear * several times, if it has been copied. In this case, we need to introduce * one fresh borrow id per instance. @@ -285,7 +281,7 @@ let expand_symbolic_value_shared_borrow (config : C.config) inherit [_] C.map_eval_ctx as super method! visit_Symbolic env sv = - if same_symbolic_id sv.V.svalue original_sv then + if same_symbolic_id sv original_sv then let bid = fresh_borrow () in V.Borrow (V.SharedBorrow bid) else super#visit_Symbolic env sv @@ -326,7 +322,7 @@ let expand_symbolic_value_shared_borrow (config : C.config) (* Finally, replace the projectors on loans *) let bids = !borrows in assert (not (V.BorrowId.Set.is_empty bids)); - let ctx, shared_sv = mk_fresh_symbolic_proj_comp ended_regions ref_ty ctx in + let ctx, shared_sv = mk_fresh_symbolic_value ref_ty ctx in let see = SeSharedRef (bids, shared_sv) in let allow_reborrows = true in let ctx = @@ -339,17 +335,16 @@ let expand_symbolic_value_shared_borrow (config : C.config) ctx let expand_symbolic_value_borrow (config : C.config) - (original_sv : V.symbolic_value) (ended_regions : T.RegionId.set_t) - (region : T.RegionId.id T.region) (ref_ty : T.rty) (rkind : T.ref_kind) - (ctx : C.eval_ctx) : C.eval_ctx = + (original_sv : V.symbolic_value) (region : T.RegionId.id T.region) + (ref_ty : T.rty) (rkind : T.ref_kind) (ctx : C.eval_ctx) : C.eval_ctx = (* Check that we are allowed to expand the reference *) - assert (not (region_in_set region ended_regions)); + assert (not (region_in_set region ctx.ended_regions)); (* Match on the reference kind *) match rkind with | T.Mut -> (* Simple case: simply create a fresh symbolic value and a fresh * borrow id *) - let ctx, sv = mk_fresh_symbolic_proj_comp ended_regions ref_ty ctx in + let ctx, sv = mk_fresh_symbolic_value ref_ty ctx in let ctx, bid = C.fresh_borrow_id ctx in let see = SeMutRef (bid, sv) in (* Expand the symbolic values - we simply perform a substitution (and @@ -370,8 +365,7 @@ let expand_symbolic_value_borrow (config : C.config) (* Return *) ctx | T.Shared -> - expand_symbolic_value_shared_borrow config original_sv ended_regions - ref_ty ctx + expand_symbolic_value_shared_borrow config original_sv ref_ty ctx (** Expand a symbolic value which is not an enumeration with several variants (i.e., in a situation where it doesn't lead to branching). @@ -379,13 +373,12 @@ let expand_symbolic_value_borrow (config : C.config) This function is used when exploring paths. *) let expand_symbolic_value_no_branching (config : C.config) - (pe : E.projection_elem) (sp : V.symbolic_proj_comp) (ctx : C.eval_ctx) : + (pe : E.projection_elem) (sp : V.symbolic_value) (ctx : C.eval_ctx) : C.eval_ctx = (* Compute the expanded value - note that when doing so, we may introduce * fresh symbolic values in the context (which thus gets updated) *) - let original_sv = sp.V.svalue in + let original_sv = sp in let rty = original_sv.V.sv_ty in - let ended_regions = sp.V.rset_ended in let ctx = match (pe, rty) with (* "Regular" ADTs *) @@ -396,8 +389,8 @@ let expand_symbolic_value_no_branching (config : C.config) * don't allow to expand enumerations with strictly more than one variant *) let expand_enumerations = false in match - compute_expanded_symbolic_adt_value expand_enumerations ended_regions - def_id regions types ctx + compute_expanded_symbolic_adt_value expand_enumerations def_id regions + types ctx with | [ (ctx, see) ] -> (* Apply in the context *) @@ -413,9 +406,7 @@ let expand_symbolic_value_no_branching (config : C.config) | Field (ProjTuple arity, _), T.Adt (T.Tuple, [], tys) -> assert (arity = List.length tys); (* Generate the field values *) - let ctx, see = - compute_expanded_symbolic_tuple_value ended_regions tys ctx - in + let ctx, see = compute_expanded_symbolic_tuple_value tys ctx in (* Apply in the context *) let ctx = apply_symbolic_expansion_non_borrow config original_sv see ctx @@ -426,9 +417,7 @@ let expand_symbolic_value_no_branching (config : C.config) ctx (* Boxes *) | DerefBox, T.Adt (T.Assumed T.Box, [], [ boxed_ty ]) -> - let ctx, see = - compute_expanded_symbolic_box_value ended_regions boxed_ty ctx - in + let ctx, see = compute_expanded_symbolic_box_value boxed_ty ctx in (* Apply in the context *) let ctx = apply_symbolic_expansion_non_borrow config original_sv see ctx @@ -439,8 +428,7 @@ let expand_symbolic_value_no_branching (config : C.config) ctx (* Borrows *) | Deref, T.Ref (region, ref_ty, rkind) -> - expand_symbolic_value_borrow config original_sv ended_regions region - ref_ty rkind ctx + expand_symbolic_value_borrow config original_sv region ref_ty rkind ctx | _ -> failwith ("Unreachable: " ^ E.show_projection_elem pe ^ ", " ^ T.show_rty rty) @@ -454,13 +442,12 @@ let expand_symbolic_value_no_branching (config : C.config) This might lead to branching. *) -let expand_symbolic_enum_value (config : C.config) (sp : V.symbolic_proj_comp) +let expand_symbolic_enum_value (config : C.config) (sp : V.symbolic_value) (ctx : C.eval_ctx) : C.eval_ctx list = (* Compute the expanded value - note that when doing so, we may introduce * fresh symbolic values in the context (which thus gets updated) *) - let original_sv = sp.V.svalue in + let original_sv = sp in let rty = original_sv.V.sv_ty in - let ended_regions = sp.V.rset_ended in match rty with (* The value should be a "regular" ADTs *) | T.Adt (T.AdtId def_id, regions, types) -> @@ -468,8 +455,8 @@ let expand_symbolic_enum_value (config : C.config) (sp : V.symbolic_proj_comp) * don't allow to expand enumerations with strictly more than one variant *) let expand_enumerations = true in let res = - compute_expanded_symbolic_adt_value expand_enumerations ended_regions - def_id regions types ctx + compute_expanded_symbolic_adt_value expand_enumerations def_id regions + types ctx in (* Update the synthesized program *) let seel = List.map (fun (_, x) -> x) res in diff --git a/src/InterpreterExpressions.ml b/src/InterpreterExpressions.ml index e379eacd..f9b1ab3c 100644 --- a/src/InterpreterExpressions.ml +++ b/src/InterpreterExpressions.ml @@ -87,7 +87,7 @@ let eval_operand_prepare (config : C.config) (ctx : C.eval_ctx) (op : E.operand) let access = Move in prepare_rplace config access p ctx in - assert (not (bottom_in_value v)); + assert (not (bottom_in_value ctx.ended_regions v)); (ctx, v) (** Evaluate an operand. *) @@ -109,7 +109,7 @@ let eval_operand (config : C.config) (ctx : C.eval_ctx) (op : E.operand) : let ctx, v = prepare_rplace config access p ctx in (* Copy the value *) L.log#ldebug (lazy ("Value to copy:\n" ^ typed_value_to_string ctx v)); - assert (not (bottom_in_value v)); + assert (not (bottom_in_value ctx.ended_regions v)); let allow_adt_copy = false in copy_value allow_adt_copy config ctx v | Expressions.Move p -> ( @@ -118,7 +118,7 @@ let eval_operand (config : C.config) (ctx : C.eval_ctx) (op : E.operand) : let ctx, v = prepare_rplace config access p ctx in (* Move the value *) L.log#ldebug (lazy ("Value to move:\n" ^ typed_value_to_string ctx v)); - assert (not (bottom_in_value v)); + assert (not (bottom_in_value ctx.ended_regions v)); let bottom : V.typed_value = { V.value = Bottom; ty = v.ty } in match write_place config access p bottom ctx with | Error _ -> failwith "Unreachable" diff --git a/src/InterpreterPaths.ml b/src/InterpreterPaths.ml index 80725bab..bfe877ab 100644 --- a/src/InterpreterPaths.ml +++ b/src/InterpreterPaths.ml @@ -28,7 +28,7 @@ type path_fail_kind = | FailInactivatedMutBorrow of V.BorrowId.id (** Failure because we couldn't go inside an inactivated mutable borrow (which should get activated) *) - | FailSymbolic of (E.projection_elem * V.symbolic_proj_comp) + | FailSymbolic of (E.projection_elem * V.symbolic_value) (** Failure because we need to enter a symbolic value (and thus need to expand it) *) (* TODO: Remove the parentheses *) | FailBottom of (int * E.projection_elem * T.ety) @@ -774,8 +774,7 @@ let rec copy_value (allow_adt_copy : bool) (config : C.config) * Note that in the general case, copy is a trait: copying values * thus requires calling the proper function. Here, we copy values * for very simple types such as integers, shared borrows, etc. *) - assert ( - type_is_primitively_copyable (Subst.erase_regions sp.V.svalue.V.sv_ty)); + assert (type_is_primitively_copyable (Subst.erase_regions sp.V.sv_ty)); (* If the type is copyable, we simply return the current value. Side * remark: what is important to look at when copying symbolic values * is symbolic expansion. The important subcase is the expansion of shared diff --git a/src/InterpreterProjectors.ml b/src/InterpreterProjectors.ml index ada1a89a..21c9e034 100644 --- a/src/InterpreterProjectors.ml +++ b/src/InterpreterProjectors.ml @@ -13,9 +13,9 @@ open InterpreterBorrowsCore (** A symbolic expansion *) type symbolic_expansion = | SeConcrete of V.constant_value - | SeAdt of (T.VariantId.id option * V.symbolic_proj_comp list) - | SeMutRef of V.BorrowId.id * V.symbolic_proj_comp - | SeSharedRef of V.BorrowId.set_t * V.symbolic_proj_comp + | SeAdt of (T.VariantId.id option * V.symbolic_value list) + | SeMutRef of V.BorrowId.id * V.symbolic_value + | SeSharedRef of V.BorrowId.set_t * V.symbolic_value (** Auxiliary function. @@ -92,8 +92,9 @@ let rec apply_proj_borrows_on_shared_borrow (ctx : C.eval_ctx) asb | V.Loan _, _ -> failwith "Unreachable" | V.Symbolic s, _ -> - assert (not (symbolic_proj_comp_ended_regions_intersect_proj s ty regions)); - [ V.AsbProjReborrows (s.V.svalue, ty) ] + (* Check that the projection doesn't contain ended regions *) + assert (not (projections_intersect s.V.sv_ty ctx.ended_regions ty regions)); + [ V.AsbProjReborrows (s, ty) ] | _ -> failwith "Unreachable" (** Apply (and reduce) a projector over borrows to a value. @@ -212,12 +213,12 @@ let rec apply_proj_borrows (check_symbolic_no_ended : bool) (ctx : C.eval_ctx) V.ABorrow bc | V.Loan _, _ -> failwith "Unreachable" | V.Symbolic s, _ -> - (* Check that the symbolic value doesn't contain already ended regions, + (* Check that the projection doesn't contain already ended regions, * if necessary *) if check_symbolic_no_ended then assert ( - not (symbolic_proj_comp_ended_regions_intersect_proj s ty regions)); - V.ASymbolic (V.AProjBorrows (s.V.svalue, ty)) + not (projections_intersect s.V.sv_ty ctx.ended_regions ty regions)); + V.ASymbolic (V.AProjBorrows (s, ty)) | _ -> failwith "Unreachable" in { V.value; V.ty } @@ -231,7 +232,7 @@ let symbolic_expansion_non_borrow_to_value (sv : V.symbolic_value) | SeConcrete cv -> V.Concrete cv | SeAdt (variant_id, field_values) -> let field_values = - List.map mk_typed_value_from_proj_comp field_values + List.map mk_typed_value_from_symbolic_value field_values in V.Adt { V.variant_id; V.field_values } | SeMutRef (_, _) | SeSharedRef (_, _) -> @@ -250,7 +251,7 @@ let symbolic_expansion_non_shared_borrow_to_value (sv : V.symbolic_value) match see with | SeMutRef (bid, bv) -> let ty = Subst.erase_regions sv.V.sv_ty in - let bv = mk_typed_value_from_proj_comp bv in + let bv = mk_typed_value_from_symbolic_value bv in let value = V.Borrow (V.MutBorrow (bid, bv)) in { V.value; ty } | SeSharedRef (_, _) -> @@ -271,14 +272,14 @@ let apply_proj_loans_on_symbolic_expansion (regions : T.RegionId.set_t) | SeAdt (variant_id, field_values), T.Adt (_id, _region_params, _tys) -> (* Project over the field values *) let field_values = - List.map mk_aproj_loans_from_proj_comp field_values + List.map mk_aproj_loans_from_symbolic_value field_values in (V.AAdt { V.variant_id; field_values }, original_sv_ty) | SeMutRef (bid, spc), T.Ref (r, ref_ty, T.Mut) -> (* Sanity check *) - assert (spc.V.svalue.V.sv_ty = ref_ty); + assert (spc.V.sv_ty = ref_ty); (* Apply the projector to the borrowed value *) - let child_av = mk_aproj_loans_from_proj_comp spc in + let child_av = mk_aproj_loans_from_symbolic_value spc in (* Check if the region is in the set of projected regions (note that * we never project over static regions) *) if region_in_set r regions then @@ -289,14 +290,14 @@ let apply_proj_loans_on_symbolic_expansion (regions : T.RegionId.set_t) (V.ALoan (V.AIgnoredMutLoan (bid, child_av)), ref_ty) | SeSharedRef (bids, spc), T.Ref (r, ref_ty, T.Shared) -> (* Sanity check *) - assert (spc.V.svalue.V.sv_ty = ref_ty); + assert (spc.V.sv_ty = ref_ty); (* Apply the projector to the borrowed value *) - let child_av = mk_aproj_loans_from_proj_comp spc in + let child_av = mk_aproj_loans_from_symbolic_value spc in (* Check if the region is in the set of projected regions (note that * we never project over static regions) *) if region_in_set r regions then (* In the set: keep *) - let shared_value = mk_typed_value_from_proj_comp spc in + let shared_value = mk_typed_value_from_symbolic_value spc in (V.ALoan (V.ASharedLoan (bids, shared_value, child_av)), ref_ty) else (* Not in the set: ignore *) diff --git a/src/InterpreterStatements.ml b/src/InterpreterStatements.ml index 5eee5296..c4bbdf23 100644 --- a/src/InterpreterStatements.ml +++ b/src/InterpreterStatements.ml @@ -74,10 +74,8 @@ let eval_assertion (config : C.config) (ctx : C.eval_ctx) * `true` *) S.synthesize_assert v; let see = SeConcrete (V.Bool true) in - let ctx = - apply_symbolic_expansion_non_borrow config sv.V.svalue see ctx - in - S.synthesize_symbolic_expansion_no_branching sv.V.svalue see; + let ctx = apply_symbolic_expansion_non_borrow config sv see ctx in + S.synthesize_symbolic_expansion_no_branching sv see; (* We can finally fully evaluate the operand *) let ctx, _ = eval_operand config ctx assertion.cond in Ok ctx @@ -641,15 +639,13 @@ and eval_switch (config : C.config) (op : E.operand) (tgts : A.switch_targets) else eval_statement config ctx st2 | V.Symbolic sv -> (* Synthesis *) - S.synthesize_symbolic_expansion_if_branching sv.V.svalue; + S.synthesize_symbolic_expansion_if_branching sv; (* Expand the symbolic value to true or false *) let see_true = SeConcrete (V.Bool true) in let see_false = SeConcrete (V.Bool false) in let expand_and_execute see st = (* Apply the symbolic expansion *) - let ctx = - apply_symbolic_expansion_non_borrow config sv.V.svalue see ctx - in + let ctx = apply_symbolic_expansion_non_borrow config sv see ctx in (* Evaluate the operand *) let ctx, _ = eval_operand config ctx op in (* Evaluate the branch *) @@ -674,7 +670,7 @@ and eval_switch (config : C.config) (op : E.operand) (tgts : A.switch_targets) | Some (_, tgt) -> eval_statement config ctx tgt) | V.Symbolic sv -> (* Synthesis *) - S.synthesize_symbolic_expansion_switch_int_branching sv.V.svalue; + S.synthesize_symbolic_expansion_switch_int_branching sv; (* For all the branches of the switch, we expand the symbolic value * to the value given by the branch and execute the branch statement. * For the otherwise branch, we leave the symbolic value as it is @@ -685,9 +681,7 @@ and eval_switch (config : C.config) (op : E.operand) (tgts : A.switch_targets) let exec_branch (switch_value, branch_st) = let see = SeConcrete (V.Scalar switch_value) in (* Apply the symbolic expansion *) - let ctx = - apply_symbolic_expansion_non_borrow config sv.V.svalue see ctx - in + let ctx = apply_symbolic_expansion_non_borrow config sv see ctx in (* Evaluate the operand *) let ctx, _ = eval_operand config ctx op in (* Evaluate the branch *) @@ -810,11 +804,9 @@ and eval_function_call_symbolic_from_inst_sig (config : C.config) (args : E.operand list) (dest : E.place) : C.eval_ctx = (* Generate a fresh symbolic value for the return value *) let ret_sv_ty = inst_sg.A.output in - let ctx, ret_spc = - mk_fresh_symbolic_proj_comp T.RegionId.Set.empty ret_sv_ty ctx - in - let ret_value = mk_typed_value_from_proj_comp ret_spc in - let ret_av = mk_aproj_loans_from_symbolic_value ret_spc.V.svalue in + let ctx, ret_spc = mk_fresh_symbolic_value ret_sv_ty ctx in + let ret_value = mk_typed_value_from_symbolic_value ret_spc in + let ret_av = mk_aproj_loans_from_symbolic_value ret_spc in (* Evaluate the input operands *) let ctx, args = eval_operands config ctx args in let args_with_rtypes = List.combine args inst_sg.A.inputs in @@ -857,8 +849,7 @@ and eval_function_call_symbolic_from_inst_sig (config : C.config) (* Move the return value to its destination *) let ctx = assign_to_place config ctx ret_value dest in (* Synthesis *) - S.synthesize_function_call fid region_params type_params args dest - ret_spc.V.svalue; + S.synthesize_function_call fid region_params type_params args dest ret_spc; (* Return *) ctx diff --git a/src/InterpreterUtils.ml b/src/InterpreterUtils.ml index 458c11b4..fcc6050f 100644 --- a/src/InterpreterUtils.ml +++ b/src/InterpreterUtils.ml @@ -51,51 +51,19 @@ let mk_fresh_symbolic_value (ty : T.rty) (ctx : C.eval_ctx) : let svalue = { V.sv_id; V.sv_ty = ty } in (ctx, svalue) -(** Create a fresh symbolic proj comp *) -let mk_fresh_symbolic_proj_comp (ended_regions : T.RegionId.set_t) (ty : T.rty) - (ctx : C.eval_ctx) : C.eval_ctx * V.symbolic_proj_comp = - let ctx, svalue = mk_fresh_symbolic_value ty ctx in - let sv = { V.svalue; rset_ended = ended_regions } in - (ctx, sv) - -(** Create a fresh symbolic value (as a complementary projector) *) -let mk_fresh_symbolic_proj_comp_value (ended_regions : T.RegionId.set_t) - (ty : T.rty) (ctx : C.eval_ctx) : C.eval_ctx * V.typed_value = - let ctx, sv = mk_fresh_symbolic_proj_comp ended_regions ty ctx in - let value : V.value = V.Symbolic sv in - let ty : T.ety = Subst.erase_regions ty in - let sv : V.typed_value = { V.value; ty } in - (ctx, sv) - -let mk_typed_value_from_proj_comp (sv : V.symbolic_proj_comp) : V.typed_value = - let ty = Subst.erase_regions sv.V.svalue.V.sv_ty in - let value = V.Symbolic sv in - { V.value; ty } - -(** Create a typed value from a symbolic value. - - Initializes the set of ended regions with `empty`. - *) +(** Create a typed value from a symbolic value. *) let mk_typed_value_from_symbolic_value (svalue : V.symbolic_value) : V.typed_value = - let spc = { V.svalue; rset_ended = T.RegionId.Set.empty } in - mk_typed_value_from_proj_comp spc - -let mk_aproj_loans_from_proj_comp (spc : V.symbolic_proj_comp) : V.typed_avalue - = - let ty = spc.V.svalue.V.sv_ty in - let proj = V.AProjLoans spc.V.svalue in - let value = V.ASymbolic proj in - { V.value; ty } - -(** Create a Loans projector from a symbolic value. + let av = V.Symbolic svalue in + let av : V.typed_value = + { V.value = av; V.ty = Subst.erase_regions svalue.V.sv_ty } + in + av - Initializes the set of ended regions with `empty`. - *) +(** Create a loans projector from a symbolic value. *) let mk_aproj_loans_from_symbolic_value (svalue : V.symbolic_value) : V.typed_avalue = - let spc = { V.svalue; rset_ended = T.RegionId.Set.empty } in - let av = V.ASymbolic (V.AProjLoans spc.V.svalue) in + let av = V.ASymbolic (V.AProjLoans svalue) in let av : V.typed_avalue = { V.value = av; V.ty = svalue.V.sv_ty } in av @@ -162,7 +130,7 @@ let symbolic_value_id_in_ctx (sv_id : V.SymbolicValueId.id) (ctx : C.eval_ctx) : inherit [_] C.iter_eval_ctx method! visit_Symbolic _ sv = - if sv.V.svalue.V.sv_id = sv_id then raise Found else () + if sv.V.sv_id = sv_id then raise Found else () method! visit_ASymbolic _ aproj = match aproj with @@ -228,36 +196,33 @@ let rec projections_intersect (ty1 : T.rty) (rset1 : T.RegionId.set_t) || projections_intersect ty1 rset1 ty2 rset2 | _ -> failwith "Unreachable" -(** Check if the ended regions of a comp projector over a symbolic value - intersect the regions listed in another projection *) -let symbolic_proj_comp_ended_regions_intersect_proj (s : V.symbolic_proj_comp) - (ty : T.rty) (regions : T.RegionId.set_t) : bool = - projections_intersect s.V.svalue.V.sv_ty s.V.rset_ended ty regions - (** Check that a symbolic value doesn't contain ended regions. Note that we don't check that the set of ended regions is empty: we check that the set of ended regions doesn't intersect the set of regions used in the type (this is more general). *) -let symbolic_proj_comp_ended_regions (s : V.symbolic_proj_comp) : bool = - let regions = rty_regions s.V.svalue.V.sv_ty in - not (T.RegionId.Set.disjoint regions s.rset_ended) +let symbolic_value_has_ended_regions (ended_regions : T.RegionId.set_t) + (s : V.symbolic_value) : bool = + let regions = rty_regions s.V.sv_ty in + not (T.RegionId.Set.disjoint regions ended_regions) (** Check if a [value] contains ⊥. Note that this function is very general: it also checks wether symbolic values contain already ended regions. *) -let bottom_in_value (v : V.typed_value) : bool = +let bottom_in_value (ended_regions : T.RegionId.set_t) (v : V.typed_value) : + bool = let obj = object inherit [_] V.iter_typed_value method! visit_Bottom _ = raise Found - method! visit_symbolic_proj_comp _ s = - if symbolic_proj_comp_ended_regions s then raise Found else () + method! visit_symbolic_value _ s = + if symbolic_value_has_ended_regions ended_regions s then raise Found + else () end in (* We use exceptions *) @@ -273,7 +238,7 @@ let bottom_in_value (v : V.typed_value) : bool = TODO: remove? *) -let bottom_in_avalue (v : V.typed_avalue) (_abs_regions : T.RegionId.set_t) : +let bottom_in_avalue (ended_regions : T.RegionId.set_t) (v : V.typed_avalue) : bool = let obj = object @@ -281,8 +246,9 @@ let bottom_in_avalue (v : V.typed_avalue) (_abs_regions : T.RegionId.set_t) : method! visit_Bottom _ = raise Found - method! visit_symbolic_proj_comp _ sv = - if symbolic_proj_comp_ended_regions sv then raise Found else () + method! visit_symbolic_value _ sv = + if symbolic_value_has_ended_regions ended_regions sv then raise Found + else () method! visit_aproj _ ap = (* Nothing to do actually *) diff --git a/src/Invariants.ml b/src/Invariants.ml index 11b00381..86fa3d46 100644 --- a/src/Invariants.ml +++ b/src/Invariants.ml @@ -433,8 +433,8 @@ let check_typing_invariant (ctx : C.eval_ctx) : unit = | Abstract (V.AMutBorrow (_, sv)) -> assert (Subst.erase_regions sv.V.ty = ty) | _ -> failwith "Inconsistent context")) - | V.Symbolic spc, ty -> - let ty' = Subst.erase_regions spc.V.svalue.V.sv_ty in + | V.Symbolic sv, ty -> + let ty' = Subst.erase_regions sv.V.sv_ty in assert (ty' = ty) | _ -> failwith "Erroneous typing"); (* Continue exploring to inspect the subterms *) diff --git a/src/Print.ml b/src/Print.ml index 0b436f1a..f714e847 100644 --- a/src/Print.ml +++ b/src/Print.ml @@ -214,11 +214,6 @@ module Values = struct (sv : V.symbolic_value) : string = symbolic_value_id_to_string sv.sv_id ^ " : " ^ PT.rty_to_string fmt sv.sv_ty - let symbolic_proj_comp_to_string (fmt : PT.rtype_formatter) - (sp : V.symbolic_proj_comp) : string = - let regions = T.RegionId.set_to_string sp.rset_ended in - "proj_comp " ^ regions ^ " (" ^ symbolic_value_to_string fmt sp.svalue ^ ")" - let symbolic_value_proj_to_string (fmt : value_formatter) (sv : V.symbolic_value) (rty : T.rty) : string = symbolic_value_id_to_string sv.sv_id @@ -275,8 +270,7 @@ module Values = struct | Bottom -> "⊥ : " ^ PT.ty_to_string ty_fmt v.ty | Borrow bc -> borrow_content_to_string fmt bc | Loan lc -> loan_content_to_string fmt lc - | Symbolic s -> - symbolic_proj_comp_to_string (value_to_rtype_formatter fmt) s + | Symbolic s -> symbolic_value_to_string (value_to_rtype_formatter fmt) s and borrow_content_to_string (fmt : value_formatter) (bc : V.borrow_content) : string = @@ -539,6 +533,7 @@ module Contexts = struct let eval_ctx_to_string (ctx : C.eval_ctx) : string = let fmt = eval_ctx_to_ctx_formatter ctx in + let ended_regions = T.RegionId.set_to_string ctx.ended_regions in let frames = split_env_according_to_frames ctx.env in let num_frames = List.length frames in let frames = @@ -547,7 +542,8 @@ module Contexts = struct "\n# Frame " ^ string_of_int i ^ ":\n" ^ env_to_string fmt f ^ "\n") frames in - "# " ^ string_of_int num_frames ^ " frame(s)\n" ^ String.concat "" frames + "# Ended regions: " ^ ended_regions ^ "\n" ^ "# " ^ string_of_int num_frames + ^ " frame(s)\n" ^ String.concat "" frames end module PC = Contexts (* local module *) diff --git a/src/Values.ml b/src/Values.ml index 47bdda23..b6bb414b 100644 --- a/src/Values.ml +++ b/src/Values.ml @@ -47,35 +47,7 @@ type constant_value = type symbolic_value = { sv_id : SymbolicValueId.id; sv_ty : rty } [@@deriving show] -(** Symbolic value. - - TODO: a symbolic value may not always have the same type!! - For references: - - a projector on loans may see a symbolic value of id `sid` as having type `T` - - a projector on borrows may see it as having type `&mut T` - We need to make this clear and more consistant. - So [symbolic_value] is actually a projector. TODO: rename to [symbolic_proj]. - The kind of projector will then depend on the context. - Actually, maybe we shouldn't use this type. Or for abstractions we should - use different types. Something like: - - [proj_borrows] for values - - [aproj_loans], [aproj_borrows] for avalues - *) - -(** TODO: make it clear that complementary projectors are projectors on borrows. - ** TODO: actually this is useless: the set of ended regions should be global! - ** (and thus stored in the context) *) -type symbolic_proj_comp = { - svalue : symbolic_value; (** The symbolic value itself *) - rset_ended : RegionId.set_t; - (** The regions used in the symbolic value which have already ended *) -} -[@@deriving show] -(** A complementary projector over a symbolic value. - - "Complementary" stands for the fact that it is a projector over all the - regions *but* the ones which are listed in the projector. -*) +(** A symbolic value *) (** Ancestor for [typed_value] iter visitor *) class ['self] iter_typed_value_base = @@ -86,8 +58,7 @@ class ['self] iter_typed_value_base = method visit_erased_region : 'env -> erased_region -> unit = fun _ _ -> () - method visit_symbolic_proj_comp : 'env -> symbolic_proj_comp -> unit = - fun _ _ -> () + method visit_symbolic_value : 'env -> symbolic_value -> unit = fun _ _ -> () method visit_ety : 'env -> ety -> unit = fun _ _ -> () end @@ -103,8 +74,7 @@ class ['self] map_typed_value_base = method visit_erased_region : 'env -> erased_region -> erased_region = fun _ r -> r - method visit_symbolic_proj_comp - : 'env -> symbolic_proj_comp -> symbolic_proj_comp = + method visit_symbolic_value : 'env -> symbolic_value -> symbolic_value = fun _ sv -> sv method visit_ety : 'env -> ety -> ety = fun _ ty -> ty @@ -117,8 +87,13 @@ type value = | Bottom (** No value (uninitialized or moved value) *) | Borrow of borrow_content (** A borrowed value *) | Loan of loan_content (** A loaned value *) - | Symbolic of symbolic_proj_comp - (** Unknown (symbolic) value. This is a projector on borrows (TODO: make this clearer). *) + | Symbolic of symbolic_value + (** Borrow projector over a symbolic value. + + Note that contrary to the abstraction-values case, symbolic values + appearing in regular values are interpreted as *borrow* projectors, + they can never be *loan* projectors. + *) and adt_value = { variant_id : (VariantId.id option[@opaque]); diff --git a/tests/trace_reference.txt b/tests/trace_reference.txt index 0901e59b..767b6cbb 100644 --- a/tests/trace_reference.txt +++ b/tests/trace_reference.txt @@ -897,6 +897,7 @@ fn test_char() -> char { ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -922,6 +923,7 @@ fn test_char() -> char { ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -943,6 +945,7 @@ fn test_char() -> char { [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -981,6 +984,7 @@ fn test_char() -> char { ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -1006,6 +1010,7 @@ fn test_char() -> char { ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -1027,6 +1032,7 @@ fn test_char() -> char { [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -1064,6 +1070,7 @@ fn test_char() -> char { ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -1089,6 +1096,7 @@ fn test_char() -> char { ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -1110,6 +1118,7 @@ fn test_char() -> char { [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -1146,6 +1155,7 @@ fn test_char() -> char { ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -1171,6 +1181,7 @@ fn test_char() -> char { ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -1192,6 +1203,7 @@ fn test_char() -> char { [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -1229,6 +1241,7 @@ copy x ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -1254,6 +1267,7 @@ copy x ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -1275,6 +1289,7 @@ copy x [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -1315,6 +1330,7 @@ ty: (Types.Adt ((Types.AdtId 0), [], ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -1340,6 +1356,7 @@ ty: (Types.Adt ((Types.AdtId 0), [], ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -1361,6 +1378,7 @@ ty: (Types.Adt ((Types.AdtId 0), [], [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -1394,6 +1412,7 @@ ty: (Types.Adt ((Types.AdtId 0), [], ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -1419,6 +1438,7 @@ ty: (Types.Adt ((Types.AdtId 0), [], ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -1440,6 +1460,7 @@ ty: (Types.Adt ((Types.AdtId 0), [], [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -1475,6 +1496,7 @@ ty: (Types.Adt ((Types.AdtId 6), [], [(Types.Integer Types.U32); Types.Bool])) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -1500,6 +1522,7 @@ ty: (Types.Adt ((Types.AdtId 6), [], [(Types.Integer Types.U32); Types.Bool])) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -1529,6 +1552,7 @@ ty: (Types.Adt ((Types.AdtId 6), [], [(Types.Integer Types.U32); Types.Bool])) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -1554,6 +1578,7 @@ ty: (Types.Adt ((Types.AdtId 6), [], [(Types.Integer Types.U32); Types.Bool])) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -1575,6 +1600,7 @@ ty: (Types.Adt ((Types.AdtId 6), [], [(Types.Integer Types.U32); Types.Bool])) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -1608,6 +1634,7 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -1633,6 +1660,7 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -1660,6 +1688,7 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -1685,6 +1714,7 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -1711,6 +1741,7 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -1736,6 +1767,7 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -1761,6 +1793,7 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -1796,6 +1829,7 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -1820,6 +1854,7 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -1840,6 +1875,7 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -1862,6 +1898,7 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -1897,6 +1934,7 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -1931,6 +1969,7 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -1961,6 +2000,7 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -2007,6 +2047,7 @@ copy x ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -2041,6 +2082,7 @@ copy x ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -2071,6 +2113,7 @@ copy x [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -2116,6 +2159,7 @@ copy y ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -2150,6 +2194,7 @@ copy y ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -2180,6 +2225,7 @@ copy y [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -2214,6 +2260,7 @@ move var@4 4: u32 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -2258,6 +2305,7 @@ move var@5 ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -2297,6 +2345,7 @@ move var@5 ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -2327,6 +2376,7 @@ move var@5 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -2365,6 +2415,7 @@ true ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -2395,6 +2446,7 @@ true [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -2433,6 +2485,7 @@ copy x ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -2462,6 +2515,7 @@ copy x [[32mDebug[39m] ctx_pop_frame: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -2495,6 +2549,7 @@ copy x [[32mDebug[39m] drop_value: place: y [[32mDebug[39m] drop_value: place: x [[32mDebug[39m] ctx_pop_frame: after dropping local variables: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -2523,6 +2578,7 @@ copy x [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -2569,6 +2625,7 @@ move var@0 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -2593,6 +2650,7 @@ move var@0 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -2613,6 +2671,7 @@ move var@0 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -2635,6 +2694,7 @@ move var@0 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -2670,6 +2730,7 @@ move var@0 ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -2704,6 +2765,7 @@ move var@0 ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -2734,6 +2796,7 @@ move var@0 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -2780,6 +2843,7 @@ copy x ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -2814,6 +2878,7 @@ copy x ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -2844,6 +2909,7 @@ copy x [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -2889,6 +2955,7 @@ copy y ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -2923,6 +2990,7 @@ copy y ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -2953,6 +3021,7 @@ copy y [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -2987,6 +3056,7 @@ move var@4 10: u32 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -3031,6 +3101,7 @@ move var@5 ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -3070,6 +3141,7 @@ move var@5 ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -3100,6 +3172,7 @@ move var@5 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -3138,6 +3211,7 @@ false ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -3168,6 +3242,7 @@ false [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -3206,6 +3281,7 @@ copy y ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -3235,6 +3311,7 @@ copy y [[32mDebug[39m] ctx_pop_frame: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -3268,6 +3345,7 @@ copy y [[32mDebug[39m] drop_value: place: y [[32mDebug[39m] drop_value: place: x [[32mDebug[39m] ctx_pop_frame: after dropping local variables: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -3296,6 +3374,7 @@ copy y [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -3341,6 +3420,7 @@ move var@0 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -3365,6 +3445,7 @@ move var@0 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -3385,6 +3466,7 @@ move var@0 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -3419,6 +3501,7 @@ copy x ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -3443,6 +3526,7 @@ copy x ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -3463,6 +3547,7 @@ copy x [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -3496,6 +3581,7 @@ copy y ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -3520,6 +3606,7 @@ copy y ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -3540,6 +3627,7 @@ copy y [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -3564,6 +3652,7 @@ copy var@4 4: u32 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -3596,6 +3685,7 @@ copy var@5 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -3620,6 +3710,7 @@ copy var@5 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -3640,6 +3731,7 @@ copy var@5 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -3671,6 +3763,7 @@ copy z ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -3695,6 +3788,7 @@ copy z ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -3715,6 +3809,7 @@ copy z [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -3739,6 +3834,7 @@ move var@9 15: u32 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -3767,6 +3863,7 @@ move var@9 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -3791,6 +3888,7 @@ move var@9 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -3811,6 +3909,7 @@ move var@9 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -3840,6 +3939,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -3864,6 +3964,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -3884,6 +3985,7 @@ true [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -3912,6 +4014,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -3939,6 +4042,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -3956,6 +4060,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -3969,6 +4074,7 @@ false [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -3989,6 +4095,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -4006,6 +4113,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -4019,6 +4127,7 @@ false [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -4038,6 +4147,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -4064,6 +4174,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -4085,6 +4196,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -4102,6 +4214,7 @@ false [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -4132,6 +4245,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -4153,6 +4267,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -4180,6 +4295,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -4201,6 +4317,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -4227,6 +4344,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -4248,6 +4366,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -4265,6 +4384,7 @@ false [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -4292,6 +4412,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -4313,6 +4434,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -4330,6 +4452,7 @@ false [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -4358,6 +4481,7 @@ copy x ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -4379,6 +4503,7 @@ copy x ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -4396,6 +4521,7 @@ copy x [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -4417,6 +4543,7 @@ move var@6 1: i32 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -4442,6 +4569,7 @@ move var@6 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -4463,6 +4591,7 @@ move var@6 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -4480,6 +4609,7 @@ move var@6 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -4506,6 +4636,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -4527,6 +4658,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -4544,6 +4676,7 @@ true [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -4569,6 +4702,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -4615,6 +4749,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -4648,6 +4783,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -4677,6 +4813,7 @@ false [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -4735,6 +4872,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -4768,6 +4906,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -4797,6 +4936,7 @@ false [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -4854,6 +4994,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -4887,6 +5028,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -4941,6 +5083,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -4974,6 +5117,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -5027,6 +5171,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -5060,6 +5205,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -5112,6 +5258,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -5145,6 +5292,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -5196,6 +5344,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -5229,6 +5378,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -5258,6 +5408,7 @@ false [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -5312,6 +5463,7 @@ move var@6 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -5345,6 +5497,7 @@ move var@6 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -5374,6 +5527,7 @@ move var@6 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -5425,6 +5579,7 @@ move var@6 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -5458,6 +5613,7 @@ move var@6 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -5487,6 +5643,7 @@ move var@6 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -5539,6 +5696,7 @@ copy *(px) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -5572,6 +5730,7 @@ copy *(px) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -5601,6 +5760,7 @@ copy *(px) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -5634,6 +5794,7 @@ move var@9 2: i32 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -5683,6 +5844,7 @@ move var@9 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -5716,6 +5878,7 @@ move var@9 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -5745,6 +5908,7 @@ move var@9 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -5795,6 +5959,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -5828,6 +5993,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -5857,6 +6023,7 @@ true [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -5906,6 +6073,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -5939,6 +6107,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -5968,6 +6137,7 @@ false [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -6016,6 +6186,7 @@ copy x ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -6049,6 +6220,7 @@ copy x ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -6078,6 +6250,7 @@ copy x [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -6111,6 +6284,7 @@ move var@12 0: i32 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -6156,6 +6330,7 @@ move var@12 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -6189,6 +6364,7 @@ move var@12 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -6218,6 +6394,7 @@ move var@12 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -6264,6 +6441,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -6297,6 +6475,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -6326,6 +6505,7 @@ true [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -6371,6 +6551,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -6404,6 +6585,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -6433,6 +6615,7 @@ false [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -6477,6 +6660,7 @@ copy *(py) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -6510,6 +6694,7 @@ copy *(py) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -6539,6 +6724,7 @@ copy *(py) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -6572,6 +6758,7 @@ move var@15 2: i32 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -6613,6 +6800,7 @@ move var@15 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -6646,6 +6834,7 @@ move var@15 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -6675,6 +6864,7 @@ move var@15 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -6717,6 +6907,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -6750,6 +6941,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -6779,6 +6971,7 @@ true [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -6820,6 +7013,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -6853,6 +7047,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -6882,6 +7077,7 @@ false [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -6922,6 +7118,7 @@ copy y ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -6955,6 +7152,7 @@ copy y ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -6984,6 +7182,7 @@ copy y [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -7017,6 +7216,7 @@ move var@18 2: i32 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -7054,6 +7254,7 @@ move var@18 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -7087,6 +7288,7 @@ move var@18 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -7116,6 +7318,7 @@ move var@18 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -7154,6 +7357,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -7187,6 +7391,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -7216,6 +7421,7 @@ true [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -7253,6 +7459,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -7293,6 +7500,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -7311,6 +7519,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -7334,6 +7543,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -7352,6 +7562,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -7371,6 +7582,7 @@ false - dest: var@2 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -7389,6 +7601,7 @@ move var@3 test1::List::Nil [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -7412,6 +7625,7 @@ move var@1 [[32mDebug[39m] Value to move: test1::List::Nil [[32mDebug[39m] ctx_pop_frame: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -7431,6 +7645,7 @@ test1::List::Nil [[32mDebug[39m] ctx_pop_frame: locals to drop: [1] [[32mDebug[39m] drop_value: place: var@1 [[32mDebug[39m] ctx_pop_frame: after dropping local variables: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -7449,6 +7664,7 @@ test1::List::Nil [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -7481,6 +7697,7 @@ move @return ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -7499,6 +7716,7 @@ move @return ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -7513,6 +7731,7 @@ move @return [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -7539,6 +7758,7 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -7557,6 +7777,7 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -7571,6 +7792,7 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -7595,6 +7817,7 @@ move var@2 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -7613,6 +7836,7 @@ move var@2 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -7632,6 +7856,7 @@ move var@2 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -7650,6 +7875,7 @@ move var@2 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -7669,6 +7895,7 @@ move var@2 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -7699,6 +7926,7 @@ move var@2 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -7722,6 +7950,7 @@ move var@2 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -7746,6 +7975,7 @@ move var@2 - dest: b [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -7767,6 +7997,7 @@ move var@2 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -7795,6 +8026,7 @@ move var@1 [[32mDebug[39m] Value to move: 0: i32 [[32mDebug[39m] ctx_pop_frame: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -7819,6 +8051,7 @@ move var@1 [[32mDebug[39m] ctx_pop_frame: locals to drop: [1] [[32mDebug[39m] drop_value: place: var@1 [[32mDebug[39m] ctx_pop_frame: after dropping local variables: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -7842,6 +8075,7 @@ move var@1 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -7885,6 +8119,7 @@ move @return ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -7908,6 +8143,7 @@ move @return ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -7940,6 +8176,7 @@ move @return ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -7963,6 +8200,7 @@ move @return ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -7987,6 +8225,7 @@ move @return - dest: x [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -8022,6 +8261,7 @@ move var@3 [[32mDebug[39m] Value to move: &mut@0 (@Box(0: i32)) [[32mDebug[39m] ctx_pop_frame: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -8046,6 +8286,7 @@ move var@3 [[32mDebug[39m] ctx_pop_frame: locals to drop: [1] [[32mDebug[39m] drop_value: place: var@1 [[32mDebug[39m] ctx_pop_frame: after dropping local variables: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -8069,6 +8310,7 @@ move var@3 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -8110,6 +8352,7 @@ move @return ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -8133,6 +8376,7 @@ move @return ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -8152,6 +8396,7 @@ move @return [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -8184,6 +8429,7 @@ move @return ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -8207,6 +8453,7 @@ move @return ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -8236,6 +8483,7 @@ move @return ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -8259,6 +8507,7 @@ move @return ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -8283,6 +8532,7 @@ move @return - dest: x [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -8305,6 +8555,7 @@ move var@5 [[32mDebug[39m] Value to move: ⌊shared@2⌋ [[32mDebug[39m] ctx_pop_frame: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -8329,6 +8580,7 @@ move var@5 [[32mDebug[39m] ctx_pop_frame: locals to drop: [1] [[32mDebug[39m] drop_value: place: var@1 [[32mDebug[39m] ctx_pop_frame: after dropping local variables: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -8352,6 +8604,7 @@ move var@5 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -8390,6 +8643,7 @@ move @return ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -8413,6 +8667,7 @@ move @return ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -8432,6 +8687,7 @@ move @return [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -8463,6 +8719,7 @@ copy *(x) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -8486,6 +8743,7 @@ copy *(x) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -8505,6 +8763,7 @@ copy *(x) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -8528,6 +8787,7 @@ move var@8 1: i32 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -8556,6 +8816,7 @@ move var@8 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -8579,6 +8840,7 @@ move var@8 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -8598,6 +8860,7 @@ move var@8 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -8627,6 +8890,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -8650,6 +8914,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -8669,6 +8934,7 @@ true [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -8697,6 +8963,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -8720,6 +8987,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -8744,6 +9012,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -8777,6 +9046,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -8800,6 +9070,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -8819,6 +9090,7 @@ false [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -8852,6 +9124,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -8875,6 +9148,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -8905,6 +9179,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -8928,6 +9203,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -8947,6 +9223,7 @@ false [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -8980,6 +9257,7 @@ copy x ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -9003,6 +9281,7 @@ copy x ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -9022,6 +9301,7 @@ copy x [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -9050,6 +9330,7 @@ move var@4 ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -9079,6 +9360,7 @@ move var@4 ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -9104,6 +9386,7 @@ move var@4 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -9137,6 +9420,7 @@ copy x ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -9161,6 +9445,7 @@ copy x [[32mDebug[39m] ctx_pop_frame: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -9185,6 +9470,7 @@ copy x [[32mDebug[39m] ctx_pop_frame: locals to drop: [1] [[32mDebug[39m] drop_value: place: x [[32mDebug[39m] ctx_pop_frame: after dropping local variables: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -9208,6 +9494,7 @@ copy x [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -9246,6 +9533,7 @@ move var@0 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -9269,6 +9557,7 @@ move var@0 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -9288,6 +9577,7 @@ move var@0 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -9319,6 +9609,7 @@ copy *(px) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -9342,6 +9633,7 @@ copy *(px) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -9361,6 +9653,7 @@ copy *(px) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -9391,6 +9684,7 @@ copy y ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -9414,6 +9708,7 @@ copy y ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -9433,6 +9728,7 @@ copy y [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -9456,6 +9752,7 @@ move var@7 0: i32 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -9485,6 +9782,7 @@ move var@8 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -9508,6 +9806,7 @@ move var@8 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -9527,6 +9826,7 @@ move var@8 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -9555,6 +9855,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -9578,6 +9879,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -9597,6 +9899,7 @@ true [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -9624,6 +9927,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -9659,6 +9963,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -9681,6 +9986,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -9713,6 +10019,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -9735,6 +10042,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -9758,6 +10066,7 @@ false - dest: var@2 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -9780,6 +10089,7 @@ move var@3 test1::List::Nil [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -9807,6 +10117,7 @@ move var@1 [[32mDebug[39m] Value to move: test1::List::Nil [[32mDebug[39m] ctx_pop_frame: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -9830,6 +10141,7 @@ test1::List::Nil [[32mDebug[39m] ctx_pop_frame: locals to drop: [1] [[32mDebug[39m] drop_value: place: var@1 [[32mDebug[39m] ctx_pop_frame: after dropping local variables: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -9852,6 +10164,7 @@ test1::List::Nil [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -9893,6 +10206,7 @@ move @return ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -9915,6 +10229,7 @@ move @return ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -9933,6 +10248,7 @@ move @return [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -9968,6 +10284,7 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -9990,6 +10307,7 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -10008,6 +10326,7 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -10041,6 +10360,7 @@ move var@2 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -10063,6 +10383,7 @@ move var@2 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -10091,6 +10412,7 @@ move var@2 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -10113,6 +10435,7 @@ move var@2 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -10140,6 +10463,7 @@ move var@2 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -10162,6 +10486,7 @@ move var@2 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -10180,6 +10505,7 @@ move var@2 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -10210,6 +10536,7 @@ copy var@7 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -10232,6 +10559,7 @@ copy var@7 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -10250,6 +10578,7 @@ copy var@7 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -10288,6 +10617,7 @@ move var@6 ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -10317,6 +10647,7 @@ move var@6 ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -10357,6 +10688,7 @@ move var@6 ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -10396,6 +10728,7 @@ move var@6 ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -10421,6 +10754,7 @@ move var@6 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -10454,6 +10788,7 @@ move var@2 ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -10479,6 +10814,7 @@ move var@2 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -10510,6 +10846,7 @@ true ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -10534,6 +10871,7 @@ true [[32mDebug[39m] ctx_pop_frame: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -10559,6 +10897,7 @@ true [[32mDebug[39m] drop_value: place: var@2 [[32mDebug[39m] drop_value: place: l [[32mDebug[39m] ctx_pop_frame: after dropping local variables: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -10582,6 +10921,7 @@ true [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -10618,6 +10958,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -10640,6 +10981,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -10658,6 +11000,7 @@ true [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -10686,6 +11029,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -10708,6 +11052,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -10726,6 +11071,7 @@ true [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -10753,6 +11099,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -10775,6 +11122,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -10798,6 +11146,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -10835,6 +11184,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -10860,6 +11210,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -10898,6 +11249,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -10923,6 +11275,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -10949,6 +11302,7 @@ false - dest: var@2 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -10974,6 +11328,7 @@ move var@3 test1::List::Nil [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -11004,6 +11359,7 @@ move var@1 [[32mDebug[39m] Value to move: test1::List::Nil [[32mDebug[39m] ctx_pop_frame: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -11030,6 +11386,7 @@ test1::List::Nil [[32mDebug[39m] ctx_pop_frame: locals to drop: [1] [[32mDebug[39m] drop_value: place: var@1 [[32mDebug[39m] ctx_pop_frame: after dropping local variables: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -11055,6 +11412,7 @@ test1::List::Nil [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -11102,6 +11460,7 @@ move @return ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -11127,6 +11486,7 @@ move @return ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -11148,6 +11508,7 @@ move @return [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -11189,6 +11550,7 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -11214,6 +11576,7 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -11235,6 +11598,7 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -11274,6 +11638,7 @@ move var@2 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -11299,6 +11664,7 @@ move var@2 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -11333,6 +11699,7 @@ move var@2 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -11358,6 +11725,7 @@ move var@2 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -11379,6 +11747,7 @@ move var@2 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -11416,6 +11785,7 @@ test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -11441,6 +11811,7 @@ test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -11462,6 +11833,7 @@ test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -11512,6 +11884,7 @@ test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -11552,6 +11925,7 @@ test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -11588,6 +11962,7 @@ test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -11650,6 +12025,7 @@ false ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -11690,6 +12066,7 @@ false ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -11726,6 +12103,7 @@ false [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -11787,6 +12165,7 @@ false ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -11827,6 +12206,7 @@ false ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -11863,6 +12243,7 @@ false [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -11923,6 +12304,7 @@ true ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -11963,6 +12345,7 @@ true ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -11999,6 +12382,7 @@ true [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -12058,6 +12442,7 @@ true ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -12098,6 +12483,7 @@ true ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -12154,6 +12540,7 @@ true ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -12190,6 +12577,7 @@ true [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -12243,6 +12631,7 @@ move var@2 ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -12283,6 +12672,7 @@ move var@2 ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -12319,6 +12709,7 @@ move var@2 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -12369,6 +12760,7 @@ false ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -12409,6 +12801,7 @@ false ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -12445,6 +12838,7 @@ false [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -12496,6 +12890,7 @@ move (l as test1::List::Cons).0 ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -12536,6 +12931,7 @@ move (l as test1::List::Cons).0 ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -12572,6 +12968,7 @@ move (l as test1::List::Cons).0 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -12620,6 +13017,7 @@ false ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -12660,6 +13058,7 @@ false ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -12696,6 +13095,7 @@ false [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -12745,6 +13145,7 @@ move (l as test1::List::Cons).1 ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -12785,6 +13186,7 @@ move (l as test1::List::Cons).1 ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -12821,6 +13223,7 @@ move (l as test1::List::Cons).1 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -12869,6 +13272,7 @@ move hd ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -12909,6 +13313,7 @@ move hd ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -12945,6 +13350,7 @@ move hd [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -12992,6 +13398,7 @@ test1::List::Nil ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -13032,6 +13439,7 @@ test1::List::Nil ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -13068,6 +13476,7 @@ test1::List::Nil [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -13120,6 +13529,7 @@ ty: (Types.Adt (Types.Tuple, [], ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -13160,6 +13570,7 @@ ty: (Types.Adt (Types.Tuple, [], ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -13196,6 +13607,7 @@ ty: (Types.Adt (Types.Tuple, [], [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -13241,6 +13653,7 @@ test1::List::Nil ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -13281,6 +13694,7 @@ test1::List::Nil ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -13327,6 +13741,7 @@ test1::List::Nil ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -13362,6 +13777,7 @@ test1::List::Nil [[32mDebug[39m] ctx_pop_frame: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -13406,6 +13822,7 @@ test1::List::Nil [[32mDebug[39m] drop_value: place: var@2 [[32mDebug[39m] drop_value: place: l [[32mDebug[39m] ctx_pop_frame: after dropping local variables: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -13440,6 +13857,7 @@ test1::List::Nil [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -13491,6 +13909,7 @@ move var@0 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -13516,6 +13935,7 @@ move var@0 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -13537,6 +13957,7 @@ move var@0 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -13572,6 +13993,7 @@ copy (var@6).0 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -13597,6 +14019,7 @@ copy (var@6).0 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -13618,6 +14041,7 @@ copy (var@6).0 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -13652,6 +14076,7 @@ test1::List::Nil ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -13677,6 +14102,7 @@ test1::List::Nil ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -13698,6 +14124,7 @@ test1::List::Nil [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -13731,6 +14158,7 @@ copy hd ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -13756,6 +14184,7 @@ copy hd ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -13777,6 +14206,7 @@ copy hd [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -13802,6 +14232,7 @@ move var@10 0: i32 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -13832,6 +14263,7 @@ move var@10 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -13857,6 +14289,7 @@ move var@10 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -13878,6 +14311,7 @@ move var@10 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -13909,6 +14343,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -13934,6 +14369,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -13955,6 +14391,7 @@ true [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -13985,6 +14422,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -14010,6 +14448,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -14036,6 +14475,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -14083,6 +14523,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -14116,6 +14557,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -14145,6 +14587,7 @@ false [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -14200,6 +14643,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -14233,6 +14677,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -14262,6 +14707,7 @@ false [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -14316,6 +14762,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -14349,6 +14796,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -14400,6 +14848,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -14433,6 +14882,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -14483,6 +14933,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -14516,6 +14967,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -14565,6 +15017,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -14598,6 +15051,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -14646,6 +15100,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -14679,6 +15134,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -14708,6 +15164,7 @@ false [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -14739,6 +15196,7 @@ true [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -14776,6 +15234,7 @@ move var@4 &mut@1 (0: i32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -14824,6 +15283,7 @@ move var@6 ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -14866,6 +15326,7 @@ move var@6 ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -14904,6 +15365,7 @@ move var@6 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -14956,6 +15418,7 @@ true ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -15003,6 +15466,7 @@ true ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -15041,6 +15505,7 @@ true [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -15087,6 +15552,7 @@ true ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -15129,6 +15595,7 @@ true ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -15166,6 +15633,7 @@ true [[32mDebug[39m] ctx_pop_frame: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -15206,6 +15674,7 @@ true [[32mDebug[39m] drop_value: place: x [[32mDebug[39m] drop_value: place: b [[32mDebug[39m] ctx_pop_frame: after dropping local variables: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -15242,6 +15711,7 @@ true [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -15302,6 +15772,7 @@ move var@0 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -15335,6 +15806,7 @@ move var@0 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -15364,6 +15836,7 @@ move var@0 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -15414,6 +15887,7 @@ copy *(z) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -15447,6 +15921,7 @@ copy *(z) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -15476,6 +15951,7 @@ copy *(z) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -15509,6 +15985,7 @@ copy var@8 0: i32 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -15556,6 +16033,7 @@ copy var@8 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -15589,6 +16067,7 @@ copy var@8 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -15618,6 +16097,7 @@ copy var@8 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -15666,6 +16146,7 @@ copy *(z) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -15699,6 +16180,7 @@ copy *(z) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -15728,6 +16210,7 @@ copy *(z) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -15761,6 +16244,7 @@ move var@12 1: i32 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -15806,6 +16290,7 @@ move var@12 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -15839,6 +16324,7 @@ move var@12 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -15868,6 +16354,7 @@ move var@12 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -15914,6 +16401,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -15947,6 +16435,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -15976,6 +16465,7 @@ true [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -16021,6 +16511,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -16054,6 +16545,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -16083,6 +16575,7 @@ false [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -16127,6 +16620,7 @@ copy x ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -16160,6 +16654,7 @@ copy x ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -16189,6 +16684,7 @@ copy x [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -16222,6 +16718,7 @@ move var@15 1: i32 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -16263,6 +16760,7 @@ move var@15 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -16296,6 +16794,7 @@ move var@15 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -16325,6 +16824,7 @@ move var@15 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -16367,6 +16867,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -16400,6 +16901,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -16429,6 +16931,7 @@ true [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -16470,6 +16973,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -16503,6 +17007,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -16532,6 +17037,7 @@ false [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -16572,6 +17078,7 @@ copy y ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -16605,6 +17112,7 @@ copy y ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -16634,6 +17142,7 @@ copy y [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -16667,6 +17176,7 @@ move var@18 0: i32 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -16704,6 +17214,7 @@ move var@18 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -16737,6 +17248,7 @@ move var@18 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -16766,6 +17278,7 @@ move var@18 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -16804,6 +17317,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -16837,6 +17351,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -16866,6 +17381,7 @@ true [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -16903,6 +17419,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -16950,6 +17467,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -16975,6 +17493,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -16996,6 +17515,7 @@ false [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -17035,6 +17555,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -17060,6 +17581,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -17096,6 +17618,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -17121,6 +17644,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -17142,6 +17666,7 @@ false [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -17181,6 +17706,7 @@ move px ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -17206,6 +17732,7 @@ move px ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -17227,6 +17754,7 @@ move px [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -17271,6 +17799,7 @@ ty: (Types.Adt (Types.Tuple, [], ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -17296,6 +17825,7 @@ ty: (Types.Adt (Types.Tuple, [], ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -17317,6 +17847,7 @@ ty: (Types.Adt (Types.Tuple, [], [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -17352,6 +17883,7 @@ ty: (Types.Adt (Types.Tuple, [], ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -17377,6 +17909,7 @@ ty: (Types.Adt (Types.Tuple, [], ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -17409,6 +17942,7 @@ ty: (Types.Adt (Types.Tuple, [], ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -17434,6 +17968,7 @@ ty: (Types.Adt (Types.Tuple, [], ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -17465,6 +18000,7 @@ ty: (Types.Adt (Types.Tuple, [], ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -17490,6 +18026,7 @@ ty: (Types.Adt (Types.Tuple, [], ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -17511,6 +18048,7 @@ ty: (Types.Adt (Types.Tuple, [], [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -17569,6 +18107,7 @@ move var@7 ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -17601,6 +18140,7 @@ move var@7 ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -17634,6 +18174,7 @@ move var@7 ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -17666,6 +18207,7 @@ move var@7 ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -17698,6 +18240,7 @@ move var@7 ] **Context**: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -17725,6 +18268,7 @@ move var@7 [[32mDebug[39m] ctx_pop_frame: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -17753,6 +18297,7 @@ move var@7 [[32mDebug[39m] drop_value: place: var@2 [[32mDebug[39m] drop_value: place: x [[32mDebug[39m] ctx_pop_frame: after dropping local variables: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -17779,6 +18324,7 @@ move var@7 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 2 frame(s) # Frame 0: @@ -17820,6 +18366,7 @@ move var@0 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -17845,6 +18392,7 @@ move var@0 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -17866,6 +18414,7 @@ move var@0 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -17897,6 +18446,7 @@ move var@0 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -17922,6 +18472,7 @@ move var@0 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -17950,6 +18501,7 @@ move var@0 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -17975,6 +18527,7 @@ move var@0 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -18002,6 +18555,7 @@ move var@0 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -18027,6 +18581,7 @@ move var@0 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -18048,6 +18603,7 @@ move var@0 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -18078,6 +18634,7 @@ move var@9 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -18103,6 +18660,7 @@ move var@9 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -18124,6 +18682,7 @@ move var@9 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -18151,6 +18710,7 @@ move var@9 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -18178,6 +18738,7 @@ move var@9 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -18193,6 +18754,7 @@ move var@9 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -18204,6 +18766,7 @@ move var@9 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -18221,6 +18784,7 @@ a ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -18240,13 +18804,14 @@ a ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; var@3 -> ⊥ : u32 ; var@4 -> ⊥ : u32 ; var@5 -> ⊥ : (u32, bool) ; @@ -18260,13 +18825,14 @@ a ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; var@3 -> ⊥ : u32 ; var@4 -> ⊥ : u32 ; var@5 -> ⊥ : (u32, bool) ; @@ -18276,13 +18842,14 @@ a [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; var@3 -> ⊥ : u32 ; var@4 -> ⊥ : u32 ; var@5 -> ⊥ : (u32, bool) ; @@ -18293,7 +18860,7 @@ a copy x [[32mDebug[39m] Value to copy: -proj_comp {} (s@0 : u32) +s@0 : u32 [[32mDebug[39m] **About to evaluate statement**: [ var@4 := copy y; @@ -18302,14 +18869,15 @@ proj_comp {} (s@0 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - var@3 -> proj_comp {} (s@0 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + var@3 -> s@0 : u32 ; var@4 -> ⊥ : u32 ; var@5 -> ⊥ : (u32, bool) ; } @@ -18322,14 +18890,15 @@ proj_comp {} (s@0 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - var@3 -> proj_comp {} (s@0 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + var@3 -> s@0 : u32 ; var@4 -> ⊥ : u32 ; var@5 -> ⊥ : (u32, bool) ; } @@ -18338,14 +18907,15 @@ proj_comp {} (s@0 : u32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - var@3 -> proj_comp {} (s@0 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + var@3 -> s@0 : u32 ; var@4 -> ⊥ : u32 ; var@5 -> ⊥ : (u32, bool) ; } @@ -18355,7 +18925,7 @@ proj_comp {} (s@0 : u32) copy y [[32mDebug[39m] Value to copy: -proj_comp {} (s@1 : u32) +s@1 : u32 [[32mDebug[39m] **About to evaluate statement**: [ var@0 := copy var@3 + copy var@4; @@ -18363,15 +18933,16 @@ proj_comp {} (s@1 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - var@3 -> proj_comp {} (s@0 : u32) ; - var@4 -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + var@3 -> s@0 : u32 ; + var@4 -> s@1 : u32 ; var@5 -> ⊥ : (u32, bool) ; } @@ -18383,15 +18954,16 @@ proj_comp {} (s@1 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - var@3 -> proj_comp {} (s@0 : u32) ; - var@4 -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + var@3 -> s@0 : u32 ; + var@4 -> s@1 : u32 ; var@5 -> ⊥ : (u32, bool) ; } @@ -18399,15 +18971,16 @@ proj_comp {} (s@1 : u32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - var@3 -> proj_comp {} (s@0 : u32) ; - var@4 -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + var@3 -> s@0 : u32 ; + var@4 -> s@1 : u32 ; var@5 -> ⊥ : (u32, bool) ; } @@ -18416,18 +18989,19 @@ proj_comp {} (s@1 : u32) copy var@3 [[32mDebug[39m] Value to copy: -proj_comp {} (s@0 : u32) +s@0 : u32 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - var@3 -> proj_comp {} (s@0 : u32) ; - var@4 -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + var@3 -> s@0 : u32 ; + var@4 -> s@1 : u32 ; var@5 -> ⊥ : (u32, bool) ; } @@ -18436,22 +19010,23 @@ proj_comp {} (s@0 : u32) copy var@4 [[32mDebug[39m] Value to copy: -proj_comp {} (s@1 : u32) +s@1 : u32 [[32mDebug[39m] **About to evaluate statement**: [ return ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { - var@0 -> proj_comp {} (s@2 : u32) ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - var@3 -> proj_comp {} (s@0 : u32) ; - var@4 -> proj_comp {} (s@1 : u32) ; + var@0 -> s@2 : u32 ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + var@3 -> s@0 : u32 ; + var@4 -> s@1 : u32 ; var@5 -> ⊥ : (u32, bool) ; } @@ -18467,13 +19042,14 @@ proj_comp {} (s@1 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; var@3 -> ⊥ : u32 ; var@4 -> ⊥ : u32 ; var@5 -> ⊥ : (u32, bool) ; @@ -18487,13 +19063,14 @@ proj_comp {} (s@1 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; var@3 -> ⊥ : u32 ; var@4 -> ⊥ : u32 ; var@5 -> ⊥ : (u32, bool) ; @@ -18503,13 +19080,14 @@ proj_comp {} (s@1 : u32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; var@3 -> ⊥ : u32 ; var@4 -> ⊥ : u32 ; var@5 -> ⊥ : (u32, bool) ; @@ -18520,7 +19098,7 @@ proj_comp {} (s@1 : u32) copy x [[32mDebug[39m] Value to copy: -proj_comp {} (s@0 : u32) +s@0 : u32 [[32mDebug[39m] **About to evaluate statement**: [ var@4 := copy y; @@ -18529,14 +19107,15 @@ proj_comp {} (s@0 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - var@3 -> proj_comp {} (s@0 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + var@3 -> s@0 : u32 ; var@4 -> ⊥ : u32 ; var@5 -> ⊥ : (u32, bool) ; } @@ -18549,14 +19128,15 @@ proj_comp {} (s@0 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - var@3 -> proj_comp {} (s@0 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + var@3 -> s@0 : u32 ; var@4 -> ⊥ : u32 ; var@5 -> ⊥ : (u32, bool) ; } @@ -18565,14 +19145,15 @@ proj_comp {} (s@0 : u32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - var@3 -> proj_comp {} (s@0 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + var@3 -> s@0 : u32 ; var@4 -> ⊥ : u32 ; var@5 -> ⊥ : (u32, bool) ; } @@ -18582,7 +19163,7 @@ proj_comp {} (s@0 : u32) copy y [[32mDebug[39m] Value to copy: -proj_comp {} (s@1 : u32) +s@1 : u32 [[32mDebug[39m] **About to evaluate statement**: [ var@0 := copy var@3 - copy var@4; @@ -18590,15 +19171,16 @@ proj_comp {} (s@1 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - var@3 -> proj_comp {} (s@0 : u32) ; - var@4 -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + var@3 -> s@0 : u32 ; + var@4 -> s@1 : u32 ; var@5 -> ⊥ : (u32, bool) ; } @@ -18610,15 +19192,16 @@ proj_comp {} (s@1 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - var@3 -> proj_comp {} (s@0 : u32) ; - var@4 -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + var@3 -> s@0 : u32 ; + var@4 -> s@1 : u32 ; var@5 -> ⊥ : (u32, bool) ; } @@ -18626,15 +19209,16 @@ proj_comp {} (s@1 : u32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - var@3 -> proj_comp {} (s@0 : u32) ; - var@4 -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + var@3 -> s@0 : u32 ; + var@4 -> s@1 : u32 ; var@5 -> ⊥ : (u32, bool) ; } @@ -18643,18 +19227,19 @@ proj_comp {} (s@1 : u32) copy var@3 [[32mDebug[39m] Value to copy: -proj_comp {} (s@0 : u32) +s@0 : u32 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - var@3 -> proj_comp {} (s@0 : u32) ; - var@4 -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + var@3 -> s@0 : u32 ; + var@4 -> s@1 : u32 ; var@5 -> ⊥ : (u32, bool) ; } @@ -18663,22 +19248,23 @@ proj_comp {} (s@0 : u32) copy var@4 [[32mDebug[39m] Value to copy: -proj_comp {} (s@1 : u32) +s@1 : u32 [[32mDebug[39m] **About to evaluate statement**: [ return ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { - var@0 -> proj_comp {} (s@2 : u32) ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - var@3 -> proj_comp {} (s@0 : u32) ; - var@4 -> proj_comp {} (s@1 : u32) ; + var@0 -> s@2 : u32 ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + var@3 -> s@0 : u32 ; + var@4 -> s@1 : u32 ; var@5 -> ⊥ : (u32, bool) ; } @@ -18694,13 +19280,14 @@ proj_comp {} (s@1 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; var@3 -> ⊥ : u32 ; var@4 -> ⊥ : u32 ; var@5 -> ⊥ : bool ; @@ -18714,13 +19301,14 @@ proj_comp {} (s@1 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; var@3 -> ⊥ : u32 ; var@4 -> ⊥ : u32 ; var@5 -> ⊥ : bool ; @@ -18730,13 +19318,14 @@ proj_comp {} (s@1 : u32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; var@3 -> ⊥ : u32 ; var@4 -> ⊥ : u32 ; var@5 -> ⊥ : bool ; @@ -18747,7 +19336,7 @@ proj_comp {} (s@1 : u32) copy x [[32mDebug[39m] Value to copy: -proj_comp {} (s@0 : u32) +s@0 : u32 [[32mDebug[39m] **About to evaluate statement**: [ var@4 := copy y; @@ -18756,14 +19345,15 @@ proj_comp {} (s@0 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - var@3 -> proj_comp {} (s@0 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + var@3 -> s@0 : u32 ; var@4 -> ⊥ : u32 ; var@5 -> ⊥ : bool ; } @@ -18776,14 +19366,15 @@ proj_comp {} (s@0 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - var@3 -> proj_comp {} (s@0 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + var@3 -> s@0 : u32 ; var@4 -> ⊥ : u32 ; var@5 -> ⊥ : bool ; } @@ -18792,14 +19383,15 @@ proj_comp {} (s@0 : u32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - var@3 -> proj_comp {} (s@0 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + var@3 -> s@0 : u32 ; var@4 -> ⊥ : u32 ; var@5 -> ⊥ : bool ; } @@ -18809,7 +19401,7 @@ proj_comp {} (s@0 : u32) copy y [[32mDebug[39m] Value to copy: -proj_comp {} (s@1 : u32) +s@1 : u32 [[32mDebug[39m] **About to evaluate statement**: [ var@0 := move var@3 / move var@4; @@ -18817,15 +19409,16 @@ proj_comp {} (s@1 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - var@3 -> proj_comp {} (s@0 : u32) ; - var@4 -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + var@3 -> s@0 : u32 ; + var@4 -> s@1 : u32 ; var@5 -> ⊥ : bool ; } @@ -18837,15 +19430,16 @@ proj_comp {} (s@1 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - var@3 -> proj_comp {} (s@0 : u32) ; - var@4 -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + var@3 -> s@0 : u32 ; + var@4 -> s@1 : u32 ; var@5 -> ⊥ : bool ; } @@ -18853,15 +19447,16 @@ proj_comp {} (s@1 : u32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - var@3 -> proj_comp {} (s@0 : u32) ; - var@4 -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + var@3 -> s@0 : u32 ; + var@4 -> s@1 : u32 ; var@5 -> ⊥ : bool ; } @@ -18870,18 +19465,19 @@ proj_comp {} (s@1 : u32) move var@3 [[32mDebug[39m] Value to move: -proj_comp {} (s@0 : u32) +s@0 : u32 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; var@3 -> ⊥ : u32 ; - var@4 -> proj_comp {} (s@1 : u32) ; + var@4 -> s@1 : u32 ; var@5 -> ⊥ : bool ; } @@ -18890,20 +19486,21 @@ proj_comp {} (s@0 : u32) move var@4 [[32mDebug[39m] Value to move: -proj_comp {} (s@1 : u32) +s@1 : u32 [[32mDebug[39m] **About to evaluate statement**: [ return ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { - var@0 -> proj_comp {} (s@2 : u32) ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + var@0 -> s@2 : u32 ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; var@3 -> ⊥ : u32 ; var@4 -> ⊥ : u32 ; var@5 -> ⊥ : bool ; @@ -18921,13 +19518,14 @@ proj_comp {} (s@1 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; var@3 -> ⊥ : u32 ; var@4 -> ⊥ : u32 ; var@5 -> ⊥ : bool ; @@ -18941,13 +19539,14 @@ proj_comp {} (s@1 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; var@3 -> ⊥ : u32 ; var@4 -> ⊥ : u32 ; var@5 -> ⊥ : bool ; @@ -18957,13 +19556,14 @@ proj_comp {} (s@1 : u32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; var@3 -> ⊥ : u32 ; var@4 -> ⊥ : u32 ; var@5 -> ⊥ : bool ; @@ -18974,7 +19574,7 @@ proj_comp {} (s@1 : u32) copy x [[32mDebug[39m] Value to copy: -proj_comp {} (s@0 : u32) +s@0 : u32 [[32mDebug[39m] **About to evaluate statement**: [ var@4 := copy y; @@ -18983,14 +19583,15 @@ proj_comp {} (s@0 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - var@3 -> proj_comp {} (s@0 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + var@3 -> s@0 : u32 ; var@4 -> ⊥ : u32 ; var@5 -> ⊥ : bool ; } @@ -19003,14 +19604,15 @@ proj_comp {} (s@0 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - var@3 -> proj_comp {} (s@0 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + var@3 -> s@0 : u32 ; var@4 -> ⊥ : u32 ; var@5 -> ⊥ : bool ; } @@ -19019,14 +19621,15 @@ proj_comp {} (s@0 : u32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - var@3 -> proj_comp {} (s@0 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + var@3 -> s@0 : u32 ; var@4 -> ⊥ : u32 ; var@5 -> ⊥ : bool ; } @@ -19036,7 +19639,7 @@ proj_comp {} (s@0 : u32) copy y [[32mDebug[39m] Value to copy: -proj_comp {} (s@1 : u32) +s@1 : u32 [[32mDebug[39m] **About to evaluate statement**: [ var@0 := move var@3 % move var@4; @@ -19044,15 +19647,16 @@ proj_comp {} (s@1 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - var@3 -> proj_comp {} (s@0 : u32) ; - var@4 -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + var@3 -> s@0 : u32 ; + var@4 -> s@1 : u32 ; var@5 -> ⊥ : bool ; } @@ -19064,15 +19668,16 @@ proj_comp {} (s@1 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - var@3 -> proj_comp {} (s@0 : u32) ; - var@4 -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + var@3 -> s@0 : u32 ; + var@4 -> s@1 : u32 ; var@5 -> ⊥ : bool ; } @@ -19080,15 +19685,16 @@ proj_comp {} (s@1 : u32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - var@3 -> proj_comp {} (s@0 : u32) ; - var@4 -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + var@3 -> s@0 : u32 ; + var@4 -> s@1 : u32 ; var@5 -> ⊥ : bool ; } @@ -19097,18 +19703,19 @@ proj_comp {} (s@1 : u32) move var@3 [[32mDebug[39m] Value to move: -proj_comp {} (s@0 : u32) +s@0 : u32 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; var@3 -> ⊥ : u32 ; - var@4 -> proj_comp {} (s@1 : u32) ; + var@4 -> s@1 : u32 ; var@5 -> ⊥ : bool ; } @@ -19117,20 +19724,21 @@ proj_comp {} (s@0 : u32) move var@4 [[32mDebug[39m] Value to move: -proj_comp {} (s@1 : u32) +s@1 : u32 [[32mDebug[39m] **About to evaluate statement**: [ return ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { - var@0 -> proj_comp {} (s@2 : u32) ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + var@0 -> s@2 : u32 ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; var@3 -> ⊥ : u32 ; var@4 -> ⊥ : u32 ; var@5 -> ⊥ : bool ; @@ -19157,6 +19765,7 @@ proj_comp {} (s@1 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -19182,6 +19791,7 @@ proj_comp {} (s@1 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -19203,6 +19813,7 @@ proj_comp {} (s@1 : u32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -19241,6 +19852,7 @@ proj_comp {} (s@1 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -19266,6 +19878,7 @@ proj_comp {} (s@1 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -19287,6 +19900,7 @@ proj_comp {} (s@1 : u32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -19324,6 +19938,7 @@ proj_comp {} (s@1 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -19349,6 +19964,7 @@ proj_comp {} (s@1 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -19370,6 +19986,7 @@ proj_comp {} (s@1 : u32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -19406,6 +20023,7 @@ proj_comp {} (s@1 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -19431,6 +20049,7 @@ proj_comp {} (s@1 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -19452,6 +20071,7 @@ proj_comp {} (s@1 : u32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -19489,6 +20109,7 @@ copy x ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -19514,6 +20135,7 @@ copy x ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -19535,6 +20157,7 @@ copy x [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -19575,6 +20198,7 @@ ty: (Types.Adt ((Types.AdtId 0), [], ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -19600,6 +20224,7 @@ ty: (Types.Adt ((Types.AdtId 0), [], ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -19621,6 +20246,7 @@ ty: (Types.Adt ((Types.AdtId 0), [], [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -19654,6 +20280,7 @@ ty: (Types.Adt ((Types.AdtId 0), [], ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -19679,6 +20306,7 @@ ty: (Types.Adt ((Types.AdtId 0), [], ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -19700,6 +20328,7 @@ ty: (Types.Adt ((Types.AdtId 0), [], [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -19735,6 +20364,7 @@ ty: (Types.Adt ((Types.AdtId 6), [], [(Types.Integer Types.U32); Types.Bool])) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -19760,6 +20390,7 @@ ty: (Types.Adt ((Types.AdtId 6), [], [(Types.Integer Types.U32); Types.Bool])) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -19789,6 +20420,7 @@ ty: (Types.Adt ((Types.AdtId 6), [], [(Types.Integer Types.U32); Types.Bool])) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -19814,6 +20446,7 @@ ty: (Types.Adt ((Types.AdtId 6), [], [(Types.Integer Types.U32); Types.Bool])) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -19835,6 +20468,7 @@ ty: (Types.Adt ((Types.AdtId 6), [], [(Types.Integer Types.U32); Types.Bool])) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -19868,6 +20502,7 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -19893,6 +20528,7 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -19920,6 +20556,7 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -19945,6 +20582,7 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -19971,6 +20609,7 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -19996,6 +20635,7 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -20021,6 +20661,7 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -20056,13 +20697,14 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; var@3 -> ⊥ : bool ; var@4 -> ⊥ : u32 ; var@5 -> ⊥ : u32 ; @@ -20076,13 +20718,14 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; var@3 -> ⊥ : bool ; var@4 -> ⊥ : u32 ; var@5 -> ⊥ : u32 ; @@ -20092,13 +20735,14 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; var@3 -> ⊥ : bool ; var@4 -> ⊥ : u32 ; var@5 -> ⊥ : u32 ; @@ -20109,7 +20753,7 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) copy x [[32mDebug[39m] Value to copy: -proj_comp {} (s@0 : u32) +s@0 : u32 [[32mDebug[39m] **About to evaluate statement**: [ var@5 := copy y; @@ -20124,15 +20768,16 @@ proj_comp {} (s@0 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; var@3 -> ⊥ : bool ; - var@4 -> proj_comp {} (s@0 : u32) ; + var@4 -> s@0 : u32 ; var@5 -> ⊥ : u32 ; } @@ -20144,15 +20789,16 @@ proj_comp {} (s@0 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; var@3 -> ⊥ : bool ; - var@4 -> proj_comp {} (s@0 : u32) ; + var@4 -> s@0 : u32 ; var@5 -> ⊥ : u32 ; } @@ -20160,15 +20806,16 @@ proj_comp {} (s@0 : u32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; var@3 -> ⊥ : bool ; - var@4 -> proj_comp {} (s@0 : u32) ; + var@4 -> s@0 : u32 ; var@5 -> ⊥ : u32 ; } @@ -20177,7 +20824,7 @@ proj_comp {} (s@0 : u32) copy y [[32mDebug[39m] Value to copy: -proj_comp {} (s@1 : u32) +s@1 : u32 [[32mDebug[39m] **About to evaluate statement**: [ var@3 := move var@4 >= move var@5; @@ -20191,16 +20838,17 @@ proj_comp {} (s@1 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; var@3 -> ⊥ : bool ; - var@4 -> proj_comp {} (s@0 : u32) ; - var@5 -> proj_comp {} (s@1 : u32) ; + var@4 -> s@0 : u32 ; + var@5 -> s@1 : u32 ; } @@ -20211,32 +20859,34 @@ proj_comp {} (s@1 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; var@3 -> ⊥ : bool ; - var@4 -> proj_comp {} (s@0 : u32) ; - var@5 -> proj_comp {} (s@1 : u32) ; + var@4 -> s@0 : u32 ; + var@5 -> s@1 : u32 ; } [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; var@3 -> ⊥ : bool ; - var@4 -> proj_comp {} (s@0 : u32) ; - var@5 -> proj_comp {} (s@1 : u32) ; + var@4 -> s@0 : u32 ; + var@5 -> s@1 : u32 ; } @@ -20244,19 +20894,20 @@ proj_comp {} (s@1 : u32) move var@4 [[32mDebug[39m] Value to move: -proj_comp {} (s@0 : u32) +s@0 : u32 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; var@3 -> ⊥ : bool ; var@4 -> ⊥ : u32 ; - var@5 -> proj_comp {} (s@1 : u32) ; + var@5 -> s@1 : u32 ; } @@ -20264,7 +20915,7 @@ proj_comp {} (s@0 : u32) move var@5 [[32mDebug[39m] Value to move: -proj_comp {} (s@1 : u32) +s@1 : u32 [[32mDebug[39m] **About to evaluate statement**: [ if (move var@3) { @@ -20277,14 +20928,15 @@ proj_comp {} (s@1 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - var@3 -> proj_comp {} (s@2 : bool) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + var@3 -> s@2 : bool ; var@4 -> ⊥ : u32 ; var@5 -> ⊥ : u32 ; } @@ -20302,14 +20954,15 @@ proj_comp {} (s@1 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - var@3 -> proj_comp {} (s@2 : bool) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + var@3 -> s@2 : bool ; var@4 -> ⊥ : u32 ; var@5 -> ⊥ : u32 ; } @@ -20318,13 +20971,14 @@ proj_comp {} (s@1 : u32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; var@3 -> true ; var@4 -> ⊥ : u32 ; var@5 -> ⊥ : u32 ; @@ -20342,13 +20996,14 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; var@3 -> ⊥ : bool ; var@4 -> ⊥ : u32 ; var@5 -> ⊥ : u32 ; @@ -20358,13 +21013,14 @@ true [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; var@3 -> ⊥ : bool ; var@4 -> ⊥ : u32 ; var@5 -> ⊥ : u32 ; @@ -20375,16 +21031,17 @@ true copy x [[32mDebug[39m] Value to copy: -proj_comp {} (s@0 : u32) +s@0 : u32 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; var@3 -> false ; var@4 -> ⊥ : u32 ; var@5 -> ⊥ : u32 ; @@ -20402,13 +21059,14 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; var@3 -> ⊥ : bool ; var@4 -> ⊥ : u32 ; var@5 -> ⊥ : u32 ; @@ -20418,13 +21076,14 @@ false [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : u32 ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; var@3 -> ⊥ : bool ; var@4 -> ⊥ : u32 ; var@5 -> ⊥ : u32 ; @@ -20435,20 +21094,21 @@ false copy y [[32mDebug[39m] Value to copy: -proj_comp {} (s@1 : u32) +s@1 : u32 [[32mDebug[39m] **About to evaluate statement**: [ return ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { - var@0 -> proj_comp {} (s@0 : u32) ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + var@0 -> s@0 : u32 ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; var@3 -> ⊥ : bool ; var@4 -> ⊥ : u32 ; var@5 -> ⊥ : u32 ; @@ -20462,13 +21122,14 @@ proj_comp {} (s@1 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { - var@0 -> proj_comp {} (s@1 : u32) ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + var@0 -> s@1 : u32 ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; var@3 -> ⊥ : bool ; var@4 -> ⊥ : u32 ; var@5 -> ⊥ : u32 ; @@ -20492,6 +21153,7 @@ proj_comp {} (s@1 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -20516,6 +21178,7 @@ proj_comp {} (s@1 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -20536,6 +21199,7 @@ proj_comp {} (s@1 : u32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -20558,6 +21222,7 @@ proj_comp {} (s@1 : u32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -20592,12 +21257,13 @@ proj_comp {} (s@1 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {} (s@0 : u32) ; + x -> s@0 : u32 ; y -> ⊥ : u32 ; z -> ⊥ : u32 ; var@4 -> ⊥ : u32 ; @@ -20616,12 +21282,13 @@ proj_comp {} (s@1 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {} (s@0 : u32) ; + x -> s@0 : u32 ; y -> ⊥ : u32 ; z -> ⊥ : u32 ; var@4 -> ⊥ : u32 ; @@ -20636,12 +21303,13 @@ proj_comp {} (s@1 : u32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {} (s@0 : u32) ; + x -> s@0 : u32 ; y -> ⊥ : u32 ; z -> ⊥ : u32 ; var@4 -> ⊥ : u32 ; @@ -20658,12 +21326,13 @@ proj_comp {} (s@1 : u32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {} (s@0 : u32) ; + x -> s@0 : u32 ; y -> ⊥ : u32 ; z -> ⊥ : u32 ; var@4 -> ⊥ : u32 ; @@ -20691,13 +21360,14 @@ proj_comp {} (s@1 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; z -> ⊥ : u32 ; var@4 -> ⊥ : u32 ; var@5 -> ⊥ : u32 ; @@ -20715,13 +21385,14 @@ proj_comp {} (s@1 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; z -> ⊥ : u32 ; var@4 -> ⊥ : u32 ; var@5 -> ⊥ : u32 ; @@ -20735,13 +21406,14 @@ proj_comp {} (s@1 : u32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; z -> ⊥ : u32 ; var@4 -> ⊥ : u32 ; var@5 -> ⊥ : u32 ; @@ -20756,7 +21428,7 @@ proj_comp {} (s@1 : u32) copy x [[32mDebug[39m] Value to copy: -proj_comp {} (s@0 : u32) +s@0 : u32 [[32mDebug[39m] **About to evaluate statement**: [ var@5 := copy y; @@ -20769,15 +21441,16 @@ proj_comp {} (s@0 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; z -> ⊥ : u32 ; - var@4 -> proj_comp {} (s@0 : u32) ; + var@4 -> s@0 : u32 ; var@5 -> ⊥ : u32 ; var@6 -> ⊥ : (u32, bool) ; var@7 -> ⊥ : bool ; @@ -20793,15 +21466,16 @@ proj_comp {} (s@0 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; z -> ⊥ : u32 ; - var@4 -> proj_comp {} (s@0 : u32) ; + var@4 -> s@0 : u32 ; var@5 -> ⊥ : u32 ; var@6 -> ⊥ : (u32, bool) ; var@7 -> ⊥ : bool ; @@ -20813,15 +21487,16 @@ proj_comp {} (s@0 : u32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; z -> ⊥ : u32 ; - var@4 -> proj_comp {} (s@0 : u32) ; + var@4 -> s@0 : u32 ; var@5 -> ⊥ : u32 ; var@6 -> ⊥ : (u32, bool) ; var@7 -> ⊥ : bool ; @@ -20834,7 +21509,7 @@ proj_comp {} (s@0 : u32) copy y [[32mDebug[39m] Value to copy: -proj_comp {} (s@1 : u32) +s@1 : u32 [[32mDebug[39m] **About to evaluate statement**: [ z := copy var@4 + copy var@5; @@ -20846,16 +21521,17 @@ proj_comp {} (s@1 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; z -> ⊥ : u32 ; - var@4 -> proj_comp {} (s@0 : u32) ; - var@5 -> proj_comp {} (s@1 : u32) ; + var@4 -> s@0 : u32 ; + var@5 -> s@1 : u32 ; var@6 -> ⊥ : (u32, bool) ; var@7 -> ⊥ : bool ; var@8 -> ⊥ : bool ; @@ -20870,16 +21546,17 @@ proj_comp {} (s@1 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; z -> ⊥ : u32 ; - var@4 -> proj_comp {} (s@0 : u32) ; - var@5 -> proj_comp {} (s@1 : u32) ; + var@4 -> s@0 : u32 ; + var@5 -> s@1 : u32 ; var@6 -> ⊥ : (u32, bool) ; var@7 -> ⊥ : bool ; var@8 -> ⊥ : bool ; @@ -20890,16 +21567,17 @@ proj_comp {} (s@1 : u32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; z -> ⊥ : u32 ; - var@4 -> proj_comp {} (s@0 : u32) ; - var@5 -> proj_comp {} (s@1 : u32) ; + var@4 -> s@0 : u32 ; + var@5 -> s@1 : u32 ; var@6 -> ⊥ : (u32, bool) ; var@7 -> ⊥ : bool ; var@8 -> ⊥ : bool ; @@ -20911,19 +21589,20 @@ proj_comp {} (s@1 : u32) copy var@4 [[32mDebug[39m] Value to copy: -proj_comp {} (s@0 : u32) +s@0 : u32 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; z -> ⊥ : u32 ; - var@4 -> proj_comp {} (s@0 : u32) ; - var@5 -> proj_comp {} (s@1 : u32) ; + var@4 -> s@0 : u32 ; + var@5 -> s@1 : u32 ; var@6 -> ⊥ : (u32, bool) ; var@7 -> ⊥ : bool ; var@8 -> ⊥ : bool ; @@ -20935,7 +21614,7 @@ proj_comp {} (s@0 : u32) copy var@5 [[32mDebug[39m] Value to copy: -proj_comp {} (s@1 : u32) +s@1 : u32 [[32mDebug[39m] **About to evaluate statement**: [ var@9 := copy z; @@ -20946,16 +21625,17 @@ proj_comp {} (s@1 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - z -> proj_comp {} (s@2 : u32) ; - var@4 -> proj_comp {} (s@0 : u32) ; - var@5 -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + z -> s@2 : u32 ; + var@4 -> s@0 : u32 ; + var@5 -> s@1 : u32 ; var@6 -> ⊥ : (u32, bool) ; var@7 -> ⊥ : bool ; var@8 -> ⊥ : bool ; @@ -20970,16 +21650,17 @@ proj_comp {} (s@1 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - z -> proj_comp {} (s@2 : u32) ; - var@4 -> proj_comp {} (s@0 : u32) ; - var@5 -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + z -> s@2 : u32 ; + var@4 -> s@0 : u32 ; + var@5 -> s@1 : u32 ; var@6 -> ⊥ : (u32, bool) ; var@7 -> ⊥ : bool ; var@8 -> ⊥ : bool ; @@ -20990,16 +21671,17 @@ proj_comp {} (s@1 : u32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - z -> proj_comp {} (s@2 : u32) ; - var@4 -> proj_comp {} (s@0 : u32) ; - var@5 -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + z -> s@2 : u32 ; + var@4 -> s@0 : u32 ; + var@5 -> s@1 : u32 ; var@6 -> ⊥ : (u32, bool) ; var@7 -> ⊥ : bool ; var@8 -> ⊥ : bool ; @@ -21011,7 +21693,7 @@ proj_comp {} (s@1 : u32) copy z [[32mDebug[39m] Value to copy: -proj_comp {} (s@2 : u32) +s@2 : u32 [[32mDebug[39m] **About to evaluate statement**: [ var@8 := move var@9 == 15: u32; @@ -21021,20 +21703,21 @@ proj_comp {} (s@2 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - z -> proj_comp {} (s@2 : u32) ; - var@4 -> proj_comp {} (s@0 : u32) ; - var@5 -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + z -> s@2 : u32 ; + var@4 -> s@0 : u32 ; + var@5 -> s@1 : u32 ; var@6 -> ⊥ : (u32, bool) ; var@7 -> ⊥ : bool ; var@8 -> ⊥ : bool ; - var@9 -> proj_comp {} (s@2 : u32) ; + var@9 -> s@2 : u32 ; } @@ -21045,40 +21728,42 @@ proj_comp {} (s@2 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - z -> proj_comp {} (s@2 : u32) ; - var@4 -> proj_comp {} (s@0 : u32) ; - var@5 -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + z -> s@2 : u32 ; + var@4 -> s@0 : u32 ; + var@5 -> s@1 : u32 ; var@6 -> ⊥ : (u32, bool) ; var@7 -> ⊥ : bool ; var@8 -> ⊥ : bool ; - var@9 -> proj_comp {} (s@2 : u32) ; + var@9 -> s@2 : u32 ; } [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - z -> proj_comp {} (s@2 : u32) ; - var@4 -> proj_comp {} (s@0 : u32) ; - var@5 -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + z -> s@2 : u32 ; + var@4 -> s@0 : u32 ; + var@5 -> s@1 : u32 ; var@6 -> ⊥ : (u32, bool) ; var@7 -> ⊥ : bool ; var@8 -> ⊥ : bool ; - var@9 -> proj_comp {} (s@2 : u32) ; + var@9 -> s@2 : u32 ; } @@ -21086,19 +21771,20 @@ proj_comp {} (s@2 : u32) move var@9 [[32mDebug[39m] Value to move: -proj_comp {} (s@2 : u32) +s@2 : u32 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - z -> proj_comp {} (s@2 : u32) ; - var@4 -> proj_comp {} (s@0 : u32) ; - var@5 -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + z -> s@2 : u32 ; + var@4 -> s@0 : u32 ; + var@5 -> s@1 : u32 ; var@6 -> ⊥ : (u32, bool) ; var@7 -> ⊥ : bool ; var@8 -> ⊥ : bool ; @@ -21117,19 +21803,20 @@ proj_comp {} (s@2 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - z -> proj_comp {} (s@2 : u32) ; - var@4 -> proj_comp {} (s@0 : u32) ; - var@5 -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + z -> s@2 : u32 ; + var@4 -> s@0 : u32 ; + var@5 -> s@1 : u32 ; var@6 -> ⊥ : (u32, bool) ; var@7 -> ⊥ : bool ; - var@8 -> proj_comp {} (s@3 : bool) ; + var@8 -> s@3 : bool ; var@9 -> ⊥ : u32 ; } @@ -21141,19 +21828,20 @@ proj_comp {} (s@2 : u32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - z -> proj_comp {} (s@2 : u32) ; - var@4 -> proj_comp {} (s@0 : u32) ; - var@5 -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + z -> s@2 : u32 ; + var@4 -> s@0 : u32 ; + var@5 -> s@1 : u32 ; var@6 -> ⊥ : (u32, bool) ; var@7 -> ⊥ : bool ; - var@8 -> proj_comp {} (s@3 : bool) ; + var@8 -> s@3 : bool ; var@9 -> ⊥ : u32 ; } @@ -21161,19 +21849,20 @@ proj_comp {} (s@2 : u32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - z -> proj_comp {} (s@2 : u32) ; - var@4 -> proj_comp {} (s@0 : u32) ; - var@5 -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + z -> s@2 : u32 ; + var@4 -> s@0 : u32 ; + var@5 -> s@1 : u32 ; var@6 -> ⊥ : (u32, bool) ; var@7 -> ⊥ : bool ; - var@8 -> proj_comp {} (s@3 : bool) ; + var@8 -> s@3 : bool ; var@9 -> ⊥ : u32 ; } @@ -21182,7 +21871,7 @@ proj_comp {} (s@2 : u32) move var@8 [[32mDebug[39m] Value to move: -proj_comp {} (s@3 : bool) +s@3 : bool [[32mDebug[39m] **About to evaluate statement**: [ assert(¬move var@7); @@ -21190,18 +21879,19 @@ proj_comp {} (s@3 : bool) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - z -> proj_comp {} (s@2 : u32) ; - var@4 -> proj_comp {} (s@0 : u32) ; - var@5 -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + z -> s@2 : u32 ; + var@4 -> s@0 : u32 ; + var@5 -> s@1 : u32 ; var@6 -> ⊥ : (u32, bool) ; - var@7 -> proj_comp {} (s@4 : bool) ; + var@7 -> s@4 : bool ; var@8 -> ⊥ : bool ; var@9 -> ⊥ : u32 ; } @@ -21214,18 +21904,19 @@ proj_comp {} (s@3 : bool) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - z -> proj_comp {} (s@2 : u32) ; - var@4 -> proj_comp {} (s@0 : u32) ; - var@5 -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + z -> s@2 : u32 ; + var@4 -> s@0 : u32 ; + var@5 -> s@1 : u32 ; var@6 -> ⊥ : (u32, bool) ; - var@7 -> proj_comp {} (s@4 : bool) ; + var@7 -> s@4 : bool ; var@8 -> ⊥ : bool ; var@9 -> ⊥ : u32 ; } @@ -21234,16 +21925,17 @@ proj_comp {} (s@3 : bool) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - z -> proj_comp {} (s@2 : u32) ; - var@4 -> proj_comp {} (s@0 : u32) ; - var@5 -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + z -> s@2 : u32 ; + var@4 -> s@0 : u32 ; + var@5 -> s@1 : u32 ; var@6 -> ⊥ : (u32, bool) ; var@7 -> true ; var@8 -> ⊥ : bool ; @@ -21262,16 +21954,17 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {} (s@0 : u32) ; - y -> proj_comp {} (s@1 : u32) ; - z -> proj_comp {} (s@2 : u32) ; - var@4 -> proj_comp {} (s@0 : u32) ; - var@5 -> proj_comp {} (s@1 : u32) ; + x -> s@0 : u32 ; + y -> s@1 : u32 ; + z -> s@2 : u32 ; + var@4 -> s@0 : u32 ; + var@5 -> s@1 : u32 ; var@6 -> ⊥ : (u32, bool) ; var@7 -> ⊥ : bool ; var@8 -> ⊥ : bool ; @@ -21291,12 +21984,13 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : i32 ; - x -> proj_comp {} (s@0 : i32) ; + x -> s@0 : i32 ; var@2 -> ⊥ : i32 ; var@3 -> ⊥ : bool ; } @@ -21309,12 +22003,13 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : i32 ; - x -> proj_comp {} (s@0 : i32) ; + x -> s@0 : i32 ; var@2 -> ⊥ : i32 ; var@3 -> ⊥ : bool ; } @@ -21323,12 +22018,13 @@ true [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : i32 ; - x -> proj_comp {} (s@0 : i32) ; + x -> s@0 : i32 ; var@2 -> ⊥ : i32 ; var@3 -> ⊥ : bool ; } @@ -21338,7 +22034,7 @@ true copy x [[32mDebug[39m] Value to copy: -proj_comp {} (s@0 : i32) +s@0 : i32 [[32mDebug[39m] **About to evaluate statement**: [ var@3 := copy var@2 == -2147483648: i32; @@ -21348,13 +22044,14 @@ proj_comp {} (s@0 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : i32 ; - x -> proj_comp {} (s@0 : i32) ; - var@2 -> proj_comp {} (s@0 : i32) ; + x -> s@0 : i32 ; + var@2 -> s@0 : i32 ; var@3 -> ⊥ : bool ; } @@ -21366,13 +22063,14 @@ proj_comp {} (s@0 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : i32 ; - x -> proj_comp {} (s@0 : i32) ; - var@2 -> proj_comp {} (s@0 : i32) ; + x -> s@0 : i32 ; + var@2 -> s@0 : i32 ; var@3 -> ⊥ : bool ; } @@ -21380,13 +22078,14 @@ proj_comp {} (s@0 : i32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : i32 ; - x -> proj_comp {} (s@0 : i32) ; - var@2 -> proj_comp {} (s@0 : i32) ; + x -> s@0 : i32 ; + var@2 -> s@0 : i32 ; var@3 -> ⊥ : bool ; } @@ -21395,16 +22094,17 @@ proj_comp {} (s@0 : i32) copy var@2 [[32mDebug[39m] Value to copy: -proj_comp {} (s@0 : i32) +s@0 : i32 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : i32 ; - x -> proj_comp {} (s@0 : i32) ; - var@2 -> proj_comp {} (s@0 : i32) ; + x -> s@0 : i32 ; + var@2 -> s@0 : i32 ; var@3 -> ⊥ : bool ; } @@ -21420,14 +22120,15 @@ proj_comp {} (s@0 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : i32 ; - x -> proj_comp {} (s@0 : i32) ; - var@2 -> proj_comp {} (s@0 : i32) ; - var@3 -> proj_comp {} (s@1 : bool) ; + x -> s@0 : i32 ; + var@2 -> s@0 : i32 ; + var@3 -> s@1 : bool ; } @@ -21438,27 +22139,29 @@ proj_comp {} (s@0 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : i32 ; - x -> proj_comp {} (s@0 : i32) ; - var@2 -> proj_comp {} (s@0 : i32) ; - var@3 -> proj_comp {} (s@1 : bool) ; + x -> s@0 : i32 ; + var@2 -> s@0 : i32 ; + var@3 -> s@1 : bool ; } [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : i32 ; - x -> proj_comp {} (s@0 : i32) ; - var@2 -> proj_comp {} (s@0 : i32) ; + x -> s@0 : i32 ; + var@2 -> s@0 : i32 ; var@3 -> true ; } @@ -21475,13 +22178,14 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : i32 ; - x -> proj_comp {} (s@0 : i32) ; - var@2 -> proj_comp {} (s@0 : i32) ; + x -> s@0 : i32 ; + var@2 -> s@0 : i32 ; var@3 -> ⊥ : bool ; } @@ -21493,13 +22197,14 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : i32 ; - x -> proj_comp {} (s@0 : i32) ; - var@2 -> proj_comp {} (s@0 : i32) ; + x -> s@0 : i32 ; + var@2 -> s@0 : i32 ; var@3 -> ⊥ : bool ; } @@ -21507,13 +22212,14 @@ true [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : i32 ; - x -> proj_comp {} (s@0 : i32) ; - var@2 -> proj_comp {} (s@0 : i32) ; + x -> s@0 : i32 ; + var@2 -> s@0 : i32 ; var@3 -> ⊥ : bool ; } @@ -21522,19 +22228,20 @@ true move var@2 [[32mDebug[39m] Value to move: -proj_comp {} (s@0 : i32) +s@0 : i32 [[32mDebug[39m] **About to evaluate statement**: [ return ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { - var@0 -> proj_comp {} (s@2 : i32) ; - x -> proj_comp {} (s@0 : i32) ; + var@0 -> s@2 : i32 ; + x -> s@0 : i32 ; var@2 -> ⊥ : i32 ; var@3 -> ⊥ : bool ; } @@ -21550,6 +22257,7 @@ proj_comp {} (s@0 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -21567,6 +22275,7 @@ proj_comp {} (s@0 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -21580,6 +22289,7 @@ proj_comp {} (s@0 : i32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -21600,6 +22310,7 @@ proj_comp {} (s@0 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -21617,6 +22328,7 @@ proj_comp {} (s@0 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -21630,6 +22342,7 @@ proj_comp {} (s@0 : i32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -21649,6 +22362,7 @@ proj_comp {} (s@0 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -21675,6 +22389,7 @@ proj_comp {} (s@0 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -21696,6 +22411,7 @@ proj_comp {} (s@0 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -21713,6 +22429,7 @@ proj_comp {} (s@0 : i32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -21743,6 +22460,7 @@ proj_comp {} (s@0 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -21764,6 +22482,7 @@ proj_comp {} (s@0 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -21791,6 +22510,7 @@ proj_comp {} (s@0 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -21812,6 +22532,7 @@ proj_comp {} (s@0 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -21838,6 +22559,7 @@ proj_comp {} (s@0 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -21859,6 +22581,7 @@ proj_comp {} (s@0 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -21876,6 +22599,7 @@ proj_comp {} (s@0 : i32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -21903,6 +22627,7 @@ proj_comp {} (s@0 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -21924,6 +22649,7 @@ proj_comp {} (s@0 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -21941,6 +22667,7 @@ proj_comp {} (s@0 : i32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -21969,6 +22696,7 @@ copy x ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -21990,6 +22718,7 @@ copy x ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -22007,6 +22736,7 @@ copy x [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -22028,6 +22758,7 @@ move var@6 1: i32 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -22053,6 +22784,7 @@ move var@6 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -22062,7 +22794,7 @@ move var@6 px -> ⊥ : &'_ mut (i32) ; ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; var@4 -> ⊥ : bool ; - var@5 -> proj_comp {} (s@0 : bool) ; + var@5 -> s@0 : bool ; var@6 -> ⊥ : i32 ; } @@ -22074,6 +22806,7 @@ move var@6 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -22083,7 +22816,7 @@ move var@6 px -> ⊥ : &'_ mut (i32) ; ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; var@4 -> ⊥ : bool ; - var@5 -> proj_comp {} (s@0 : bool) ; + var@5 -> s@0 : bool ; var@6 -> ⊥ : i32 ; } @@ -22091,6 +22824,7 @@ move var@6 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -22100,7 +22834,7 @@ move var@6 px -> ⊥ : &'_ mut (i32) ; ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; var@4 -> ⊥ : bool ; - var@5 -> proj_comp {} (s@0 : bool) ; + var@5 -> s@0 : bool ; var@6 -> ⊥ : i32 ; } @@ -22109,7 +22843,7 @@ move var@6 move var@5 [[32mDebug[39m] Value to move: -proj_comp {} (s@0 : bool) +s@0 : bool [[32mDebug[39m] **About to evaluate statement**: [ assert(¬move var@4); @@ -22117,6 +22851,7 @@ proj_comp {} (s@0 : bool) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -22125,7 +22860,7 @@ proj_comp {} (s@0 : bool) x -> 1: i32 ; px -> ⊥ : &'_ mut (i32) ; ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@4 -> proj_comp {} (s@1 : bool) ; + var@4 -> s@1 : bool ; var@5 -> ⊥ : bool ; var@6 -> ⊥ : i32 ; } @@ -22138,6 +22873,7 @@ proj_comp {} (s@0 : bool) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -22146,7 +22882,7 @@ proj_comp {} (s@0 : bool) x -> 1: i32 ; px -> ⊥ : &'_ mut (i32) ; ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@4 -> proj_comp {} (s@1 : bool) ; + var@4 -> s@1 : bool ; var@5 -> ⊥ : bool ; var@6 -> ⊥ : i32 ; } @@ -22155,6 +22891,7 @@ proj_comp {} (s@0 : bool) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -22180,6 +22917,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -22226,6 +22964,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -22259,6 +22998,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -22288,6 +23028,7 @@ true [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -22346,6 +23087,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -22379,6 +23121,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -22408,6 +23151,7 @@ true [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -22465,6 +23209,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -22498,6 +23243,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -22552,6 +23298,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -22585,6 +23332,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -22638,6 +23386,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -22671,6 +23420,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -22723,6 +23473,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -22756,6 +23507,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -22807,6 +23559,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -22840,6 +23593,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -22869,6 +23623,7 @@ true [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -22923,6 +23678,7 @@ move var@6 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -22956,6 +23712,7 @@ move var@6 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -22985,6 +23742,7 @@ move var@6 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -23036,6 +23794,7 @@ move var@6 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -23069,6 +23828,7 @@ move var@6 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -23098,6 +23858,7 @@ move var@6 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -23150,6 +23911,7 @@ copy *(px) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -23183,6 +23945,7 @@ copy *(px) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -23212,6 +23975,7 @@ copy *(px) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -23245,6 +24009,7 @@ move var@9 2: i32 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -23294,6 +24059,7 @@ move var@9 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -23306,7 +24072,7 @@ move var@9 ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; var@6 -> ⊥ : &'_ mut (i32) ; var@7 -> ⊥ : bool ; - var@8 -> proj_comp {} (s@0 : bool) ; + var@8 -> s@0 : bool ; var@9 -> ⊥ : i32 ; var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; @@ -23327,6 +24093,7 @@ move var@9 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -23339,7 +24106,7 @@ move var@9 ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; var@6 -> ⊥ : &'_ mut (i32) ; var@7 -> ⊥ : bool ; - var@8 -> proj_comp {} (s@0 : bool) ; + var@8 -> s@0 : bool ; var@9 -> ⊥ : i32 ; var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; @@ -23356,6 +24123,7 @@ move var@9 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -23368,7 +24136,7 @@ move var@9 ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; var@6 -> ⊥ : &'_ mut (i32) ; var@7 -> ⊥ : bool ; - var@8 -> proj_comp {} (s@0 : bool) ; + var@8 -> s@0 : bool ; var@9 -> ⊥ : i32 ; var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; @@ -23386,7 +24154,7 @@ move var@9 move var@8 [[32mDebug[39m] Value to move: -proj_comp {} (s@0 : bool) +s@0 : bool [[32mDebug[39m] **About to evaluate statement**: [ assert(¬move var@7); @@ -23406,6 +24174,7 @@ proj_comp {} (s@0 : bool) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -23417,7 +24186,7 @@ proj_comp {} (s@0 : bool) py -> &mut@1 (⌊mut@3⌋) ; ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> proj_comp {} (s@1 : bool) ; + var@7 -> s@1 : bool ; var@8 -> ⊥ : bool ; var@9 -> ⊥ : i32 ; var@10 -> ⊥ : bool ; @@ -23439,6 +24208,7 @@ proj_comp {} (s@0 : bool) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -23450,7 +24220,7 @@ proj_comp {} (s@0 : bool) py -> &mut@1 (⌊mut@3⌋) ; ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> proj_comp {} (s@1 : bool) ; + var@7 -> s@1 : bool ; var@8 -> ⊥ : bool ; var@9 -> ⊥ : i32 ; var@10 -> ⊥ : bool ; @@ -23468,6 +24238,7 @@ proj_comp {} (s@0 : bool) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -23517,6 +24288,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -23550,6 +24322,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -23579,6 +24352,7 @@ true [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -23627,6 +24401,7 @@ copy x ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -23660,6 +24435,7 @@ copy x ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -23689,6 +24465,7 @@ copy x [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -23722,6 +24499,7 @@ move var@12 0: i32 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -23767,6 +24545,7 @@ move var@12 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -23782,7 +24561,7 @@ move var@12 var@8 -> ⊥ : bool ; var@9 -> ⊥ : i32 ; var@10 -> ⊥ : bool ; - var@11 -> proj_comp {} (s@2 : bool) ; + var@11 -> s@2 : bool ; var@12 -> ⊥ : i32 ; var@13 -> ⊥ : bool ; var@14 -> ⊥ : bool ; @@ -23800,6 +24579,7 @@ move var@12 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -23815,7 +24595,7 @@ move var@12 var@8 -> ⊥ : bool ; var@9 -> ⊥ : i32 ; var@10 -> ⊥ : bool ; - var@11 -> proj_comp {} (s@2 : bool) ; + var@11 -> s@2 : bool ; var@12 -> ⊥ : i32 ; var@13 -> ⊥ : bool ; var@14 -> ⊥ : bool ; @@ -23829,6 +24609,7 @@ move var@12 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -23844,7 +24625,7 @@ move var@12 var@8 -> ⊥ : bool ; var@9 -> ⊥ : i32 ; var@10 -> ⊥ : bool ; - var@11 -> proj_comp {} (s@2 : bool) ; + var@11 -> s@2 : bool ; var@12 -> ⊥ : i32 ; var@13 -> ⊥ : bool ; var@14 -> ⊥ : bool ; @@ -23859,7 +24640,7 @@ move var@12 move var@11 [[32mDebug[39m] Value to move: -proj_comp {} (s@2 : bool) +s@2 : bool [[32mDebug[39m] **About to evaluate statement**: [ assert(¬move var@10); @@ -23875,6 +24656,7 @@ proj_comp {} (s@2 : bool) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -23889,7 +24671,7 @@ proj_comp {} (s@2 : bool) var@7 -> ⊥ : bool ; var@8 -> ⊥ : bool ; var@9 -> ⊥ : i32 ; - var@10 -> proj_comp {} (s@3 : bool) ; + var@10 -> s@3 : bool ; var@11 -> ⊥ : bool ; var@12 -> ⊥ : i32 ; var@13 -> ⊥ : bool ; @@ -23908,6 +24690,7 @@ proj_comp {} (s@2 : bool) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -23922,7 +24705,7 @@ proj_comp {} (s@2 : bool) var@7 -> ⊥ : bool ; var@8 -> ⊥ : bool ; var@9 -> ⊥ : i32 ; - var@10 -> proj_comp {} (s@3 : bool) ; + var@10 -> s@3 : bool ; var@11 -> ⊥ : bool ; var@12 -> ⊥ : i32 ; var@13 -> ⊥ : bool ; @@ -23937,6 +24720,7 @@ proj_comp {} (s@2 : bool) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -23982,6 +24766,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -24015,6 +24800,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -24044,6 +24830,7 @@ true [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -24088,6 +24875,7 @@ copy *(py) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -24121,6 +24909,7 @@ copy *(py) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -24150,6 +24939,7 @@ copy *(py) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -24183,6 +24973,7 @@ move var@15 2: i32 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -24224,6 +25015,7 @@ move var@15 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -24242,7 +25034,7 @@ move var@15 var@11 -> ⊥ : bool ; var@12 -> ⊥ : i32 ; var@13 -> ⊥ : bool ; - var@14 -> proj_comp {} (s@4 : bool) ; + var@14 -> s@4 : bool ; var@15 -> ⊥ : i32 ; var@16 -> ⊥ : bool ; var@17 -> ⊥ : bool ; @@ -24257,6 +25049,7 @@ move var@15 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -24275,7 +25068,7 @@ move var@15 var@11 -> ⊥ : bool ; var@12 -> ⊥ : i32 ; var@13 -> ⊥ : bool ; - var@14 -> proj_comp {} (s@4 : bool) ; + var@14 -> s@4 : bool ; var@15 -> ⊥ : i32 ; var@16 -> ⊥ : bool ; var@17 -> ⊥ : bool ; @@ -24286,6 +25079,7 @@ move var@15 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -24304,7 +25098,7 @@ move var@15 var@11 -> ⊥ : bool ; var@12 -> ⊥ : i32 ; var@13 -> ⊥ : bool ; - var@14 -> proj_comp {} (s@4 : bool) ; + var@14 -> s@4 : bool ; var@15 -> ⊥ : i32 ; var@16 -> ⊥ : bool ; var@17 -> ⊥ : bool ; @@ -24316,7 +25110,7 @@ move var@15 move var@14 [[32mDebug[39m] Value to move: -proj_comp {} (s@4 : bool) +s@4 : bool [[32mDebug[39m] **About to evaluate statement**: [ assert(¬move var@13); @@ -24328,6 +25122,7 @@ proj_comp {} (s@4 : bool) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -24345,7 +25140,7 @@ proj_comp {} (s@4 : bool) var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; var@12 -> ⊥ : i32 ; - var@13 -> proj_comp {} (s@5 : bool) ; + var@13 -> s@5 : bool ; var@14 -> ⊥ : bool ; var@15 -> ⊥ : i32 ; var@16 -> ⊥ : bool ; @@ -24361,6 +25156,7 @@ proj_comp {} (s@4 : bool) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -24378,7 +25174,7 @@ proj_comp {} (s@4 : bool) var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; var@12 -> ⊥ : i32 ; - var@13 -> proj_comp {} (s@5 : bool) ; + var@13 -> s@5 : bool ; var@14 -> ⊥ : bool ; var@15 -> ⊥ : i32 ; var@16 -> ⊥ : bool ; @@ -24390,6 +25186,7 @@ proj_comp {} (s@4 : bool) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -24431,6 +25228,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -24464,6 +25262,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -24493,6 +25292,7 @@ true [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -24533,6 +25333,7 @@ copy y ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -24566,6 +25367,7 @@ copy y ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -24595,6 +25397,7 @@ copy y [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -24628,6 +25431,7 @@ move var@18 2: i32 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -24665,6 +25469,7 @@ move var@18 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -24686,7 +25491,7 @@ move var@18 var@14 -> ⊥ : bool ; var@15 -> ⊥ : i32 ; var@16 -> ⊥ : bool ; - var@17 -> proj_comp {} (s@6 : bool) ; + var@17 -> s@6 : bool ; var@18 -> ⊥ : i32 ; } @@ -24698,6 +25503,7 @@ move var@18 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -24719,7 +25525,7 @@ move var@18 var@14 -> ⊥ : bool ; var@15 -> ⊥ : i32 ; var@16 -> ⊥ : bool ; - var@17 -> proj_comp {} (s@6 : bool) ; + var@17 -> s@6 : bool ; var@18 -> ⊥ : i32 ; } @@ -24727,6 +25533,7 @@ move var@18 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -24748,7 +25555,7 @@ move var@18 var@14 -> ⊥ : bool ; var@15 -> ⊥ : i32 ; var@16 -> ⊥ : bool ; - var@17 -> proj_comp {} (s@6 : bool) ; + var@17 -> s@6 : bool ; var@18 -> ⊥ : i32 ; } @@ -24757,7 +25564,7 @@ move var@18 move var@17 [[32mDebug[39m] Value to move: -proj_comp {} (s@6 : bool) +s@6 : bool [[32mDebug[39m] **About to evaluate statement**: [ assert(¬move var@16); @@ -24765,6 +25572,7 @@ proj_comp {} (s@6 : bool) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -24785,7 +25593,7 @@ proj_comp {} (s@6 : bool) var@13 -> ⊥ : bool ; var@14 -> ⊥ : bool ; var@15 -> ⊥ : i32 ; - var@16 -> proj_comp {} (s@7 : bool) ; + var@16 -> s@7 : bool ; var@17 -> ⊥ : bool ; var@18 -> ⊥ : i32 ; } @@ -24798,6 +25606,7 @@ proj_comp {} (s@6 : bool) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -24818,7 +25627,7 @@ proj_comp {} (s@6 : bool) var@13 -> ⊥ : bool ; var@14 -> ⊥ : bool ; var@15 -> ⊥ : i32 ; - var@16 -> proj_comp {} (s@7 : bool) ; + var@16 -> s@7 : bool ; var@17 -> ⊥ : bool ; var@18 -> ⊥ : i32 ; } @@ -24827,6 +25636,7 @@ proj_comp {} (s@6 : bool) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -24864,6 +25674,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -24904,6 +25715,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -24922,6 +25734,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -24945,6 +25758,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -24963,6 +25777,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -24982,6 +25797,7 @@ true - dest: var@2 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -25008,13 +25824,14 @@ test1::List::Nil ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; l -> ⊥ : test1::List<i32> ; - var@2 -> proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) ; + var@2 -> s@0 : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; } @@ -25026,13 +25843,14 @@ test1::List::Nil ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; l -> ⊥ : test1::List<i32> ; - var@2 -> proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) ; + var@2 -> s@0 : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; } @@ -25040,13 +25858,14 @@ test1::List::Nil [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; l -> ⊥ : test1::List<i32> ; - var@2 -> proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) ; + var@2 -> s@0 : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; } @@ -25066,13 +25885,14 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; l -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; - var@2 -> proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) ; + var@2 -> s@0 : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; } @@ -25084,13 +25904,14 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; l -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; - var@2 -> proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) ; + var@2 -> s@0 : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; } @@ -25098,13 +25919,14 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; l -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; - var@2 -> proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) ; + var@2 -> s@0 : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; } @@ -25113,7 +25935,7 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) move var@2 [[32mDebug[39m] Value to move: -proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) +s@0 : std::boxed::Box<test1::List<i32>> [[32mDebug[39m] **About to evaluate statement**: [ set_discriminant(l, 0); @@ -25122,12 +25944,13 @@ proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - l -> test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>); } ; + l -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; } ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; } @@ -25140,12 +25963,13 @@ proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - l -> test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>); } ; + l -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; } ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; } @@ -25159,12 +25983,13 @@ proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - l -> test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>); } ; + l -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; } ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; } @@ -25177,12 +26002,13 @@ proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - l -> test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>); } ; + l -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; } ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; } @@ -25196,6 +26022,7 @@ proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -25226,6 +26053,7 @@ proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -25249,6 +26077,7 @@ proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -25273,6 +26102,7 @@ proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) - dest: b [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -25308,12 +26138,13 @@ proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - b -> proj_comp {} (s@0 : std::boxed::Box<i32>) ; + b -> s@0 : std::boxed::Box<i32> ; x -> ⊥ : &'_ mut (i32) ; var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; x -> ⊥ : &'_ (i32) ; @@ -25331,12 +26162,13 @@ proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - b -> proj_comp {} (s@0 : std::boxed::Box<i32>) ; + b -> s@0 : std::boxed::Box<i32> ; x -> ⊥ : &'_ mut (i32) ; var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; x -> ⊥ : &'_ (i32) ; @@ -25363,12 +26195,13 @@ proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - b -> @shared_loan({0}, proj_comp {} (s@0 : std::boxed::Box<i32>)) ; + b -> @shared_loan({0}, s@0 : std::boxed::Box<i32>) ; x -> ⊥ : &'_ mut (i32) ; var@3 -> ⌊inactivated_mut@0⌋ ; x -> ⊥ : &'_ (i32) ; @@ -25386,12 +26219,13 @@ proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - b -> @shared_loan({0}, proj_comp {} (s@0 : std::boxed::Box<i32>)) ; + b -> @shared_loan({0}, s@0 : std::boxed::Box<i32>) ; x -> ⊥ : &'_ mut (i32) ; var@3 -> ⌊inactivated_mut@0⌋ ; x -> ⊥ : &'_ (i32) ; @@ -25410,12 +26244,13 @@ proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) - dest: x [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - b -> @shared_loan({0}, proj_comp {} (s@0 : std::boxed::Box<i32>)) ; + b -> @shared_loan({0}, s@0 : std::boxed::Box<i32>) ; x -> ⊥ : &'_ mut (i32) ; var@3 -> ⌊inactivated_mut@0⌋ ; x -> ⊥ : &'_ (i32) ; @@ -25432,17 +26267,15 @@ move var@3 [[32mDebug[39m] activate_inactivated_mut_borrow: resulting value: { Values.value = (Values.Symbolic - { Values.svalue = - { Values.sv_id = 0; - sv_ty = - (Types.Adt ((Types.Assumed Types.Box), [], - [(Types.Integer Types.I32)])) - }; - rset_ended = {} }); + { Values.sv_id = 0; + sv_ty = + (Types.Adt ((Types.Assumed Types.Box), [], [(Types.Integer Types.I32)] + )) + }); ty = (Types.Adt ((Types.Assumed Types.Box), [], [(Types.Integer Types.I32)])) } [[32mDebug[39m] Value to move: -&mut@0 (proj_comp {} (s@0 : std::boxed::Box<i32>)) +&mut@0 (s@0 : std::boxed::Box<i32>) [[32mDebug[39m] **About to evaluate statement**: [ *(x) := 1: i32; @@ -25457,13 +26290,14 @@ move var@3 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; b -> ⌊mut@0⌋ ; - x -> proj_comp {} (s@1 : &r@0 mut (i32)) ; + x -> s@1 : &r@0 mut (i32) ; var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; x -> ⊥ : &'_ (i32) ; var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; @@ -25484,13 +26318,14 @@ move var@3 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; b -> ⌊mut@0⌋ ; - x -> proj_comp {} (s@1 : &r@0 mut (i32)) ; + x -> s@1 : &r@0 mut (i32) ; var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; x -> ⊥ : &'_ (i32) ; var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; @@ -25507,13 +26342,14 @@ move var@3 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; b -> ⌊mut@0⌋ ; - x -> proj_comp {} (s@1 : &r@0 mut (i32)) ; + x -> s@1 : &r@0 mut (i32) ; var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; x -> ⊥ : &'_ (i32) ; var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; @@ -25543,6 +26379,7 @@ move var@3 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -25570,6 +26407,7 @@ move var@3 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -25603,12 +26441,13 @@ move var@3 ] **Context**: +# Ended regions: {0} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - b -> @shared_loan({2}, proj_comp {0} (s@3 : std::boxed::Box<i32>)) ; + b -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; x -> ⊥ : &'_ mut (i32) ; var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; x -> ⊥ : &'_ (i32) ; @@ -25626,12 +26465,13 @@ move var@3 ] **Context**: +# Ended regions: {0} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - b -> @shared_loan({2}, proj_comp {0} (s@3 : std::boxed::Box<i32>)) ; + b -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; x -> ⊥ : &'_ mut (i32) ; var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; x -> ⊥ : &'_ (i32) ; @@ -25650,12 +26490,13 @@ move var@3 - dest: x [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {0} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - b -> @shared_loan({2}, proj_comp {0} (s@3 : std::boxed::Box<i32>)) ; + b -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; x -> ⊥ : &'_ mut (i32) ; var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; x -> ⊥ : &'_ (i32) ; @@ -25682,15 +26523,16 @@ move var@5 ] **Context**: +# Ended regions: {0} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - b -> @shared_loan({2}, proj_comp {0} (s@3 : std::boxed::Box<i32>)) ; + b -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; x -> ⊥ : &'_ mut (i32) ; var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> proj_comp {} (s@4 : &r@1 (i32)) ; + x -> s@4 : &r@1 (i32) ; var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; var@6 -> ⊥ : bool ; var@7 -> ⊥ : bool ; @@ -25709,15 +26551,16 @@ move var@5 ] **Context**: +# Ended regions: {0} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - b -> @shared_loan({2}, proj_comp {0} (s@3 : std::boxed::Box<i32>)) ; + b -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; x -> ⊥ : &'_ mut (i32) ; var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> proj_comp {} (s@4 : &r@1 (i32)) ; + x -> s@4 : &r@1 (i32) ; var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; var@6 -> ⊥ : bool ; var@7 -> ⊥ : bool ; @@ -25732,15 +26575,16 @@ move var@5 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {0} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - b -> @shared_loan({2}, proj_comp {0} (s@3 : std::boxed::Box<i32>)) ; + b -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; x -> ⊥ : &'_ mut (i32) ; var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> proj_comp {} (s@4 : &r@1 (i32)) ; + x -> s@4 : &r@1 (i32) ; var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; var@6 -> ⊥ : bool ; var@7 -> ⊥ : bool ; @@ -25756,7 +26600,7 @@ move var@5 copy *(x) [[32mDebug[39m] Value to copy: -proj_comp {} (s@5 : i32) +s@5 : i32 [[32mDebug[39m] **About to evaluate statement**: [ var@7 := move var@8 == 1: i32; @@ -25767,22 +26611,23 @@ proj_comp {} (s@5 : i32) ] **Context**: +# Ended regions: {0} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - b -> @shared_loan({2}, proj_comp {0} (s@3 : std::boxed::Box<i32>)) ; + b -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; x -> ⊥ : &'_ mut (i32) ; var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; x -> ⌊shared@3⌋ ; var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; var@6 -> ⊥ : bool ; var@7 -> ⊥ : bool ; - var@8 -> proj_comp {} (s@5 : i32) ; + var@8 -> s@5 : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, - @shared_loan({3}, proj_comp {} (s@5 : i32), proj_loans (s@5 : i32)) + @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) } } @@ -25794,22 +26639,23 @@ proj_comp {} (s@5 : i32) ] **Context**: +# Ended regions: {0} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - b -> @shared_loan({2}, proj_comp {0} (s@3 : std::boxed::Box<i32>)) ; + b -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; x -> ⊥ : &'_ mut (i32) ; var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; x -> ⌊shared@3⌋ ; var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; var@6 -> ⊥ : bool ; var@7 -> ⊥ : bool ; - var@8 -> proj_comp {} (s@5 : i32) ; + var@8 -> s@5 : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, - @shared_loan({3}, proj_comp {} (s@5 : i32), proj_loans (s@5 : i32)) + @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) } } @@ -25817,22 +26663,23 @@ proj_comp {} (s@5 : i32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {0} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - b -> @shared_loan({2}, proj_comp {0} (s@3 : std::boxed::Box<i32>)) ; + b -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; x -> ⊥ : &'_ mut (i32) ; var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; x -> ⌊shared@3⌋ ; var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; var@6 -> ⊥ : bool ; var@7 -> ⊥ : bool ; - var@8 -> proj_comp {} (s@5 : i32) ; + var@8 -> s@5 : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, - @shared_loan({3}, proj_comp {} (s@5 : i32), proj_loans (s@5 : i32)) + @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) } } @@ -25841,15 +26688,16 @@ proj_comp {} (s@5 : i32) move var@8 [[32mDebug[39m] Value to move: -proj_comp {} (s@5 : i32) +s@5 : i32 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {0} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - b -> @shared_loan({2}, proj_comp {0} (s@3 : std::boxed::Box<i32>)) ; + b -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; x -> ⊥ : &'_ mut (i32) ; var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; x -> ⌊shared@3⌋ ; @@ -25859,7 +26707,7 @@ proj_comp {} (s@5 : i32) var@8 -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, - @shared_loan({3}, proj_comp {} (s@5 : i32), proj_loans (s@5 : i32)) + @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) } } @@ -25876,22 +26724,23 @@ proj_comp {} (s@5 : i32) ] **Context**: +# Ended regions: {0} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - b -> @shared_loan({2}, proj_comp {0} (s@3 : std::boxed::Box<i32>)) ; + b -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; x -> ⊥ : &'_ mut (i32) ; var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; x -> ⌊shared@3⌋ ; var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; var@6 -> ⊥ : bool ; - var@7 -> proj_comp {} (s@6 : bool) ; + var@7 -> s@6 : bool ; var@8 -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, - @shared_loan({3}, proj_comp {} (s@5 : i32), proj_loans (s@5 : i32)) + @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) } } @@ -25903,22 +26752,23 @@ proj_comp {} (s@5 : i32) ] **Context**: +# Ended regions: {0} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - b -> @shared_loan({2}, proj_comp {0} (s@3 : std::boxed::Box<i32>)) ; + b -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; x -> ⊥ : &'_ mut (i32) ; var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; x -> ⌊shared@3⌋ ; var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; var@6 -> ⊥ : bool ; - var@7 -> proj_comp {} (s@6 : bool) ; + var@7 -> s@6 : bool ; var@8 -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, - @shared_loan({3}, proj_comp {} (s@5 : i32), proj_loans (s@5 : i32)) + @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) } } @@ -25926,22 +26776,23 @@ proj_comp {} (s@5 : i32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {0} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - b -> @shared_loan({2}, proj_comp {0} (s@3 : std::boxed::Box<i32>)) ; + b -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; x -> ⊥ : &'_ mut (i32) ; var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; x -> ⌊shared@3⌋ ; var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; var@6 -> ⊥ : bool ; - var@7 -> proj_comp {} (s@6 : bool) ; + var@7 -> s@6 : bool ; var@8 -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, - @shared_loan({3}, proj_comp {} (s@5 : i32), proj_loans (s@5 : i32)) + @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) } } @@ -25950,7 +26801,7 @@ proj_comp {} (s@5 : i32) move var@7 [[32mDebug[39m] Value to move: -proj_comp {} (s@6 : bool) +s@6 : bool [[32mDebug[39m] **About to evaluate statement**: [ assert(¬move var@6); @@ -25959,22 +26810,23 @@ proj_comp {} (s@6 : bool) ] **Context**: +# Ended regions: {0} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - b -> @shared_loan({2}, proj_comp {0} (s@3 : std::boxed::Box<i32>)) ; + b -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; x -> ⊥ : &'_ mut (i32) ; var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; x -> ⌊shared@3⌋ ; var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> proj_comp {} (s@7 : bool) ; + var@6 -> s@7 : bool ; var@7 -> ⊥ : bool ; var@8 -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, - @shared_loan({3}, proj_comp {} (s@5 : i32), proj_loans (s@5 : i32)) + @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) } } @@ -25986,22 +26838,23 @@ proj_comp {} (s@6 : bool) ] **Context**: +# Ended regions: {0} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - b -> @shared_loan({2}, proj_comp {0} (s@3 : std::boxed::Box<i32>)) ; + b -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; x -> ⊥ : &'_ mut (i32) ; var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; x -> ⌊shared@3⌋ ; var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> proj_comp {} (s@7 : bool) ; + var@6 -> s@7 : bool ; var@7 -> ⊥ : bool ; var@8 -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, - @shared_loan({3}, proj_comp {} (s@5 : i32), proj_loans (s@5 : i32)) + @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) } } @@ -26009,12 +26862,13 @@ proj_comp {} (s@6 : bool) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {0} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - b -> @shared_loan({2}, proj_comp {0} (s@3 : std::boxed::Box<i32>)) ; + b -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; x -> ⊥ : &'_ mut (i32) ; var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; x -> ⌊shared@3⌋ ; @@ -26024,7 +26878,7 @@ proj_comp {} (s@6 : bool) var@8 -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, - @shared_loan({3}, proj_comp {} (s@5 : i32), proj_loans (s@5 : i32)) + @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) } } @@ -26041,12 +26895,13 @@ true ] **Context**: +# Ended regions: {0} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - b -> @shared_loan({2}, proj_comp {0} (s@3 : std::boxed::Box<i32>)) ; + b -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; x -> ⊥ : &'_ mut (i32) ; var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; x -> ⌊shared@3⌋ ; @@ -26056,7 +26911,7 @@ true var@8 -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, - @shared_loan({3}, proj_comp {} (s@5 : i32), proj_loans (s@5 : i32)) + @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) } } @@ -26068,12 +26923,13 @@ true ] **Context**: +# Ended regions: {0} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - b -> @shared_loan({2}, proj_comp {0} (s@3 : std::boxed::Box<i32>)) ; + b -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; x -> ⊥ : &'_ mut (i32) ; var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; x -> ⌊shared@3⌋ ; @@ -26083,7 +26939,7 @@ true var@8 -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, - @shared_loan({3}, proj_comp {} (s@5 : i32), proj_loans (s@5 : i32)) + @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) } } @@ -26096,6 +26952,7 @@ true ] **Context**: +# Ended regions: {0, 1} # 1 frame(s) # Frame 0: @@ -26121,12 +26978,13 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : i32 ; - x -> proj_comp {} (s@0 : i32) ; + x -> s@0 : i32 ; } @@ -26137,24 +26995,26 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : i32 ; - x -> proj_comp {} (s@0 : i32) ; + x -> s@0 : i32 ; } [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : i32 ; - x -> proj_comp {} (s@0 : i32) ; + x -> s@0 : i32 ; } @@ -26162,19 +27022,20 @@ true copy x [[32mDebug[39m] Value to copy: -proj_comp {} (s@0 : i32) +s@0 : i32 [[32mDebug[39m] **About to evaluate statement**: [ return ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { - var@0 -> proj_comp {} (s@0 : i32) ; - x -> proj_comp {} (s@0 : i32) ; + var@0 -> s@0 : i32 ; + x -> s@0 : i32 ; } @@ -26195,6 +27056,7 @@ proj_comp {} (s@0 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -26218,6 +27080,7 @@ proj_comp {} (s@0 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -26237,6 +27100,7 @@ proj_comp {} (s@0 : i32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -26270,6 +27134,7 @@ proj_comp {} (s@0 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -26293,6 +27158,7 @@ proj_comp {} (s@0 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -26323,6 +27189,7 @@ proj_comp {} (s@0 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -26346,6 +27213,7 @@ proj_comp {} (s@0 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -26365,6 +27233,7 @@ proj_comp {} (s@0 : i32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -26398,6 +27267,7 @@ copy x ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -26421,6 +27291,7 @@ copy x ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -26440,6 +27311,7 @@ copy x [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -26472,6 +27344,7 @@ move var@4 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -26479,7 +27352,7 @@ move var@4 var@0 -> ⊥ : () ; x -> @shared_loan({0}, 0: i32) ; px -> ⌊shared@0⌋ ; - y -> proj_comp {} (s@0 : i32) ; + y -> s@0 : i32 ; var@4 -> ⊥ : i32 ; var@5 -> ⊥ : bool ; var@6 -> ⊥ : bool ; @@ -26495,6 +27368,7 @@ move var@4 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -26502,7 +27376,7 @@ move var@4 var@0 -> ⊥ : () ; x -> @shared_loan({0}, 0: i32) ; px -> ⌊shared@0⌋ ; - y -> proj_comp {} (s@0 : i32) ; + y -> s@0 : i32 ; var@4 -> ⊥ : i32 ; var@5 -> ⊥ : bool ; var@6 -> ⊥ : bool ; @@ -26514,6 +27388,7 @@ move var@4 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -26521,7 +27396,7 @@ move var@4 var@0 -> ⊥ : () ; x -> @shared_loan({0}, 0: i32) ; px -> ⌊shared@0⌋ ; - y -> proj_comp {} (s@0 : i32) ; + y -> s@0 : i32 ; var@4 -> ⊥ : i32 ; var@5 -> ⊥ : bool ; var@6 -> ⊥ : bool ; @@ -26545,6 +27420,7 @@ copy *(px) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -26552,7 +27428,7 @@ copy *(px) var@0 -> ⊥ : () ; x -> @shared_loan({0}, 0: i32) ; px -> ⌊shared@0⌋ ; - y -> proj_comp {} (s@0 : i32) ; + y -> s@0 : i32 ; var@4 -> ⊥ : i32 ; var@5 -> ⊥ : bool ; var@6 -> ⊥ : bool ; @@ -26568,6 +27444,7 @@ copy *(px) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -26575,7 +27452,7 @@ copy *(px) var@0 -> ⊥ : () ; x -> @shared_loan({0}, 0: i32) ; px -> ⌊shared@0⌋ ; - y -> proj_comp {} (s@0 : i32) ; + y -> s@0 : i32 ; var@4 -> ⊥ : i32 ; var@5 -> ⊥ : bool ; var@6 -> ⊥ : bool ; @@ -26587,6 +27464,7 @@ copy *(px) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -26594,7 +27472,7 @@ copy *(px) var@0 -> ⊥ : () ; x -> @shared_loan({0}, 0: i32) ; px -> ⌊shared@0⌋ ; - y -> proj_comp {} (s@0 : i32) ; + y -> s@0 : i32 ; var@4 -> ⊥ : i32 ; var@5 -> ⊥ : bool ; var@6 -> ⊥ : bool ; @@ -26607,7 +27485,7 @@ copy *(px) copy y [[32mDebug[39m] Value to copy: -proj_comp {} (s@0 : i32) +s@0 : i32 [[32mDebug[39m] **About to evaluate statement**: [ var@6 := move var@7 == move var@8; @@ -26617,6 +27495,7 @@ proj_comp {} (s@0 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -26624,12 +27503,12 @@ proj_comp {} (s@0 : i32) var@0 -> ⊥ : () ; x -> @shared_loan({0}, 0: i32) ; px -> ⌊shared@0⌋ ; - y -> proj_comp {} (s@0 : i32) ; + y -> s@0 : i32 ; var@4 -> ⊥ : i32 ; var@5 -> ⊥ : bool ; var@6 -> ⊥ : bool ; var@7 -> 0: i32 ; - var@8 -> proj_comp {} (s@0 : i32) ; + var@8 -> s@0 : i32 ; } @@ -26640,6 +27519,7 @@ proj_comp {} (s@0 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -26647,18 +27527,19 @@ proj_comp {} (s@0 : i32) var@0 -> ⊥ : () ; x -> @shared_loan({0}, 0: i32) ; px -> ⌊shared@0⌋ ; - y -> proj_comp {} (s@0 : i32) ; + y -> s@0 : i32 ; var@4 -> ⊥ : i32 ; var@5 -> ⊥ : bool ; var@6 -> ⊥ : bool ; var@7 -> 0: i32 ; - var@8 -> proj_comp {} (s@0 : i32) ; + var@8 -> s@0 : i32 ; } [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -26666,12 +27547,12 @@ proj_comp {} (s@0 : i32) var@0 -> ⊥ : () ; x -> @shared_loan({0}, 0: i32) ; px -> ⌊shared@0⌋ ; - y -> proj_comp {} (s@0 : i32) ; + y -> s@0 : i32 ; var@4 -> ⊥ : i32 ; var@5 -> ⊥ : bool ; var@6 -> ⊥ : bool ; var@7 -> 0: i32 ; - var@8 -> proj_comp {} (s@0 : i32) ; + var@8 -> s@0 : i32 ; } @@ -26682,6 +27563,7 @@ move var@7 0: i32 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -26689,12 +27571,12 @@ move var@7 var@0 -> ⊥ : () ; x -> @shared_loan({0}, 0: i32) ; px -> ⌊shared@0⌋ ; - y -> proj_comp {} (s@0 : i32) ; + y -> s@0 : i32 ; var@4 -> ⊥ : i32 ; var@5 -> ⊥ : bool ; var@6 -> ⊥ : bool ; var@7 -> ⊥ : i32 ; - var@8 -> proj_comp {} (s@0 : i32) ; + var@8 -> s@0 : i32 ; } @@ -26702,7 +27584,7 @@ move var@7 move var@8 [[32mDebug[39m] Value to move: -proj_comp {} (s@0 : i32) +s@0 : i32 [[32mDebug[39m] **About to evaluate statement**: [ var@5 := ¬ move var@6; @@ -26711,6 +27593,7 @@ proj_comp {} (s@0 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -26718,10 +27601,10 @@ proj_comp {} (s@0 : i32) var@0 -> ⊥ : () ; x -> @shared_loan({0}, 0: i32) ; px -> ⌊shared@0⌋ ; - y -> proj_comp {} (s@0 : i32) ; + y -> s@0 : i32 ; var@4 -> ⊥ : i32 ; var@5 -> ⊥ : bool ; - var@6 -> proj_comp {} (s@1 : bool) ; + var@6 -> s@1 : bool ; var@7 -> ⊥ : i32 ; var@8 -> ⊥ : i32 ; } @@ -26734,6 +27617,7 @@ proj_comp {} (s@0 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -26741,10 +27625,10 @@ proj_comp {} (s@0 : i32) var@0 -> ⊥ : () ; x -> @shared_loan({0}, 0: i32) ; px -> ⌊shared@0⌋ ; - y -> proj_comp {} (s@0 : i32) ; + y -> s@0 : i32 ; var@4 -> ⊥ : i32 ; var@5 -> ⊥ : bool ; - var@6 -> proj_comp {} (s@1 : bool) ; + var@6 -> s@1 : bool ; var@7 -> ⊥ : i32 ; var@8 -> ⊥ : i32 ; } @@ -26753,6 +27637,7 @@ proj_comp {} (s@0 : i32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -26760,10 +27645,10 @@ proj_comp {} (s@0 : i32) var@0 -> ⊥ : () ; x -> @shared_loan({0}, 0: i32) ; px -> ⌊shared@0⌋ ; - y -> proj_comp {} (s@0 : i32) ; + y -> s@0 : i32 ; var@4 -> ⊥ : i32 ; var@5 -> ⊥ : bool ; - var@6 -> proj_comp {} (s@1 : bool) ; + var@6 -> s@1 : bool ; var@7 -> ⊥ : i32 ; var@8 -> ⊥ : i32 ; } @@ -26773,7 +27658,7 @@ proj_comp {} (s@0 : i32) move var@6 [[32mDebug[39m] Value to move: -proj_comp {} (s@1 : bool) +s@1 : bool [[32mDebug[39m] **About to evaluate statement**: [ assert(¬move var@5); @@ -26781,6 +27666,7 @@ proj_comp {} (s@1 : bool) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -26788,9 +27674,9 @@ proj_comp {} (s@1 : bool) var@0 -> ⊥ : () ; x -> @shared_loan({0}, 0: i32) ; px -> ⌊shared@0⌋ ; - y -> proj_comp {} (s@0 : i32) ; + y -> s@0 : i32 ; var@4 -> ⊥ : i32 ; - var@5 -> proj_comp {} (s@2 : bool) ; + var@5 -> s@2 : bool ; var@6 -> ⊥ : bool ; var@7 -> ⊥ : i32 ; var@8 -> ⊥ : i32 ; @@ -26804,6 +27690,7 @@ proj_comp {} (s@1 : bool) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -26811,9 +27698,9 @@ proj_comp {} (s@1 : bool) var@0 -> ⊥ : () ; x -> @shared_loan({0}, 0: i32) ; px -> ⌊shared@0⌋ ; - y -> proj_comp {} (s@0 : i32) ; + y -> s@0 : i32 ; var@4 -> ⊥ : i32 ; - var@5 -> proj_comp {} (s@2 : bool) ; + var@5 -> s@2 : bool ; var@6 -> ⊥ : bool ; var@7 -> ⊥ : i32 ; var@8 -> ⊥ : i32 ; @@ -26823,6 +27710,7 @@ proj_comp {} (s@1 : bool) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -26830,7 +27718,7 @@ proj_comp {} (s@1 : bool) var@0 -> ⊥ : () ; x -> @shared_loan({0}, 0: i32) ; px -> ⌊shared@0⌋ ; - y -> proj_comp {} (s@0 : i32) ; + y -> s@0 : i32 ; var@4 -> ⊥ : i32 ; var@5 -> true ; var@6 -> ⊥ : bool ; @@ -26850,6 +27738,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -26857,7 +27746,7 @@ true var@0 -> ⊥ : () ; x -> @shared_loan({0}, 0: i32) ; px -> ⌊shared@0⌋ ; - y -> proj_comp {} (s@0 : i32) ; + y -> s@0 : i32 ; var@4 -> ⊥ : i32 ; var@5 -> ⊥ : bool ; var@6 -> ⊥ : bool ; @@ -26886,6 +27775,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -26894,7 +27784,7 @@ true proj_loans (s@0 : &r@0 (test1::List<T>)) } var@0 -> ⊥ : bool ; - l -> proj_comp {} (s@0 : &r@0 (test1::List<T>)) ; + l -> s@0 : &r@0 (test1::List<T>) ; var@2 -> ⊥ : isize ; } @@ -26906,6 +27796,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -26914,7 +27805,7 @@ true proj_loans (s@0 : &r@0 (test1::List<T>)) } var@0 -> ⊥ : bool ; - l -> proj_comp {} (s@0 : &r@0 (test1::List<T>)) ; + l -> s@0 : &r@0 (test1::List<T>) ; var@2 -> ⊥ : isize ; } @@ -26937,12 +27828,13 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { - @shared_loan({0}, test1::List::Cons { 0 = proj_comp {} (s@2 : T); 1 = proj_comp {} (s@3 : std::boxed::Box<test1::List<T>>); }, test1::List::Cons { 0 = proj_loans (s@2 : T); 1 = proj_loans (s@3 : std::boxed::Box<test1::List<T>>); }) + @shared_loan({0}, test1::List::Cons { 0 = s@2 : T; 1 = s@3 : std::boxed::Box<test1::List<T>>; }, test1::List::Cons { 0 = proj_loans (s@2 : T); 1 = proj_loans (s@3 : std::boxed::Box<test1::List<T>>); }) } var@0 -> ⊥ : bool ; l -> ⌊shared@0⌋ ; @@ -26967,12 +27859,13 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { - @shared_loan({0}, test1::List::Cons { 0 = proj_comp {} (s@2 : T); 1 = proj_comp {} (s@3 : std::boxed::Box<test1::List<T>>); }, test1::List::Cons { 0 = proj_loans (s@2 : T); 1 = proj_loans (s@3 : std::boxed::Box<test1::List<T>>); }) + @shared_loan({0}, test1::List::Cons { 0 = s@2 : T; 1 = s@3 : std::boxed::Box<test1::List<T>>; }, test1::List::Cons { 0 = proj_loans (s@2 : T); 1 = proj_loans (s@3 : std::boxed::Box<test1::List<T>>); }) } var@0 -> ⊥ : bool ; l -> ⌊shared@0⌋ ; @@ -26983,12 +27876,13 @@ true [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { - @shared_loan({0}, test1::List::Cons { 0 = proj_comp {} (s@2 : T); 1 = proj_comp {} (s@3 : std::boxed::Box<test1::List<T>>); }, test1::List::Cons { 0 = proj_loans (s@2 : T); 1 = proj_loans (s@3 : std::boxed::Box<test1::List<T>>); }) + @shared_loan({0}, test1::List::Cons { 0 = s@2 : T; 1 = s@3 : std::boxed::Box<test1::List<T>>; }, test1::List::Cons { 0 = proj_loans (s@2 : T); 1 = proj_loans (s@3 : std::boxed::Box<test1::List<T>>); }) } var@0 -> ⊥ : bool ; l -> ⌊shared@0⌋ ; @@ -27007,12 +27901,13 @@ move var@2 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { - @shared_loan({0}, test1::List::Cons { 0 = proj_comp {} (s@2 : T); 1 = proj_comp {} (s@3 : std::boxed::Box<test1::List<T>>); }, test1::List::Cons { 0 = proj_loans (s@2 : T); 1 = proj_loans (s@3 : std::boxed::Box<test1::List<T>>); }) + @shared_loan({0}, test1::List::Cons { 0 = s@2 : T; 1 = s@3 : std::boxed::Box<test1::List<T>>; }, test1::List::Cons { 0 = proj_loans (s@2 : T); 1 = proj_loans (s@3 : std::boxed::Box<test1::List<T>>); }) } var@0 -> ⊥ : bool ; l -> ⌊shared@0⌋ ; @@ -27023,12 +27918,13 @@ move var@2 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { - @shared_loan({0}, test1::List::Cons { 0 = proj_comp {} (s@2 : T); 1 = proj_comp {} (s@3 : std::boxed::Box<test1::List<T>>); }, test1::List::Cons { 0 = proj_loans (s@2 : T); 1 = proj_loans (s@3 : std::boxed::Box<test1::List<T>>); }) + @shared_loan({0}, test1::List::Cons { 0 = s@2 : T; 1 = s@3 : std::boxed::Box<test1::List<T>>; }, test1::List::Cons { 0 = proj_loans (s@2 : T); 1 = proj_loans (s@3 : std::boxed::Box<test1::List<T>>); }) } var@0 -> ⊥ : bool ; l -> ⌊shared@0⌋ ; @@ -27045,12 +27941,13 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { - @shared_loan({0}, test1::List::Cons { 0 = proj_comp {} (s@2 : T); 1 = proj_comp {} (s@3 : std::boxed::Box<test1::List<T>>); }, test1::List::Cons { 0 = proj_loans (s@2 : T); 1 = proj_loans (s@3 : std::boxed::Box<test1::List<T>>); }) + @shared_loan({0}, test1::List::Cons { 0 = s@2 : T; 1 = s@3 : std::boxed::Box<test1::List<T>>; }, test1::List::Cons { 0 = proj_loans (s@2 : T); 1 = proj_loans (s@3 : std::boxed::Box<test1::List<T>>); }) } var@0 -> true ; l -> ⌊shared@0⌋ ; @@ -27076,6 +27973,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -27106,6 +28004,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -27122,6 +28021,7 @@ true [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -27146,6 +28046,7 @@ move var@2 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -27162,6 +28063,7 @@ move var@2 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -27184,6 +28086,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -27216,6 +28119,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -27238,6 +28142,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -27270,6 +28175,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -27292,6 +28198,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -27315,6 +28222,7 @@ false - dest: var@2 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -27350,13 +28258,14 @@ test1::List::Nil ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; l -> ⊥ : test1::List<i32> ; - var@2 -> proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) ; + var@2 -> s@0 : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; var@4 -> ⊥ : bool ; var@5 -> ⊥ : bool ; @@ -27372,13 +28281,14 @@ test1::List::Nil ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; l -> ⊥ : test1::List<i32> ; - var@2 -> proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) ; + var@2 -> s@0 : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; var@4 -> ⊥ : bool ; var@5 -> ⊥ : bool ; @@ -27390,13 +28300,14 @@ test1::List::Nil [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; l -> ⊥ : test1::List<i32> ; - var@2 -> proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) ; + var@2 -> s@0 : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; var@4 -> ⊥ : bool ; var@5 -> ⊥ : bool ; @@ -27425,13 +28336,14 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; l -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; - var@2 -> proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) ; + var@2 -> s@0 : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; var@4 -> ⊥ : bool ; var@5 -> ⊥ : bool ; @@ -27447,13 +28359,14 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; l -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; - var@2 -> proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) ; + var@2 -> s@0 : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; var@4 -> ⊥ : bool ; var@5 -> ⊥ : bool ; @@ -27465,13 +28378,14 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; l -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; - var@2 -> proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) ; + var@2 -> s@0 : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; var@4 -> ⊥ : bool ; var@5 -> ⊥ : bool ; @@ -27484,7 +28398,7 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) move var@2 [[32mDebug[39m] Value to move: -proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) +s@0 : std::boxed::Box<test1::List<i32>> [[32mDebug[39m] **About to evaluate statement**: [ set_discriminant(l, 0); @@ -27498,12 +28412,13 @@ proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - l -> test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>); } ; + l -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; } ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; var@4 -> ⊥ : bool ; @@ -27520,12 +28435,13 @@ proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - l -> test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>); } ; + l -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; } ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; var@4 -> ⊥ : bool ; @@ -27548,12 +28464,13 @@ proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - l -> test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>); } ; + l -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; } ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; var@4 -> ⊥ : bool ; @@ -27570,12 +28487,13 @@ proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - l -> test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>); } ; + l -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; } ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; var@4 -> ⊥ : bool ; @@ -27597,12 +28515,13 @@ proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - l -> @shared_loan({0}, test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>); }) ; + l -> @shared_loan({0}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; }) ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; var@4 -> ⊥ : bool ; @@ -27619,12 +28538,13 @@ proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - l -> @shared_loan({0}, test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>); }) ; + l -> @shared_loan({0}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; }) ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; var@4 -> ⊥ : bool ; @@ -27637,12 +28557,13 @@ proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - l -> @shared_loan({0}, test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>); }) ; + l -> @shared_loan({0}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; }) ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; var@4 -> ⊥ : bool ; @@ -27667,12 +28588,13 @@ copy var@7 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - l -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>); }) ; + l -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; }) ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; var@4 -> ⊥ : bool ; @@ -27689,12 +28611,13 @@ copy var@7 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - l -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>); }) ; + l -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; }) ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; var@4 -> ⊥ : bool ; @@ -27707,12 +28630,13 @@ copy var@7 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - l -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>); }) ; + l -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; }) ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; var@4 -> ⊥ : bool ; @@ -27736,16 +28660,17 @@ move var@6 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - l -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>); }) ; + l -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; }) ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; var@4 -> ⊥ : bool ; - var@5 -> proj_comp {} (s@1 : bool) ; + var@5 -> s@1 : bool ; var@6 -> ⊥ : &'_ (test1::List<i32>) ; var@7 -> ⌊shared@0⌋ ; abs@0{parents={}}{regions={0}} { @@ -27762,16 +28687,17 @@ move var@6 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - l -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>); }) ; + l -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; }) ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; var@4 -> ⊥ : bool ; - var@5 -> proj_comp {} (s@1 : bool) ; + var@5 -> s@1 : bool ; var@6 -> ⊥ : &'_ (test1::List<i32>) ; var@7 -> ⌊shared@0⌋ ; abs@0{parents={}}{regions={0}} { @@ -27784,16 +28710,17 @@ move var@6 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - l -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>); }) ; + l -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; }) ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; var@4 -> ⊥ : bool ; - var@5 -> proj_comp {} (s@1 : bool) ; + var@5 -> s@1 : bool ; var@6 -> ⊥ : &'_ (test1::List<i32>) ; var@7 -> ⌊shared@0⌋ ; abs@0{parents={}}{regions={0}} { @@ -27807,7 +28734,7 @@ move var@6 move var@5 [[32mDebug[39m] Value to move: -proj_comp {} (s@1 : bool) +s@1 : bool [[32mDebug[39m] **About to evaluate statement**: [ assert(¬move var@4); @@ -27816,15 +28743,16 @@ proj_comp {} (s@1 : bool) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - l -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>); }) ; + l -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; }) ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; - var@4 -> proj_comp {} (s@2 : bool) ; + var@4 -> s@2 : bool ; var@5 -> ⊥ : bool ; var@6 -> ⊥ : &'_ (test1::List<i32>) ; var@7 -> ⌊shared@0⌋ ; @@ -27842,15 +28770,16 @@ proj_comp {} (s@1 : bool) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - l -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>); }) ; + l -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; }) ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; - var@4 -> proj_comp {} (s@2 : bool) ; + var@4 -> s@2 : bool ; var@5 -> ⊥ : bool ; var@6 -> ⊥ : &'_ (test1::List<i32>) ; var@7 -> ⌊shared@0⌋ ; @@ -27864,12 +28793,13 @@ proj_comp {} (s@1 : bool) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - l -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>); }) ; + l -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; }) ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; var@4 -> true ; @@ -27895,12 +28825,13 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - l -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>); }) ; + l -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; }) ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; var@4 -> ⊥ : bool ; @@ -27921,12 +28852,13 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - l -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>); }) ; + l -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; }) ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; var@4 -> ⊥ : bool ; @@ -27948,6 +28880,7 @@ true ] **Context**: +# Ended regions: {0} # 1 frame(s) # Frame 0: @@ -27992,12 +28925,13 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : (T, test1::List<T>) ; - l -> proj_comp {} (s@0 : test1::List<T>) ; + l -> s@0 : test1::List<T> ; var@2 -> ⊥ : isize ; hd -> ⊥ : T ; tl -> ⊥ : std::boxed::Box<test1::List<T>> ; @@ -28017,12 +28951,13 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : (T, test1::List<T>) ; - l -> proj_comp {} (s@0 : test1::List<T>) ; + l -> s@0 : test1::List<T> ; var@2 -> ⊥ : isize ; hd -> ⊥ : T ; tl -> ⊥ : std::boxed::Box<test1::List<T>> ; @@ -28038,12 +28973,13 @@ true [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : (T, test1::List<T>) ; - l -> proj_comp {} (s@0 : test1::List<T>) ; + l -> s@0 : test1::List<T> ; var@2 -> ⊥ : isize ; hd -> ⊥ : T ; tl -> ⊥ : std::boxed::Box<test1::List<T>> ; @@ -28085,12 +29021,13 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : (T, test1::List<T>) ; - l -> proj_comp {} (s@0 : test1::List<T>) ; + l -> s@0 : test1::List<T> ; var@2 -> ⊥ : isize ; hd -> ⊥ : T ; tl -> ⊥ : std::boxed::Box<test1::List<T>> ; @@ -28110,12 +29047,13 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : (T, test1::List<T>) ; - l -> proj_comp {} (s@0 : test1::List<T>) ; + l -> s@0 : test1::List<T> ; var@2 -> ⊥ : isize ; hd -> ⊥ : T ; tl -> ⊥ : std::boxed::Box<test1::List<T>> ; @@ -28131,12 +29069,13 @@ false [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : (T, test1::List<T>) ; - l -> proj_comp {} (s@0 : test1::List<T>) ; + l -> s@0 : test1::List<T> ; var@2 -> ⊥ : isize ; hd -> ⊥ : T ; tl -> ⊥ : std::boxed::Box<test1::List<T>> ; @@ -28177,12 +29116,13 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : (T, test1::List<T>) ; - l -> proj_comp {} (s@0 : test1::List<T>) ; + l -> s@0 : test1::List<T> ; var@2 -> ⊥ : isize ; hd -> ⊥ : T ; tl -> ⊥ : std::boxed::Box<test1::List<T>> ; @@ -28202,12 +29142,13 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : (T, test1::List<T>) ; - l -> proj_comp {} (s@0 : test1::List<T>) ; + l -> s@0 : test1::List<T> ; var@2 -> ⊥ : isize ; hd -> ⊥ : T ; tl -> ⊥ : std::boxed::Box<test1::List<T>> ; @@ -28223,12 +29164,13 @@ false [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : (T, test1::List<T>) ; - l -> proj_comp {} (s@0 : test1::List<T>) ; + l -> s@0 : test1::List<T> ; var@2 -> ⊥ : isize ; hd -> ⊥ : T ; tl -> ⊥ : std::boxed::Box<test1::List<T>> ; @@ -28268,12 +29210,13 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : (T, test1::List<T>) ; - l -> proj_comp {} (s@0 : test1::List<T>) ; + l -> s@0 : test1::List<T> ; var@2 -> ⊥ : isize ; hd -> ⊥ : T ; tl -> ⊥ : std::boxed::Box<test1::List<T>> ; @@ -28293,12 +29236,13 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : (T, test1::List<T>) ; - l -> proj_comp {} (s@0 : test1::List<T>) ; + l -> s@0 : test1::List<T> ; var@2 -> ⊥ : isize ; hd -> ⊥ : T ; tl -> ⊥ : std::boxed::Box<test1::List<T>> ; @@ -28314,12 +29258,13 @@ true [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : (T, test1::List<T>) ; - l -> proj_comp {} (s@0 : test1::List<T>) ; + l -> s@0 : test1::List<T> ; var@2 -> ⊥ : isize ; hd -> ⊥ : T ; tl -> ⊥ : std::boxed::Box<test1::List<T>> ; @@ -28358,12 +29303,13 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : (T, test1::List<T>) ; - l -> proj_comp {} (s@0 : test1::List<T>) ; + l -> s@0 : test1::List<T> ; var@2 -> ⊥ : isize ; hd -> ⊥ : T ; tl -> ⊥ : std::boxed::Box<test1::List<T>> ; @@ -28383,12 +29329,13 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : (T, test1::List<T>) ; - l -> proj_comp {} (s@0 : test1::List<T>) ; + l -> s@0 : test1::List<T> ; var@2 -> ⊥ : isize ; hd -> ⊥ : T ; tl -> ⊥ : std::boxed::Box<test1::List<T>> ; @@ -28424,12 +29371,13 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : (T, test1::List<T>) ; - l -> test1::List::Cons { 0 = proj_comp {} (s@1 : T); 1 = proj_comp {} (s@2 : std::boxed::Box<test1::List<T>>); } ; + l -> test1::List::Cons { 0 = s@1 : T; 1 = s@2 : std::boxed::Box<test1::List<T>>; } ; var@2 -> 0: isize ; hd -> ⊥ : T ; tl -> ⊥ : std::boxed::Box<test1::List<T>> ; @@ -28445,12 +29393,13 @@ true [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : (T, test1::List<T>) ; - l -> test1::List::Cons { 0 = proj_comp {} (s@1 : T); 1 = proj_comp {} (s@2 : std::boxed::Box<test1::List<T>>); } ; + l -> test1::List::Cons { 0 = s@1 : T; 1 = s@2 : std::boxed::Box<test1::List<T>>; } ; var@2 -> 0: isize ; hd -> ⊥ : T ; tl -> ⊥ : std::boxed::Box<test1::List<T>> ; @@ -28483,12 +29432,13 @@ move var@2 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : (T, test1::List<T>) ; - l -> test1::List::Cons { 0 = proj_comp {} (s@1 : T); 1 = proj_comp {} (s@2 : std::boxed::Box<test1::List<T>>); } ; + l -> test1::List::Cons { 0 = s@1 : T; 1 = s@2 : std::boxed::Box<test1::List<T>>; } ; var@2 -> ⊥ : isize ; hd -> ⊥ : T ; tl -> ⊥ : std::boxed::Box<test1::List<T>> ; @@ -28508,12 +29458,13 @@ move var@2 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : (T, test1::List<T>) ; - l -> test1::List::Cons { 0 = proj_comp {} (s@1 : T); 1 = proj_comp {} (s@2 : std::boxed::Box<test1::List<T>>); } ; + l -> test1::List::Cons { 0 = s@1 : T; 1 = s@2 : std::boxed::Box<test1::List<T>>; } ; var@2 -> ⊥ : isize ; hd -> ⊥ : T ; tl -> ⊥ : std::boxed::Box<test1::List<T>> ; @@ -28529,12 +29480,13 @@ move var@2 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : (T, test1::List<T>) ; - l -> test1::List::Cons { 0 = proj_comp {} (s@1 : T); 1 = proj_comp {} (s@2 : std::boxed::Box<test1::List<T>>); } ; + l -> test1::List::Cons { 0 = s@1 : T; 1 = s@2 : std::boxed::Box<test1::List<T>>; } ; var@2 -> ⊥ : isize ; hd -> ⊥ : T ; tl -> ⊥ : std::boxed::Box<test1::List<T>> ; @@ -28564,12 +29516,13 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : (T, test1::List<T>) ; - l -> test1::List::Cons { 0 = proj_comp {} (s@1 : T); 1 = proj_comp {} (s@2 : std::boxed::Box<test1::List<T>>); } ; + l -> test1::List::Cons { 0 = s@1 : T; 1 = s@2 : std::boxed::Box<test1::List<T>>; } ; var@2 -> ⊥ : isize ; hd -> ⊥ : T ; tl -> ⊥ : std::boxed::Box<test1::List<T>> ; @@ -28589,12 +29542,13 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : (T, test1::List<T>) ; - l -> test1::List::Cons { 0 = proj_comp {} (s@1 : T); 1 = proj_comp {} (s@2 : std::boxed::Box<test1::List<T>>); } ; + l -> test1::List::Cons { 0 = s@1 : T; 1 = s@2 : std::boxed::Box<test1::List<T>>; } ; var@2 -> ⊥ : isize ; hd -> ⊥ : T ; tl -> ⊥ : std::boxed::Box<test1::List<T>> ; @@ -28610,12 +29564,13 @@ false [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : (T, test1::List<T>) ; - l -> test1::List::Cons { 0 = proj_comp {} (s@1 : T); 1 = proj_comp {} (s@2 : std::boxed::Box<test1::List<T>>); } ; + l -> test1::List::Cons { 0 = s@1 : T; 1 = s@2 : std::boxed::Box<test1::List<T>>; } ; var@2 -> ⊥ : isize ; hd -> ⊥ : T ; tl -> ⊥ : std::boxed::Box<test1::List<T>> ; @@ -28632,7 +29587,7 @@ false move (l as test1::List::Cons).0 [[32mDebug[39m] Value to move: -proj_comp {} (s@1 : T) +s@1 : T [[32mDebug[39m] **About to evaluate statement**: [ var@7 := false; @@ -28646,14 +29601,15 @@ proj_comp {} (s@1 : T) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : (T, test1::List<T>) ; - l -> test1::List::Cons { 0 = ⊥ : T; 1 = proj_comp {} (s@2 : std::boxed::Box<test1::List<T>>); } ; + l -> test1::List::Cons { 0 = ⊥ : T; 1 = s@2 : std::boxed::Box<test1::List<T>>; } ; var@2 -> ⊥ : isize ; - hd -> proj_comp {} (s@1 : T) ; + hd -> s@1 : T ; tl -> ⊥ : std::boxed::Box<test1::List<T>> ; var@5 -> ⊥ : T ; var@6 -> ⊥ : test1::List<T> ; @@ -28671,14 +29627,15 @@ proj_comp {} (s@1 : T) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : (T, test1::List<T>) ; - l -> test1::List::Cons { 0 = ⊥ : T; 1 = proj_comp {} (s@2 : std::boxed::Box<test1::List<T>>); } ; + l -> test1::List::Cons { 0 = ⊥ : T; 1 = s@2 : std::boxed::Box<test1::List<T>>; } ; var@2 -> ⊥ : isize ; - hd -> proj_comp {} (s@1 : T) ; + hd -> s@1 : T ; tl -> ⊥ : std::boxed::Box<test1::List<T>> ; var@5 -> ⊥ : T ; var@6 -> ⊥ : test1::List<T> ; @@ -28692,14 +29649,15 @@ proj_comp {} (s@1 : T) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : (T, test1::List<T>) ; - l -> test1::List::Cons { 0 = ⊥ : T; 1 = proj_comp {} (s@2 : std::boxed::Box<test1::List<T>>); } ; + l -> test1::List::Cons { 0 = ⊥ : T; 1 = s@2 : std::boxed::Box<test1::List<T>>; } ; var@2 -> ⊥ : isize ; - hd -> proj_comp {} (s@1 : T) ; + hd -> s@1 : T ; tl -> ⊥ : std::boxed::Box<test1::List<T>> ; var@5 -> ⊥ : T ; var@6 -> ⊥ : test1::List<T> ; @@ -28725,14 +29683,15 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : (T, test1::List<T>) ; - l -> test1::List::Cons { 0 = ⊥ : T; 1 = proj_comp {} (s@2 : std::boxed::Box<test1::List<T>>); } ; + l -> test1::List::Cons { 0 = ⊥ : T; 1 = s@2 : std::boxed::Box<test1::List<T>>; } ; var@2 -> ⊥ : isize ; - hd -> proj_comp {} (s@1 : T) ; + hd -> s@1 : T ; tl -> ⊥ : std::boxed::Box<test1::List<T>> ; var@5 -> ⊥ : T ; var@6 -> ⊥ : test1::List<T> ; @@ -28750,14 +29709,15 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : (T, test1::List<T>) ; - l -> test1::List::Cons { 0 = ⊥ : T; 1 = proj_comp {} (s@2 : std::boxed::Box<test1::List<T>>); } ; + l -> test1::List::Cons { 0 = ⊥ : T; 1 = s@2 : std::boxed::Box<test1::List<T>>; } ; var@2 -> ⊥ : isize ; - hd -> proj_comp {} (s@1 : T) ; + hd -> s@1 : T ; tl -> ⊥ : std::boxed::Box<test1::List<T>> ; var@5 -> ⊥ : T ; var@6 -> ⊥ : test1::List<T> ; @@ -28771,14 +29731,15 @@ false [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : (T, test1::List<T>) ; - l -> test1::List::Cons { 0 = ⊥ : T; 1 = proj_comp {} (s@2 : std::boxed::Box<test1::List<T>>); } ; + l -> test1::List::Cons { 0 = ⊥ : T; 1 = s@2 : std::boxed::Box<test1::List<T>>; } ; var@2 -> ⊥ : isize ; - hd -> proj_comp {} (s@1 : T) ; + hd -> s@1 : T ; tl -> ⊥ : std::boxed::Box<test1::List<T>> ; var@5 -> ⊥ : T ; var@6 -> ⊥ : test1::List<T> ; @@ -28793,7 +29754,7 @@ false move (l as test1::List::Cons).1 [[32mDebug[39m] Value to move: -proj_comp {} (s@2 : std::boxed::Box<test1::List<T>>) +s@2 : std::boxed::Box<test1::List<T>> [[32mDebug[39m] **About to evaluate statement**: [ var@5 := move hd; @@ -28805,6 +29766,7 @@ proj_comp {} (s@2 : std::boxed::Box<test1::List<T>>) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -28812,8 +29774,8 @@ proj_comp {} (s@2 : std::boxed::Box<test1::List<T>>) var@0 -> ⊥ : (T, test1::List<T>) ; l -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box<test1::List<T>>; } ; var@2 -> ⊥ : isize ; - hd -> proj_comp {} (s@1 : T) ; - tl -> proj_comp {} (s@2 : std::boxed::Box<test1::List<T>>) ; + hd -> s@1 : T ; + tl -> s@2 : std::boxed::Box<test1::List<T>> ; var@5 -> ⊥ : T ; var@6 -> ⊥ : test1::List<T> ; var@7 -> false ; @@ -28830,6 +29792,7 @@ proj_comp {} (s@2 : std::boxed::Box<test1::List<T>>) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -28837,8 +29800,8 @@ proj_comp {} (s@2 : std::boxed::Box<test1::List<T>>) var@0 -> ⊥ : (T, test1::List<T>) ; l -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box<test1::List<T>>; } ; var@2 -> ⊥ : isize ; - hd -> proj_comp {} (s@1 : T) ; - tl -> proj_comp {} (s@2 : std::boxed::Box<test1::List<T>>) ; + hd -> s@1 : T ; + tl -> s@2 : std::boxed::Box<test1::List<T>> ; var@5 -> ⊥ : T ; var@6 -> ⊥ : test1::List<T> ; var@7 -> false ; @@ -28851,6 +29814,7 @@ proj_comp {} (s@2 : std::boxed::Box<test1::List<T>>) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -28858,8 +29822,8 @@ proj_comp {} (s@2 : std::boxed::Box<test1::List<T>>) var@0 -> ⊥ : (T, test1::List<T>) ; l -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box<test1::List<T>>; } ; var@2 -> ⊥ : isize ; - hd -> proj_comp {} (s@1 : T) ; - tl -> proj_comp {} (s@2 : std::boxed::Box<test1::List<T>>) ; + hd -> s@1 : T ; + tl -> s@2 : std::boxed::Box<test1::List<T>> ; var@5 -> ⊥ : T ; var@6 -> ⊥ : test1::List<T> ; var@7 -> false ; @@ -28873,7 +29837,7 @@ proj_comp {} (s@2 : std::boxed::Box<test1::List<T>>) move hd [[32mDebug[39m] Value to move: -proj_comp {} (s@1 : T) +s@1 : T [[32mDebug[39m] **About to evaluate statement**: [ var@6 := move deref_box(tl); @@ -28884,6 +29848,7 @@ proj_comp {} (s@1 : T) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -28892,8 +29857,8 @@ proj_comp {} (s@1 : T) l -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box<test1::List<T>>; } ; var@2 -> ⊥ : isize ; hd -> ⊥ : T ; - tl -> proj_comp {} (s@2 : std::boxed::Box<test1::List<T>>) ; - var@5 -> proj_comp {} (s@1 : T) ; + tl -> s@2 : std::boxed::Box<test1::List<T>> ; + var@5 -> s@1 : T ; var@6 -> ⊥ : test1::List<T> ; var@7 -> false ; var@8 -> false ; @@ -28909,6 +29874,7 @@ proj_comp {} (s@1 : T) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -28917,8 +29883,8 @@ proj_comp {} (s@1 : T) l -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box<test1::List<T>>; } ; var@2 -> ⊥ : isize ; hd -> ⊥ : T ; - tl -> proj_comp {} (s@2 : std::boxed::Box<test1::List<T>>) ; - var@5 -> proj_comp {} (s@1 : T) ; + tl -> s@2 : std::boxed::Box<test1::List<T>> ; + var@5 -> s@1 : T ; var@6 -> ⊥ : test1::List<T> ; var@7 -> false ; var@8 -> false ; @@ -28930,6 +29896,7 @@ proj_comp {} (s@1 : T) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -28938,8 +29905,8 @@ proj_comp {} (s@1 : T) l -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box<test1::List<T>>; } ; var@2 -> ⊥ : isize ; hd -> ⊥ : T ; - tl -> proj_comp {} (s@2 : std::boxed::Box<test1::List<T>>) ; - var@5 -> proj_comp {} (s@1 : T) ; + tl -> s@2 : std::boxed::Box<test1::List<T>> ; + var@5 -> s@1 : T ; var@6 -> ⊥ : test1::List<T> ; var@7 -> false ; var@8 -> false ; @@ -28952,7 +29919,7 @@ proj_comp {} (s@1 : T) move deref_box(tl) [[32mDebug[39m] Value to move: -proj_comp {} (s@3 : test1::List<T>) +s@3 : test1::List<T> [[32mDebug[39m] **About to evaluate statement**: [ (var@0).0 := move var@5; @@ -28962,6 +29929,7 @@ proj_comp {} (s@3 : test1::List<T>) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -28971,8 +29939,8 @@ proj_comp {} (s@3 : test1::List<T>) var@2 -> ⊥ : isize ; hd -> ⊥ : T ; tl -> @Box(⊥ : test1::List<T>) ; - var@5 -> proj_comp {} (s@1 : T) ; - var@6 -> proj_comp {} (s@3 : test1::List<T>) ; + var@5 -> s@1 : T ; + var@6 -> s@3 : test1::List<T> ; var@7 -> false ; var@8 -> false ; var@9 -> ⊥ : () ; @@ -28987,6 +29955,7 @@ proj_comp {} (s@3 : test1::List<T>) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -28996,8 +29965,8 @@ proj_comp {} (s@3 : test1::List<T>) var@2 -> ⊥ : isize ; hd -> ⊥ : T ; tl -> @Box(⊥ : test1::List<T>) ; - var@5 -> proj_comp {} (s@1 : T) ; - var@6 -> proj_comp {} (s@3 : test1::List<T>) ; + var@5 -> s@1 : T ; + var@6 -> s@3 : test1::List<T> ; var@7 -> false ; var@8 -> false ; var@9 -> ⊥ : () ; @@ -29008,6 +29977,7 @@ proj_comp {} (s@3 : test1::List<T>) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -29017,8 +29987,8 @@ proj_comp {} (s@3 : test1::List<T>) var@2 -> ⊥ : isize ; hd -> ⊥ : T ; tl -> @Box(⊥ : test1::List<T>) ; - var@5 -> proj_comp {} (s@1 : T) ; - var@6 -> proj_comp {} (s@3 : test1::List<T>) ; + var@5 -> s@1 : T ; + var@6 -> s@3 : test1::List<T> ; var@7 -> false ; var@8 -> false ; var@9 -> ⊥ : () ; @@ -29030,7 +30000,7 @@ proj_comp {} (s@3 : test1::List<T>) move var@5 [[32mDebug[39m] Value to move: -proj_comp {} (s@1 : T) +s@1 : T [[32mDebug[39m] expand_bottom_value_from_projection: pe: (Expressions.Field ((Expressions.ProjTuple 2), 0)) ty: (Types.Adt (Types.Tuple, [], @@ -29045,17 +30015,18 @@ ty: (Types.Adt (Types.Tuple, [], ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { - var@0 -> (proj_comp {} (s@1 : T), ⊥ : test1::List<T>) ; + var@0 -> (s@1 : T, ⊥ : test1::List<T>) ; l -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box<test1::List<T>>; } ; var@2 -> ⊥ : isize ; hd -> ⊥ : T ; tl -> @Box(⊥ : test1::List<T>) ; var@5 -> ⊥ : T ; - var@6 -> proj_comp {} (s@3 : test1::List<T>) ; + var@6 -> s@3 : test1::List<T> ; var@7 -> false ; var@8 -> false ; var@9 -> ⊥ : () ; @@ -29070,17 +30041,18 @@ ty: (Types.Adt (Types.Tuple, [], ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { - var@0 -> (proj_comp {} (s@1 : T), ⊥ : test1::List<T>) ; + var@0 -> (s@1 : T, ⊥ : test1::List<T>) ; l -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box<test1::List<T>>; } ; var@2 -> ⊥ : isize ; hd -> ⊥ : T ; tl -> @Box(⊥ : test1::List<T>) ; var@5 -> ⊥ : T ; - var@6 -> proj_comp {} (s@3 : test1::List<T>) ; + var@6 -> s@3 : test1::List<T> ; var@7 -> false ; var@8 -> false ; var@9 -> ⊥ : () ; @@ -29091,17 +30063,18 @@ ty: (Types.Adt (Types.Tuple, [], [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { - var@0 -> (proj_comp {} (s@1 : T), ⊥ : test1::List<T>) ; + var@0 -> (s@1 : T, ⊥ : test1::List<T>) ; l -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box<test1::List<T>>; } ; var@2 -> ⊥ : isize ; hd -> ⊥ : T ; tl -> @Box(⊥ : test1::List<T>) ; var@5 -> ⊥ : T ; - var@6 -> proj_comp {} (s@3 : test1::List<T>) ; + var@6 -> s@3 : test1::List<T> ; var@7 -> false ; var@8 -> false ; var@9 -> ⊥ : () ; @@ -29113,7 +30086,7 @@ ty: (Types.Adt (Types.Tuple, [], move var@6 [[32mDebug[39m] Value to move: -proj_comp {} (s@3 : test1::List<T>) +s@3 : test1::List<T> [[32mDebug[39m] **About to evaluate statement**: [ var@9 := move alloc::alloc::box_free<test1::List<T>>(move tl); @@ -29121,11 +30094,12 @@ proj_comp {} (s@3 : test1::List<T>) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { - var@0 -> (proj_comp {} (s@1 : T), proj_comp {} (s@3 : test1::List<T>)) ; + var@0 -> (s@1 : T, s@3 : test1::List<T>) ; l -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box<test1::List<T>>; } ; var@2 -> ⊥ : isize ; hd -> ⊥ : T ; @@ -29146,11 +30120,12 @@ proj_comp {} (s@3 : test1::List<T>) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { - var@0 -> (proj_comp {} (s@1 : T), proj_comp {} (s@3 : test1::List<T>)) ; + var@0 -> (s@1 : T, s@3 : test1::List<T>) ; l -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box<test1::List<T>>; } ; var@2 -> ⊥ : isize ; hd -> ⊥ : T ; @@ -29177,11 +30152,12 @@ proj_comp {} (s@3 : test1::List<T>) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { - var@0 -> (proj_comp {} (s@1 : T), proj_comp {} (s@3 : test1::List<T>)) ; + var@0 -> (s@1 : T, s@3 : test1::List<T>) ; l -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box<test1::List<T>>; } ; var@2 -> ⊥ : isize ; hd -> ⊥ : T ; @@ -29218,6 +30194,7 @@ proj_comp {} (s@3 : test1::List<T>) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -29239,6 +30216,7 @@ proj_comp {} (s@3 : test1::List<T>) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -29268,6 +30246,7 @@ move var@2 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -29308,6 +30287,7 @@ move var@2 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -29333,6 +30313,7 @@ move var@2 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -29371,6 +30352,7 @@ move var@2 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -29396,6 +30378,7 @@ move var@2 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -29422,6 +30405,7 @@ move var@2 - dest: var@2 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -29463,13 +30447,14 @@ test1::List::Nil ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; l -> ⊥ : test1::List<i32> ; - var@2 -> proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) ; + var@2 -> s@0 : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; hd -> ⊥ : i32 ; tl -> ⊥ : test1::List<i32> ; @@ -29488,13 +30473,14 @@ test1::List::Nil ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; l -> ⊥ : test1::List<i32> ; - var@2 -> proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) ; + var@2 -> s@0 : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; hd -> ⊥ : i32 ; tl -> ⊥ : test1::List<i32> ; @@ -29509,13 +30495,14 @@ test1::List::Nil [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; l -> ⊥ : test1::List<i32> ; - var@2 -> proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) ; + var@2 -> s@0 : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; hd -> ⊥ : i32 ; tl -> ⊥ : test1::List<i32> ; @@ -29550,13 +30537,14 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; l -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; - var@2 -> proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) ; + var@2 -> s@0 : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; hd -> ⊥ : i32 ; tl -> ⊥ : test1::List<i32> ; @@ -29575,13 +30563,14 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; l -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; - var@2 -> proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) ; + var@2 -> s@0 : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; hd -> ⊥ : i32 ; tl -> ⊥ : test1::List<i32> ; @@ -29596,13 +30585,14 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; l -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; - var@2 -> proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) ; + var@2 -> s@0 : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; hd -> ⊥ : i32 ; tl -> ⊥ : test1::List<i32> ; @@ -29618,7 +30608,7 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) move var@2 [[32mDebug[39m] Value to move: -proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) +s@0 : std::boxed::Box<test1::List<i32>> [[32mDebug[39m] **About to evaluate statement**: [ set_discriminant(l, 0); @@ -29635,12 +30625,13 @@ proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - l -> test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>); } ; + l -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; } ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; hd -> ⊥ : i32 ; @@ -29660,12 +30651,13 @@ proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - l -> test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>); } ; + l -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; } ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; hd -> ⊥ : i32 ; @@ -29694,12 +30686,13 @@ proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - l -> test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>); } ; + l -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; } ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; hd -> ⊥ : i32 ; @@ -29719,12 +30712,13 @@ proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - l -> test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>); } ; + l -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; } ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; hd -> ⊥ : i32 ; @@ -29740,12 +30734,13 @@ proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - l -> test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>); } ; + l -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; } ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; hd -> ⊥ : i32 ; @@ -29762,7 +30757,7 @@ proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>) move l [[32mDebug[39m] Value to move: -test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>); } +test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; } [[32mDebug[39m] **About to evaluate statement**: [ var@6 := move split_list<i32>(move var@7); @@ -29777,6 +30772,7 @@ test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::L ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -29788,7 +30784,7 @@ test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::L hd -> ⊥ : i32 ; tl -> ⊥ : test1::List<i32> ; var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>); } ; + var@7 -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; } ; var@8 -> ⊥ : bool ; var@9 -> ⊥ : bool ; var@10 -> ⊥ : i32 ; @@ -29802,6 +30798,7 @@ test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::L ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -29813,7 +30810,7 @@ test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::L hd -> ⊥ : i32 ; tl -> ⊥ : test1::List<i32> ; var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>); } ; + var@7 -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; } ; var@8 -> ⊥ : bool ; var@9 -> ⊥ : bool ; var@10 -> ⊥ : i32 ; @@ -29823,6 +30820,7 @@ test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::L [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -29834,7 +30832,7 @@ test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::L hd -> ⊥ : i32 ; tl -> ⊥ : test1::List<i32> ; var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>); } ; + var@7 -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; } ; var@8 -> ⊥ : bool ; var@9 -> ⊥ : bool ; var@10 -> ⊥ : i32 ; @@ -29845,7 +30843,7 @@ test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::L move var@7 [[32mDebug[39m] Value to move: -test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::List<i32>>); } +test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; } [[32mDebug[39m] **About to evaluate statement**: [ hd := copy (var@6).0; @@ -29859,6 +30857,7 @@ test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::L ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -29869,7 +30868,7 @@ test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::L var@3 -> ⊥ : test1::List<i32> ; hd -> ⊥ : i32 ; tl -> ⊥ : test1::List<i32> ; - var@6 -> proj_comp {} (s@1 : (i32, test1::List<i32>)) ; + var@6 -> s@1 : (i32, test1::List<i32>) ; var@7 -> ⊥ : test1::List<i32> ; var@8 -> ⊥ : bool ; var@9 -> ⊥ : bool ; @@ -29884,6 +30883,7 @@ test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::L ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -29894,7 +30894,7 @@ test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::L var@3 -> ⊥ : test1::List<i32> ; hd -> ⊥ : i32 ; tl -> ⊥ : test1::List<i32> ; - var@6 -> proj_comp {} (s@1 : (i32, test1::List<i32>)) ; + var@6 -> s@1 : (i32, test1::List<i32>) ; var@7 -> ⊥ : test1::List<i32> ; var@8 -> ⊥ : bool ; var@9 -> ⊥ : bool ; @@ -29905,6 +30905,7 @@ test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::L [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -29915,7 +30916,7 @@ test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::L var@3 -> ⊥ : test1::List<i32> ; hd -> ⊥ : i32 ; tl -> ⊥ : test1::List<i32> ; - var@6 -> proj_comp {} (s@1 : (i32, test1::List<i32>)) ; + var@6 -> s@1 : (i32, test1::List<i32>) ; var@7 -> ⊥ : test1::List<i32> ; var@8 -> ⊥ : bool ; var@9 -> ⊥ : bool ; @@ -29927,7 +30928,7 @@ test1::List::Cons { 0 = 0: i32; 1 = proj_comp {} (s@0 : std::boxed::Box<test1::L copy (var@6).0 [[32mDebug[39m] Value to copy: -proj_comp {} (s@2 : i32) +s@2 : i32 [[32mDebug[39m] **About to evaluate statement**: [ tl := move (var@6).1; @@ -29940,6 +30941,7 @@ proj_comp {} (s@2 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -29948,9 +30950,9 @@ proj_comp {} (s@2 : i32) l -> ⊥ : test1::List<i32> ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; - hd -> proj_comp {} (s@2 : i32) ; + hd -> s@2 : i32 ; tl -> ⊥ : test1::List<i32> ; - var@6 -> (proj_comp {} (s@2 : i32), proj_comp {} (s@3 : test1::List<i32>)) ; + var@6 -> (s@2 : i32, s@3 : test1::List<i32>) ; var@7 -> ⊥ : test1::List<i32> ; var@8 -> ⊥ : bool ; var@9 -> ⊥ : bool ; @@ -29965,6 +30967,7 @@ proj_comp {} (s@2 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -29973,9 +30976,9 @@ proj_comp {} (s@2 : i32) l -> ⊥ : test1::List<i32> ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; - hd -> proj_comp {} (s@2 : i32) ; + hd -> s@2 : i32 ; tl -> ⊥ : test1::List<i32> ; - var@6 -> (proj_comp {} (s@2 : i32), proj_comp {} (s@3 : test1::List<i32>)) ; + var@6 -> (s@2 : i32, s@3 : test1::List<i32>) ; var@7 -> ⊥ : test1::List<i32> ; var@8 -> ⊥ : bool ; var@9 -> ⊥ : bool ; @@ -29986,6 +30989,7 @@ proj_comp {} (s@2 : i32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -29994,9 +30998,9 @@ proj_comp {} (s@2 : i32) l -> ⊥ : test1::List<i32> ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; - hd -> proj_comp {} (s@2 : i32) ; + hd -> s@2 : i32 ; tl -> ⊥ : test1::List<i32> ; - var@6 -> (proj_comp {} (s@2 : i32), proj_comp {} (s@3 : test1::List<i32>)) ; + var@6 -> (s@2 : i32, s@3 : test1::List<i32>) ; var@7 -> ⊥ : test1::List<i32> ; var@8 -> ⊥ : bool ; var@9 -> ⊥ : bool ; @@ -30008,7 +31012,7 @@ proj_comp {} (s@2 : i32) move (var@6).1 [[32mDebug[39m] Value to move: -proj_comp {} (s@3 : test1::List<i32>) +s@3 : test1::List<i32> [[32mDebug[39m] **About to evaluate statement**: [ var@10 := copy hd; @@ -30020,6 +31024,7 @@ proj_comp {} (s@3 : test1::List<i32>) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -30028,9 +31033,9 @@ proj_comp {} (s@3 : test1::List<i32>) l -> ⊥ : test1::List<i32> ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; - hd -> proj_comp {} (s@2 : i32) ; - tl -> proj_comp {} (s@3 : test1::List<i32>) ; - var@6 -> (proj_comp {} (s@2 : i32), ⊥ : test1::List<i32>) ; + hd -> s@2 : i32 ; + tl -> s@3 : test1::List<i32> ; + var@6 -> (s@2 : i32, ⊥ : test1::List<i32>) ; var@7 -> ⊥ : test1::List<i32> ; var@8 -> ⊥ : bool ; var@9 -> ⊥ : bool ; @@ -30045,6 +31050,7 @@ proj_comp {} (s@3 : test1::List<i32>) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -30053,9 +31059,9 @@ proj_comp {} (s@3 : test1::List<i32>) l -> ⊥ : test1::List<i32> ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; - hd -> proj_comp {} (s@2 : i32) ; - tl -> proj_comp {} (s@3 : test1::List<i32>) ; - var@6 -> (proj_comp {} (s@2 : i32), ⊥ : test1::List<i32>) ; + hd -> s@2 : i32 ; + tl -> s@3 : test1::List<i32> ; + var@6 -> (s@2 : i32, ⊥ : test1::List<i32>) ; var@7 -> ⊥ : test1::List<i32> ; var@8 -> ⊥ : bool ; var@9 -> ⊥ : bool ; @@ -30066,6 +31072,7 @@ proj_comp {} (s@3 : test1::List<i32>) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -30074,9 +31081,9 @@ proj_comp {} (s@3 : test1::List<i32>) l -> ⊥ : test1::List<i32> ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; - hd -> proj_comp {} (s@2 : i32) ; - tl -> proj_comp {} (s@3 : test1::List<i32>) ; - var@6 -> (proj_comp {} (s@2 : i32), ⊥ : test1::List<i32>) ; + hd -> s@2 : i32 ; + tl -> s@3 : test1::List<i32> ; + var@6 -> (s@2 : i32, ⊥ : test1::List<i32>) ; var@7 -> ⊥ : test1::List<i32> ; var@8 -> ⊥ : bool ; var@9 -> ⊥ : bool ; @@ -30088,7 +31095,7 @@ proj_comp {} (s@3 : test1::List<i32>) copy hd [[32mDebug[39m] Value to copy: -proj_comp {} (s@2 : i32) +s@2 : i32 [[32mDebug[39m] **About to evaluate statement**: [ var@9 := move var@10 == 0: i32; @@ -30099,6 +31106,7 @@ proj_comp {} (s@2 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -30107,13 +31115,13 @@ proj_comp {} (s@2 : i32) l -> ⊥ : test1::List<i32> ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; - hd -> proj_comp {} (s@2 : i32) ; - tl -> proj_comp {} (s@3 : test1::List<i32>) ; - var@6 -> (proj_comp {} (s@2 : i32), ⊥ : test1::List<i32>) ; + hd -> s@2 : i32 ; + tl -> s@3 : test1::List<i32> ; + var@6 -> (s@2 : i32, ⊥ : test1::List<i32>) ; var@7 -> ⊥ : test1::List<i32> ; var@8 -> ⊥ : bool ; var@9 -> ⊥ : bool ; - var@10 -> proj_comp {} (s@2 : i32) ; + var@10 -> s@2 : i32 ; } @@ -30124,6 +31132,7 @@ proj_comp {} (s@2 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -30132,19 +31141,20 @@ proj_comp {} (s@2 : i32) l -> ⊥ : test1::List<i32> ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; - hd -> proj_comp {} (s@2 : i32) ; - tl -> proj_comp {} (s@3 : test1::List<i32>) ; - var@6 -> (proj_comp {} (s@2 : i32), ⊥ : test1::List<i32>) ; + hd -> s@2 : i32 ; + tl -> s@3 : test1::List<i32> ; + var@6 -> (s@2 : i32, ⊥ : test1::List<i32>) ; var@7 -> ⊥ : test1::List<i32> ; var@8 -> ⊥ : bool ; var@9 -> ⊥ : bool ; - var@10 -> proj_comp {} (s@2 : i32) ; + var@10 -> s@2 : i32 ; } [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -30153,13 +31163,13 @@ proj_comp {} (s@2 : i32) l -> ⊥ : test1::List<i32> ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; - hd -> proj_comp {} (s@2 : i32) ; - tl -> proj_comp {} (s@3 : test1::List<i32>) ; - var@6 -> (proj_comp {} (s@2 : i32), ⊥ : test1::List<i32>) ; + hd -> s@2 : i32 ; + tl -> s@3 : test1::List<i32> ; + var@6 -> (s@2 : i32, ⊥ : test1::List<i32>) ; var@7 -> ⊥ : test1::List<i32> ; var@8 -> ⊥ : bool ; var@9 -> ⊥ : bool ; - var@10 -> proj_comp {} (s@2 : i32) ; + var@10 -> s@2 : i32 ; } @@ -30167,9 +31177,10 @@ proj_comp {} (s@2 : i32) move var@10 [[32mDebug[39m] Value to move: -proj_comp {} (s@2 : i32) +s@2 : i32 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -30178,9 +31189,9 @@ proj_comp {} (s@2 : i32) l -> ⊥ : test1::List<i32> ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; - hd -> proj_comp {} (s@2 : i32) ; - tl -> proj_comp {} (s@3 : test1::List<i32>) ; - var@6 -> (proj_comp {} (s@2 : i32), ⊥ : test1::List<i32>) ; + hd -> s@2 : i32 ; + tl -> s@3 : test1::List<i32> ; + var@6 -> (s@2 : i32, ⊥ : test1::List<i32>) ; var@7 -> ⊥ : test1::List<i32> ; var@8 -> ⊥ : bool ; var@9 -> ⊥ : bool ; @@ -30200,6 +31211,7 @@ proj_comp {} (s@2 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -30208,12 +31220,12 @@ proj_comp {} (s@2 : i32) l -> ⊥ : test1::List<i32> ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; - hd -> proj_comp {} (s@2 : i32) ; - tl -> proj_comp {} (s@3 : test1::List<i32>) ; - var@6 -> (proj_comp {} (s@2 : i32), ⊥ : test1::List<i32>) ; + hd -> s@2 : i32 ; + tl -> s@3 : test1::List<i32> ; + var@6 -> (s@2 : i32, ⊥ : test1::List<i32>) ; var@7 -> ⊥ : test1::List<i32> ; var@8 -> ⊥ : bool ; - var@9 -> proj_comp {} (s@4 : bool) ; + var@9 -> s@4 : bool ; var@10 -> ⊥ : i32 ; } @@ -30225,6 +31237,7 @@ proj_comp {} (s@2 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -30233,12 +31246,12 @@ proj_comp {} (s@2 : i32) l -> ⊥ : test1::List<i32> ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; - hd -> proj_comp {} (s@2 : i32) ; - tl -> proj_comp {} (s@3 : test1::List<i32>) ; - var@6 -> (proj_comp {} (s@2 : i32), ⊥ : test1::List<i32>) ; + hd -> s@2 : i32 ; + tl -> s@3 : test1::List<i32> ; + var@6 -> (s@2 : i32, ⊥ : test1::List<i32>) ; var@7 -> ⊥ : test1::List<i32> ; var@8 -> ⊥ : bool ; - var@9 -> proj_comp {} (s@4 : bool) ; + var@9 -> s@4 : bool ; var@10 -> ⊥ : i32 ; } @@ -30246,6 +31259,7 @@ proj_comp {} (s@2 : i32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -30254,12 +31268,12 @@ proj_comp {} (s@2 : i32) l -> ⊥ : test1::List<i32> ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; - hd -> proj_comp {} (s@2 : i32) ; - tl -> proj_comp {} (s@3 : test1::List<i32>) ; - var@6 -> (proj_comp {} (s@2 : i32), ⊥ : test1::List<i32>) ; + hd -> s@2 : i32 ; + tl -> s@3 : test1::List<i32> ; + var@6 -> (s@2 : i32, ⊥ : test1::List<i32>) ; var@7 -> ⊥ : test1::List<i32> ; var@8 -> ⊥ : bool ; - var@9 -> proj_comp {} (s@4 : bool) ; + var@9 -> s@4 : bool ; var@10 -> ⊥ : i32 ; } @@ -30268,7 +31282,7 @@ proj_comp {} (s@2 : i32) move var@9 [[32mDebug[39m] Value to move: -proj_comp {} (s@4 : bool) +s@4 : bool [[32mDebug[39m] **About to evaluate statement**: [ assert(¬move var@8); @@ -30277,6 +31291,7 @@ proj_comp {} (s@4 : bool) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -30285,11 +31300,11 @@ proj_comp {} (s@4 : bool) l -> ⊥ : test1::List<i32> ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; - hd -> proj_comp {} (s@2 : i32) ; - tl -> proj_comp {} (s@3 : test1::List<i32>) ; - var@6 -> (proj_comp {} (s@2 : i32), ⊥ : test1::List<i32>) ; + hd -> s@2 : i32 ; + tl -> s@3 : test1::List<i32> ; + var@6 -> (s@2 : i32, ⊥ : test1::List<i32>) ; var@7 -> ⊥ : test1::List<i32> ; - var@8 -> proj_comp {} (s@5 : bool) ; + var@8 -> s@5 : bool ; var@9 -> ⊥ : bool ; var@10 -> ⊥ : i32 ; } @@ -30302,6 +31317,7 @@ proj_comp {} (s@4 : bool) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -30310,11 +31326,11 @@ proj_comp {} (s@4 : bool) l -> ⊥ : test1::List<i32> ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; - hd -> proj_comp {} (s@2 : i32) ; - tl -> proj_comp {} (s@3 : test1::List<i32>) ; - var@6 -> (proj_comp {} (s@2 : i32), ⊥ : test1::List<i32>) ; + hd -> s@2 : i32 ; + tl -> s@3 : test1::List<i32> ; + var@6 -> (s@2 : i32, ⊥ : test1::List<i32>) ; var@7 -> ⊥ : test1::List<i32> ; - var@8 -> proj_comp {} (s@5 : bool) ; + var@8 -> s@5 : bool ; var@9 -> ⊥ : bool ; var@10 -> ⊥ : i32 ; } @@ -30323,6 +31339,7 @@ proj_comp {} (s@4 : bool) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -30331,9 +31348,9 @@ proj_comp {} (s@4 : bool) l -> ⊥ : test1::List<i32> ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; - hd -> proj_comp {} (s@2 : i32) ; - tl -> proj_comp {} (s@3 : test1::List<i32>) ; - var@6 -> (proj_comp {} (s@2 : i32), ⊥ : test1::List<i32>) ; + hd -> s@2 : i32 ; + tl -> s@3 : test1::List<i32> ; + var@6 -> (s@2 : i32, ⊥ : test1::List<i32>) ; var@7 -> ⊥ : test1::List<i32> ; var@8 -> true ; var@9 -> ⊥ : bool ; @@ -30353,6 +31370,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -30361,9 +31379,9 @@ true l -> ⊥ : test1::List<i32> ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; - hd -> proj_comp {} (s@2 : i32) ; - tl -> proj_comp {} (s@3 : test1::List<i32>) ; - var@6 -> (proj_comp {} (s@2 : i32), ⊥ : test1::List<i32>) ; + hd -> s@2 : i32 ; + tl -> s@3 : test1::List<i32> ; + var@6 -> (s@2 : i32, ⊥ : test1::List<i32>) ; var@7 -> ⊥ : test1::List<i32> ; var@8 -> ⊥ : bool ; var@9 -> ⊥ : bool ; @@ -30378,6 +31396,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -30386,9 +31405,9 @@ true l -> ⊥ : test1::List<i32> ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; - hd -> proj_comp {} (s@2 : i32) ; - tl -> proj_comp {} (s@3 : test1::List<i32>) ; - var@6 -> (proj_comp {} (s@2 : i32), ⊥ : test1::List<i32>) ; + hd -> s@2 : i32 ; + tl -> s@3 : test1::List<i32> ; + var@6 -> (s@2 : i32, ⊥ : test1::List<i32>) ; var@7 -> ⊥ : test1::List<i32> ; var@8 -> ⊥ : bool ; var@9 -> ⊥ : bool ; @@ -30404,6 +31423,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -30412,9 +31432,9 @@ true l -> ⊥ : test1::List<i32> ; var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; var@3 -> ⊥ : test1::List<i32> ; - hd -> proj_comp {} (s@2 : i32) ; + hd -> s@2 : i32 ; tl -> ⊥ : test1::List<i32> ; - var@6 -> (proj_comp {} (s@2 : i32), ⊥ : test1::List<i32>) ; + var@6 -> (s@2 : i32, ⊥ : test1::List<i32>) ; var@7 -> ⊥ : test1::List<i32> ; var@8 -> ⊥ : bool ; var@9 -> ⊥ : bool ; @@ -30437,6 +31457,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -30447,9 +31468,9 @@ true proj_loans (s@2 : &r@0 mut (T)) } var@0 -> ⊥ : &'_ mut (T) ; - b -> proj_comp {} (s@0 : bool) ; - x -> proj_comp {} (s@1 : &r@0 mut (T)) ; - y -> proj_comp {} (s@2 : &r@0 mut (T)) ; + b -> s@0 : bool ; + x -> s@1 : &r@0 mut (T) ; + y -> s@2 : &r@0 mut (T) ; var@4 -> ⊥ : bool ; } @@ -30461,6 +31482,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -30471,9 +31493,9 @@ true proj_loans (s@2 : &r@0 mut (T)) } var@0 -> ⊥ : &'_ mut (T) ; - b -> proj_comp {} (s@0 : bool) ; - x -> proj_comp {} (s@1 : &r@0 mut (T)) ; - y -> proj_comp {} (s@2 : &r@0 mut (T)) ; + b -> s@0 : bool ; + x -> s@1 : &r@0 mut (T) ; + y -> s@2 : &r@0 mut (T) ; var@4 -> ⊥ : bool ; } @@ -30481,6 +31503,7 @@ true [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -30491,9 +31514,9 @@ true proj_loans (s@2 : &r@0 mut (T)) } var@0 -> ⊥ : &'_ mut (T) ; - b -> proj_comp {} (s@0 : bool) ; - x -> proj_comp {} (s@1 : &r@0 mut (T)) ; - y -> proj_comp {} (s@2 : &r@0 mut (T)) ; + b -> s@0 : bool ; + x -> s@1 : &r@0 mut (T) ; + y -> s@2 : &r@0 mut (T) ; var@4 -> ⊥ : bool ; } @@ -30502,7 +31525,7 @@ true copy b [[32mDebug[39m] Value to copy: -proj_comp {} (s@0 : bool) +s@0 : bool [[32mDebug[39m] **About to evaluate statement**: [ if (move var@4) { @@ -30515,6 +31538,7 @@ proj_comp {} (s@0 : bool) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -30525,10 +31549,10 @@ proj_comp {} (s@0 : bool) proj_loans (s@2 : &r@0 mut (T)) } var@0 -> ⊥ : &'_ mut (T) ; - b -> proj_comp {} (s@0 : bool) ; - x -> proj_comp {} (s@1 : &r@0 mut (T)) ; - y -> proj_comp {} (s@2 : &r@0 mut (T)) ; - var@4 -> proj_comp {} (s@0 : bool) ; + b -> s@0 : bool ; + x -> s@1 : &r@0 mut (T) ; + y -> s@2 : &r@0 mut (T) ; + var@4 -> s@0 : bool ; } @@ -30544,6 +31568,7 @@ proj_comp {} (s@0 : bool) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -30554,16 +31579,17 @@ proj_comp {} (s@0 : bool) proj_loans (s@2 : &r@0 mut (T)) } var@0 -> ⊥ : &'_ mut (T) ; - b -> proj_comp {} (s@0 : bool) ; - x -> proj_comp {} (s@1 : &r@0 mut (T)) ; - y -> proj_comp {} (s@2 : &r@0 mut (T)) ; - var@4 -> proj_comp {} (s@0 : bool) ; + b -> s@0 : bool ; + x -> s@1 : &r@0 mut (T) ; + y -> s@2 : &r@0 mut (T) ; + var@4 -> s@0 : bool ; } [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -30575,8 +31601,8 @@ proj_comp {} (s@0 : bool) } var@0 -> ⊥ : &'_ mut (T) ; b -> true ; - x -> proj_comp {} (s@1 : &r@0 mut (T)) ; - y -> proj_comp {} (s@2 : &r@0 mut (T)) ; + x -> s@1 : &r@0 mut (T) ; + y -> s@2 : &r@0 mut (T) ; var@4 -> true ; } @@ -30592,6 +31618,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -30603,8 +31630,8 @@ true } var@0 -> ⊥ : &'_ mut (T) ; b -> true ; - x -> proj_comp {} (s@1 : &r@0 mut (T)) ; - y -> proj_comp {} (s@2 : &r@0 mut (T)) ; + x -> s@1 : &r@0 mut (T) ; + y -> s@2 : &r@0 mut (T) ; var@4 -> ⊥ : bool ; } @@ -30612,6 +31639,7 @@ true [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -30623,8 +31651,8 @@ true } var@0 -> ⊥ : &'_ mut (T) ; b -> false ; - x -> proj_comp {} (s@1 : &r@0 mut (T)) ; - y -> proj_comp {} (s@2 : &r@0 mut (T)) ; + x -> s@1 : &r@0 mut (T) ; + y -> s@2 : &r@0 mut (T) ; var@4 -> false ; } @@ -30640,6 +31668,7 @@ false ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -30651,8 +31680,8 @@ false } var@0 -> ⊥ : &'_ mut (T) ; b -> false ; - x -> proj_comp {} (s@1 : &r@0 mut (T)) ; - y -> proj_comp {} (s@2 : &r@0 mut (T)) ; + x -> s@1 : &r@0 mut (T) ; + y -> s@2 : &r@0 mut (T) ; var@4 -> ⊥ : bool ; } @@ -30660,6 +31689,7 @@ false [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -30671,8 +31701,8 @@ false } var@0 -> ⊥ : &'_ mut (T) ; b -> false ; - x -> proj_comp {} (s@1 : &r@0 mut (T)) ; - y -> proj_comp {} (s@2 : &r@0 mut (T)) ; + x -> s@1 : &r@0 mut (T) ; + y -> s@2 : &r@0 mut (T) ; var@4 -> ⊥ : bool ; } @@ -30681,13 +31711,14 @@ false move y [[32mDebug[39m] Value to move: -proj_comp {} (s@2 : &r@0 mut (T)) +s@2 : &r@0 mut (T) [[32mDebug[39m] **About to evaluate statement**: [ return ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -30697,10 +31728,10 @@ proj_comp {} (s@2 : &r@0 mut (T)) ⌊mut@0, proj_loans (s@3 : T)⌋, proj_loans (s@2 : &r@0 mut (T)) } - var@0 -> &mut@1 (proj_comp {} (s@3 : T)) ; + var@0 -> &mut@1 (s@3 : T) ; b -> true ; x -> &mut@0 (⌊mut@1⌋) ; - y -> proj_comp {} (s@2 : &r@0 mut (T)) ; + y -> s@2 : &r@0 mut (T) ; var@4 -> ⊥ : bool ; } @@ -30712,6 +31743,7 @@ proj_comp {} (s@2 : &r@0 mut (T)) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -30721,9 +31753,9 @@ proj_comp {} (s@2 : &r@0 mut (T)) proj_loans (s@1 : &r@0 mut (T)), proj_loans (s@2 : &r@0 mut (T)) } - var@0 -> proj_comp {} (s@2 : &r@0 mut (T)) ; + var@0 -> s@2 : &r@0 mut (T) ; b -> false ; - x -> proj_comp {} (s@1 : &r@0 mut (T)) ; + x -> s@1 : &r@0 mut (T) ; y -> ⊥ : &'_ mut (T) ; var@4 -> ⊥ : bool ; } @@ -30758,6 +31790,7 @@ proj_comp {} (s@2 : &r@0 mut (T)) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -30791,6 +31824,7 @@ proj_comp {} (s@2 : &r@0 mut (T)) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -30820,6 +31854,7 @@ proj_comp {} (s@2 : &r@0 mut (T)) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -30875,6 +31910,7 @@ proj_comp {} (s@2 : &r@0 mut (T)) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -30908,6 +31944,7 @@ proj_comp {} (s@2 : &r@0 mut (T)) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -30937,6 +31974,7 @@ proj_comp {} (s@2 : &r@0 mut (T)) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -30991,6 +32029,7 @@ proj_comp {} (s@2 : &r@0 mut (T)) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -31024,6 +32063,7 @@ proj_comp {} (s@2 : &r@0 mut (T)) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -31075,6 +32115,7 @@ proj_comp {} (s@2 : &r@0 mut (T)) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -31108,6 +32149,7 @@ proj_comp {} (s@2 : &r@0 mut (T)) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -31158,6 +32200,7 @@ proj_comp {} (s@2 : &r@0 mut (T)) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -31191,6 +32234,7 @@ proj_comp {} (s@2 : &r@0 mut (T)) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -31240,6 +32284,7 @@ proj_comp {} (s@2 : &r@0 mut (T)) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -31273,6 +32318,7 @@ proj_comp {} (s@2 : &r@0 mut (T)) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -31321,6 +32367,7 @@ proj_comp {} (s@2 : &r@0 mut (T)) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -31354,6 +32401,7 @@ proj_comp {} (s@2 : &r@0 mut (T)) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -31383,6 +32431,7 @@ proj_comp {} (s@2 : &r@0 mut (T)) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -31414,6 +32463,7 @@ true [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -31451,6 +32501,7 @@ move var@4 &mut@1 (0: i32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -31506,6 +32557,7 @@ move var@6 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -31513,7 +32565,7 @@ move var@6 var@0 -> ⊥ : () ; x -> ⌊mut@0⌋ ; y -> ⌊mut@2⌋ ; - z -> proj_comp {} (s@0 : &r@0 mut (i32)) ; + z -> s@0 : &r@0 mut (i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> &mut@0 (⌊mut@1⌋) ; var@6 -> ⊥ : &'_ mut (i32) ; @@ -31545,6 +32597,7 @@ move var@6 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -31552,7 +32605,7 @@ move var@6 var@0 -> ⊥ : () ; x -> ⌊mut@0⌋ ; y -> ⌊mut@2⌋ ; - z -> proj_comp {} (s@0 : &r@0 mut (i32)) ; + z -> s@0 : &r@0 mut (i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> &mut@0 (⌊mut@1⌋) ; var@6 -> ⊥ : &'_ mut (i32) ; @@ -31580,6 +32633,7 @@ move var@6 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -31587,7 +32641,7 @@ move var@6 var@0 -> ⊥ : () ; x -> ⌊mut@0⌋ ; y -> ⌊mut@2⌋ ; - z -> proj_comp {} (s@0 : &r@0 mut (i32)) ; + z -> s@0 : &r@0 mut (i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> &mut@0 (⌊mut@1⌋) ; var@6 -> ⊥ : &'_ mut (i32) ; @@ -31616,7 +32670,7 @@ move var@6 copy *(z) [[32mDebug[39m] Value to copy: -proj_comp {} (s@1 : i32) +s@1 : i32 [[32mDebug[39m] **About to evaluate statement**: [ *(z) := copy var@8 + 1: i32; @@ -31636,6 +32690,7 @@ proj_comp {} (s@1 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -31643,12 +32698,12 @@ proj_comp {} (s@1 : i32) var@0 -> ⊥ : () ; x -> ⌊mut@0⌋ ; y -> ⌊mut@2⌋ ; - z -> &mut@4 (proj_comp {} (s@1 : i32)) ; + z -> &mut@4 (s@1 : i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> &mut@0 (⌊mut@1⌋) ; var@6 -> ⊥ : &'_ mut (i32) ; var@7 -> &mut@2 (⌊mut@3⌋) ; - var@8 -> proj_comp {} (s@1 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; @@ -31675,6 +32730,7 @@ proj_comp {} (s@1 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -31682,12 +32738,12 @@ proj_comp {} (s@1 : i32) var@0 -> ⊥ : () ; x -> ⌊mut@0⌋ ; y -> ⌊mut@2⌋ ; - z -> &mut@4 (proj_comp {} (s@1 : i32)) ; + z -> &mut@4 (s@1 : i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> &mut@0 (⌊mut@1⌋) ; var@6 -> ⊥ : &'_ mut (i32) ; var@7 -> &mut@2 (⌊mut@3⌋) ; - var@8 -> proj_comp {} (s@1 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; @@ -31710,6 +32766,7 @@ proj_comp {} (s@1 : i32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -31717,12 +32774,12 @@ proj_comp {} (s@1 : i32) var@0 -> ⊥ : () ; x -> ⌊mut@0⌋ ; y -> ⌊mut@2⌋ ; - z -> &mut@4 (proj_comp {} (s@1 : i32)) ; + z -> &mut@4 (s@1 : i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> &mut@0 (⌊mut@1⌋) ; var@6 -> ⊥ : &'_ mut (i32) ; var@7 -> &mut@2 (⌊mut@3⌋) ; - var@8 -> proj_comp {} (s@1 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; @@ -31746,9 +32803,10 @@ proj_comp {} (s@1 : i32) copy var@8 [[32mDebug[39m] Value to copy: -proj_comp {} (s@1 : i32) +s@1 : i32 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -31756,12 +32814,12 @@ proj_comp {} (s@1 : i32) var@0 -> ⊥ : () ; x -> ⌊mut@0⌋ ; y -> ⌊mut@2⌋ ; - z -> &mut@4 (proj_comp {} (s@1 : i32)) ; + z -> &mut@4 (s@1 : i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> &mut@0 (⌊mut@1⌋) ; var@6 -> ⊥ : &'_ mut (i32) ; var@7 -> &mut@2 (⌊mut@3⌋) ; - var@8 -> proj_comp {} (s@1 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; @@ -31802,6 +32860,7 @@ proj_comp {} (s@1 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -31809,12 +32868,12 @@ proj_comp {} (s@1 : i32) var@0 -> ⊥ : () ; x -> ⌊mut@0⌋ ; y -> ⌊mut@2⌋ ; - z -> &mut@4 (proj_comp {} (s@2 : i32)) ; + z -> &mut@4 (s@2 : i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> &mut@0 (⌊mut@1⌋) ; var@6 -> ⊥ : &'_ mut (i32) ; var@7 -> &mut@2 (⌊mut@3⌋) ; - var@8 -> proj_comp {} (s@1 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; @@ -31841,6 +32900,7 @@ proj_comp {} (s@1 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -31848,12 +32908,12 @@ proj_comp {} (s@1 : i32) var@0 -> ⊥ : () ; x -> ⌊mut@0⌋ ; y -> ⌊mut@2⌋ ; - z -> &mut@4 (proj_comp {} (s@2 : i32)) ; + z -> &mut@4 (s@2 : i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> &mut@0 (⌊mut@1⌋) ; var@6 -> ⊥ : &'_ mut (i32) ; var@7 -> &mut@2 (⌊mut@3⌋) ; - var@8 -> proj_comp {} (s@1 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; @@ -31876,6 +32936,7 @@ proj_comp {} (s@1 : i32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -31883,12 +32944,12 @@ proj_comp {} (s@1 : i32) var@0 -> ⊥ : () ; x -> ⌊mut@0⌋ ; y -> ⌊mut@2⌋ ; - z -> &mut@4 (proj_comp {} (s@2 : i32)) ; + z -> &mut@4 (s@2 : i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> &mut@0 (⌊mut@1⌋) ; var@6 -> ⊥ : &'_ mut (i32) ; var@7 -> &mut@2 (⌊mut@3⌋) ; - var@8 -> proj_comp {} (s@1 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; @@ -31912,7 +32973,7 @@ proj_comp {} (s@1 : i32) copy *(z) [[32mDebug[39m] Value to copy: -proj_comp {} (s@2 : i32) +s@2 : i32 [[32mDebug[39m] **About to evaluate statement**: [ var@11 := move var@12 == 1: i32; @@ -31930,6 +32991,7 @@ proj_comp {} (s@2 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -31937,16 +32999,16 @@ proj_comp {} (s@2 : i32) var@0 -> ⊥ : () ; x -> ⌊mut@0⌋ ; y -> ⌊mut@2⌋ ; - z -> &mut@4 (proj_comp {} (s@2 : i32)) ; + z -> &mut@4 (s@2 : i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> &mut@0 (⌊mut@1⌋) ; var@6 -> ⊥ : &'_ mut (i32) ; var@7 -> &mut@2 (⌊mut@3⌋) ; - var@8 -> proj_comp {} (s@1 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; - var@12 -> proj_comp {} (s@2 : i32) ; + var@12 -> s@2 : i32 ; var@13 -> ⊥ : bool ; var@14 -> ⊥ : bool ; var@15 -> ⊥ : i32 ; @@ -31969,6 +33031,7 @@ proj_comp {} (s@2 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -31976,16 +33039,16 @@ proj_comp {} (s@2 : i32) var@0 -> ⊥ : () ; x -> ⌊mut@0⌋ ; y -> ⌊mut@2⌋ ; - z -> &mut@4 (proj_comp {} (s@2 : i32)) ; + z -> &mut@4 (s@2 : i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> &mut@0 (⌊mut@1⌋) ; var@6 -> ⊥ : &'_ mut (i32) ; var@7 -> &mut@2 (⌊mut@3⌋) ; - var@8 -> proj_comp {} (s@1 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; - var@12 -> proj_comp {} (s@2 : i32) ; + var@12 -> s@2 : i32 ; var@13 -> ⊥ : bool ; var@14 -> ⊥ : bool ; var@15 -> ⊥ : i32 ; @@ -32004,6 +33067,7 @@ proj_comp {} (s@2 : i32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -32011,16 +33075,16 @@ proj_comp {} (s@2 : i32) var@0 -> ⊥ : () ; x -> ⌊mut@0⌋ ; y -> ⌊mut@2⌋ ; - z -> &mut@4 (proj_comp {} (s@2 : i32)) ; + z -> &mut@4 (s@2 : i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> &mut@0 (⌊mut@1⌋) ; var@6 -> ⊥ : &'_ mut (i32) ; var@7 -> &mut@2 (⌊mut@3⌋) ; - var@8 -> proj_comp {} (s@1 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; - var@12 -> proj_comp {} (s@2 : i32) ; + var@12 -> s@2 : i32 ; var@13 -> ⊥ : bool ; var@14 -> ⊥ : bool ; var@15 -> ⊥ : i32 ; @@ -32040,9 +33104,10 @@ proj_comp {} (s@2 : i32) move var@12 [[32mDebug[39m] Value to move: -proj_comp {} (s@2 : i32) +s@2 : i32 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -32050,12 +33115,12 @@ proj_comp {} (s@2 : i32) var@0 -> ⊥ : () ; x -> ⌊mut@0⌋ ; y -> ⌊mut@2⌋ ; - z -> &mut@4 (proj_comp {} (s@2 : i32)) ; + z -> &mut@4 (s@2 : i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> &mut@0 (⌊mut@1⌋) ; var@6 -> ⊥ : &'_ mut (i32) ; var@7 -> &mut@2 (⌊mut@3⌋) ; - var@8 -> proj_comp {} (s@1 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; @@ -32094,6 +33159,7 @@ proj_comp {} (s@2 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -32101,15 +33167,15 @@ proj_comp {} (s@2 : i32) var@0 -> ⊥ : () ; x -> ⌊mut@0⌋ ; y -> ⌊mut@2⌋ ; - z -> &mut@4 (proj_comp {} (s@2 : i32)) ; + z -> &mut@4 (s@2 : i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> &mut@0 (⌊mut@1⌋) ; var@6 -> ⊥ : &'_ mut (i32) ; var@7 -> &mut@2 (⌊mut@3⌋) ; - var@8 -> proj_comp {} (s@1 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; var@10 -> ⊥ : bool ; - var@11 -> proj_comp {} (s@3 : bool) ; + var@11 -> s@3 : bool ; var@12 -> ⊥ : i32 ; var@13 -> ⊥ : bool ; var@14 -> ⊥ : bool ; @@ -32133,6 +33199,7 @@ proj_comp {} (s@2 : i32) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -32140,15 +33207,15 @@ proj_comp {} (s@2 : i32) var@0 -> ⊥ : () ; x -> ⌊mut@0⌋ ; y -> ⌊mut@2⌋ ; - z -> &mut@4 (proj_comp {} (s@2 : i32)) ; + z -> &mut@4 (s@2 : i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> &mut@0 (⌊mut@1⌋) ; var@6 -> ⊥ : &'_ mut (i32) ; var@7 -> &mut@2 (⌊mut@3⌋) ; - var@8 -> proj_comp {} (s@1 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; var@10 -> ⊥ : bool ; - var@11 -> proj_comp {} (s@3 : bool) ; + var@11 -> s@3 : bool ; var@12 -> ⊥ : i32 ; var@13 -> ⊥ : bool ; var@14 -> ⊥ : bool ; @@ -32168,6 +33235,7 @@ proj_comp {} (s@2 : i32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -32175,15 +33243,15 @@ proj_comp {} (s@2 : i32) var@0 -> ⊥ : () ; x -> ⌊mut@0⌋ ; y -> ⌊mut@2⌋ ; - z -> &mut@4 (proj_comp {} (s@2 : i32)) ; + z -> &mut@4 (s@2 : i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> &mut@0 (⌊mut@1⌋) ; var@6 -> ⊥ : &'_ mut (i32) ; var@7 -> &mut@2 (⌊mut@3⌋) ; - var@8 -> proj_comp {} (s@1 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; var@10 -> ⊥ : bool ; - var@11 -> proj_comp {} (s@3 : bool) ; + var@11 -> s@3 : bool ; var@12 -> ⊥ : i32 ; var@13 -> ⊥ : bool ; var@14 -> ⊥ : bool ; @@ -32204,7 +33272,7 @@ proj_comp {} (s@2 : i32) move var@11 [[32mDebug[39m] Value to move: -proj_comp {} (s@3 : bool) +s@3 : bool [[32mDebug[39m] **About to evaluate statement**: [ assert(¬move var@10); @@ -32220,6 +33288,7 @@ proj_comp {} (s@3 : bool) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -32227,14 +33296,14 @@ proj_comp {} (s@3 : bool) var@0 -> ⊥ : () ; x -> ⌊mut@0⌋ ; y -> ⌊mut@2⌋ ; - z -> &mut@4 (proj_comp {} (s@2 : i32)) ; + z -> &mut@4 (s@2 : i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> &mut@0 (⌊mut@1⌋) ; var@6 -> ⊥ : &'_ mut (i32) ; var@7 -> &mut@2 (⌊mut@3⌋) ; - var@8 -> proj_comp {} (s@1 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; - var@10 -> proj_comp {} (s@4 : bool) ; + var@10 -> s@4 : bool ; var@11 -> ⊥ : bool ; var@12 -> ⊥ : i32 ; var@13 -> ⊥ : bool ; @@ -32259,6 +33328,7 @@ proj_comp {} (s@3 : bool) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -32266,14 +33336,14 @@ proj_comp {} (s@3 : bool) var@0 -> ⊥ : () ; x -> ⌊mut@0⌋ ; y -> ⌊mut@2⌋ ; - z -> &mut@4 (proj_comp {} (s@2 : i32)) ; + z -> &mut@4 (s@2 : i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> &mut@0 (⌊mut@1⌋) ; var@6 -> ⊥ : &'_ mut (i32) ; var@7 -> &mut@2 (⌊mut@3⌋) ; - var@8 -> proj_comp {} (s@1 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; - var@10 -> proj_comp {} (s@4 : bool) ; + var@10 -> s@4 : bool ; var@11 -> ⊥ : bool ; var@12 -> ⊥ : i32 ; var@13 -> ⊥ : bool ; @@ -32294,6 +33364,7 @@ proj_comp {} (s@3 : bool) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -32301,12 +33372,12 @@ proj_comp {} (s@3 : bool) var@0 -> ⊥ : () ; x -> ⌊mut@0⌋ ; y -> ⌊mut@2⌋ ; - z -> &mut@4 (proj_comp {} (s@2 : i32)) ; + z -> &mut@4 (s@2 : i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> &mut@0 (⌊mut@1⌋) ; var@6 -> ⊥ : &'_ mut (i32) ; var@7 -> &mut@2 (⌊mut@3⌋) ; - var@8 -> proj_comp {} (s@1 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; var@10 -> true ; var@11 -> ⊥ : bool ; @@ -32345,6 +33416,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -32352,12 +33424,12 @@ true var@0 -> ⊥ : () ; x -> ⌊mut@0⌋ ; y -> ⌊mut@2⌋ ; - z -> &mut@4 (proj_comp {} (s@2 : i32)) ; + z -> &mut@4 (s@2 : i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> &mut@0 (⌊mut@1⌋) ; var@6 -> ⊥ : &'_ mut (i32) ; var@7 -> &mut@2 (⌊mut@3⌋) ; - var@8 -> proj_comp {} (s@1 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; @@ -32384,6 +33456,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -32391,12 +33464,12 @@ true var@0 -> ⊥ : () ; x -> ⌊mut@0⌋ ; y -> ⌊mut@2⌋ ; - z -> &mut@4 (proj_comp {} (s@2 : i32)) ; + z -> &mut@4 (s@2 : i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> &mut@0 (⌊mut@1⌋) ; var@6 -> ⊥ : &'_ mut (i32) ; var@7 -> &mut@2 (⌊mut@3⌋) ; - var@8 -> proj_comp {} (s@1 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; @@ -32419,6 +33492,7 @@ true [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -32426,12 +33500,12 @@ true var@0 -> ⊥ : () ; x -> ⌊mut@0⌋ ; y -> ⌊mut@2⌋ ; - z -> &mut@4 (proj_comp {} (s@2 : i32)) ; + z -> &mut@4 (s@2 : i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> &mut@0 (⌊mut@1⌋) ; var@6 -> ⊥ : &'_ mut (i32) ; var@7 -> &mut@2 (⌊mut@3⌋) ; - var@8 -> proj_comp {} (s@1 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; @@ -32455,7 +33529,7 @@ true copy x [[32mDebug[39m] Value to copy: -proj_comp {0} (s@5 : i32) +s@5 : i32 [[32mDebug[39m] **About to evaluate statement**: [ var@14 := move var@15 == 1: i32; @@ -32469,26 +33543,27 @@ proj_comp {0} (s@5 : i32) ] **Context**: +# Ended regions: {0} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {0} (s@5 : i32) ; + x -> s@5 : i32 ; y -> ⌊mut@2⌋ ; z -> ⊥ : &'_ mut (i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> ⊥ : &'_ mut (i32) ; var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (proj_comp {0} (s@6 : i32)) ; - var@8 -> proj_comp {0} (s@1 : i32) ; + var@7 -> &mut@2 (s@6 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; var@12 -> ⊥ : i32 ; var@13 -> ⊥ : bool ; var@14 -> ⊥ : bool ; - var@15 -> proj_comp {0} (s@5 : i32) ; + var@15 -> s@5 : i32 ; var@16 -> ⊥ : bool ; var@17 -> ⊥ : bool ; var@18 -> ⊥ : i32 ; @@ -32502,26 +33577,27 @@ proj_comp {0} (s@5 : i32) ] **Context**: +# Ended regions: {0} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {0} (s@5 : i32) ; + x -> s@5 : i32 ; y -> ⌊mut@2⌋ ; z -> ⊥ : &'_ mut (i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> ⊥ : &'_ mut (i32) ; var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (proj_comp {0} (s@6 : i32)) ; - var@8 -> proj_comp {0} (s@1 : i32) ; + var@7 -> &mut@2 (s@6 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; var@12 -> ⊥ : i32 ; var@13 -> ⊥ : bool ; var@14 -> ⊥ : bool ; - var@15 -> proj_comp {0} (s@5 : i32) ; + var@15 -> s@5 : i32 ; var@16 -> ⊥ : bool ; var@17 -> ⊥ : bool ; var@18 -> ⊥ : i32 ; @@ -32531,26 +33607,27 @@ proj_comp {0} (s@5 : i32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {0} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {0} (s@5 : i32) ; + x -> s@5 : i32 ; y -> ⌊mut@2⌋ ; z -> ⊥ : &'_ mut (i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> ⊥ : &'_ mut (i32) ; var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (proj_comp {0} (s@6 : i32)) ; - var@8 -> proj_comp {0} (s@1 : i32) ; + var@7 -> &mut@2 (s@6 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; var@12 -> ⊥ : i32 ; var@13 -> ⊥ : bool ; var@14 -> ⊥ : bool ; - var@15 -> proj_comp {0} (s@5 : i32) ; + var@15 -> s@5 : i32 ; var@16 -> ⊥ : bool ; var@17 -> ⊥ : bool ; var@18 -> ⊥ : i32 ; @@ -32561,22 +33638,23 @@ proj_comp {0} (s@5 : i32) move var@15 [[32mDebug[39m] Value to move: -proj_comp {0} (s@5 : i32) +s@5 : i32 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {0} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {0} (s@5 : i32) ; + x -> s@5 : i32 ; y -> ⌊mut@2⌋ ; z -> ⊥ : &'_ mut (i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> ⊥ : &'_ mut (i32) ; var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (proj_comp {0} (s@6 : i32)) ; - var@8 -> proj_comp {0} (s@1 : i32) ; + var@7 -> &mut@2 (s@6 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; @@ -32605,25 +33683,26 @@ proj_comp {0} (s@5 : i32) ] **Context**: +# Ended regions: {0} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {0} (s@5 : i32) ; + x -> s@5 : i32 ; y -> ⌊mut@2⌋ ; z -> ⊥ : &'_ mut (i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> ⊥ : &'_ mut (i32) ; var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (proj_comp {0} (s@6 : i32)) ; - var@8 -> proj_comp {0} (s@1 : i32) ; + var@7 -> &mut@2 (s@6 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; var@12 -> ⊥ : i32 ; var@13 -> ⊥ : bool ; - var@14 -> proj_comp {} (s@7 : bool) ; + var@14 -> s@7 : bool ; var@15 -> ⊥ : i32 ; var@16 -> ⊥ : bool ; var@17 -> ⊥ : bool ; @@ -32638,25 +33717,26 @@ proj_comp {0} (s@5 : i32) ] **Context**: +# Ended regions: {0} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {0} (s@5 : i32) ; + x -> s@5 : i32 ; y -> ⌊mut@2⌋ ; z -> ⊥ : &'_ mut (i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> ⊥ : &'_ mut (i32) ; var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (proj_comp {0} (s@6 : i32)) ; - var@8 -> proj_comp {0} (s@1 : i32) ; + var@7 -> &mut@2 (s@6 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; var@12 -> ⊥ : i32 ; var@13 -> ⊥ : bool ; - var@14 -> proj_comp {} (s@7 : bool) ; + var@14 -> s@7 : bool ; var@15 -> ⊥ : i32 ; var@16 -> ⊥ : bool ; var@17 -> ⊥ : bool ; @@ -32667,25 +33747,26 @@ proj_comp {0} (s@5 : i32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {0} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {0} (s@5 : i32) ; + x -> s@5 : i32 ; y -> ⌊mut@2⌋ ; z -> ⊥ : &'_ mut (i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> ⊥ : &'_ mut (i32) ; var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (proj_comp {0} (s@6 : i32)) ; - var@8 -> proj_comp {0} (s@1 : i32) ; + var@7 -> &mut@2 (s@6 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; var@12 -> ⊥ : i32 ; var@13 -> ⊥ : bool ; - var@14 -> proj_comp {} (s@7 : bool) ; + var@14 -> s@7 : bool ; var@15 -> ⊥ : i32 ; var@16 -> ⊥ : bool ; var@17 -> ⊥ : bool ; @@ -32697,7 +33778,7 @@ proj_comp {0} (s@5 : i32) move var@14 [[32mDebug[39m] Value to move: -proj_comp {} (s@7 : bool) +s@7 : bool [[32mDebug[39m] **About to evaluate statement**: [ assert(¬move var@13); @@ -32709,24 +33790,25 @@ proj_comp {} (s@7 : bool) ] **Context**: +# Ended regions: {0} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {0} (s@5 : i32) ; + x -> s@5 : i32 ; y -> ⌊mut@2⌋ ; z -> ⊥ : &'_ mut (i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> ⊥ : &'_ mut (i32) ; var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (proj_comp {0} (s@6 : i32)) ; - var@8 -> proj_comp {0} (s@1 : i32) ; + var@7 -> &mut@2 (s@6 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; var@12 -> ⊥ : i32 ; - var@13 -> proj_comp {} (s@8 : bool) ; + var@13 -> s@8 : bool ; var@14 -> ⊥ : bool ; var@15 -> ⊥ : i32 ; var@16 -> ⊥ : bool ; @@ -32742,24 +33824,25 @@ proj_comp {} (s@7 : bool) ] **Context**: +# Ended regions: {0} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {0} (s@5 : i32) ; + x -> s@5 : i32 ; y -> ⌊mut@2⌋ ; z -> ⊥ : &'_ mut (i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> ⊥ : &'_ mut (i32) ; var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (proj_comp {0} (s@6 : i32)) ; - var@8 -> proj_comp {0} (s@1 : i32) ; + var@7 -> &mut@2 (s@6 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; var@12 -> ⊥ : i32 ; - var@13 -> proj_comp {} (s@8 : bool) ; + var@13 -> s@8 : bool ; var@14 -> ⊥ : bool ; var@15 -> ⊥ : i32 ; var@16 -> ⊥ : bool ; @@ -32771,19 +33854,20 @@ proj_comp {} (s@7 : bool) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {0} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {0} (s@5 : i32) ; + x -> s@5 : i32 ; y -> ⌊mut@2⌋ ; z -> ⊥ : &'_ mut (i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> ⊥ : &'_ mut (i32) ; var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (proj_comp {0} (s@6 : i32)) ; - var@8 -> proj_comp {0} (s@1 : i32) ; + var@7 -> &mut@2 (s@6 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; @@ -32812,19 +33896,20 @@ true ] **Context**: +# Ended regions: {0} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {0} (s@5 : i32) ; + x -> s@5 : i32 ; y -> ⌊mut@2⌋ ; z -> ⊥ : &'_ mut (i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> ⊥ : &'_ mut (i32) ; var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (proj_comp {0} (s@6 : i32)) ; - var@8 -> proj_comp {0} (s@1 : i32) ; + var@7 -> &mut@2 (s@6 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; @@ -32845,19 +33930,20 @@ true ] **Context**: +# Ended regions: {0} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {0} (s@5 : i32) ; + x -> s@5 : i32 ; y -> ⌊mut@2⌋ ; z -> ⊥ : &'_ mut (i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> ⊥ : &'_ mut (i32) ; var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (proj_comp {0} (s@6 : i32)) ; - var@8 -> proj_comp {0} (s@1 : i32) ; + var@7 -> &mut@2 (s@6 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; @@ -32874,19 +33960,20 @@ true [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {0} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {0} (s@5 : i32) ; + x -> s@5 : i32 ; y -> ⌊mut@2⌋ ; z -> ⊥ : &'_ mut (i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> ⊥ : &'_ mut (i32) ; var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (proj_comp {0} (s@6 : i32)) ; - var@8 -> proj_comp {0} (s@1 : i32) ; + var@7 -> &mut@2 (s@6 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; @@ -32904,7 +33991,7 @@ true copy y [[32mDebug[39m] Value to copy: -proj_comp {0} (s@6 : i32) +s@6 : i32 [[32mDebug[39m] **About to evaluate statement**: [ var@17 := move var@18 == 0: i32; @@ -32914,19 +34001,20 @@ proj_comp {0} (s@6 : i32) ] **Context**: +# Ended regions: {0} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {0} (s@5 : i32) ; - y -> proj_comp {0} (s@6 : i32) ; + x -> s@5 : i32 ; + y -> s@6 : i32 ; z -> ⊥ : &'_ mut (i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> ⊥ : &'_ mut (i32) ; var@6 -> ⊥ : &'_ mut (i32) ; var@7 -> ⊥ : &'_ mut (i32) ; - var@8 -> proj_comp {0} (s@1 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; @@ -32936,7 +34024,7 @@ proj_comp {0} (s@6 : i32) var@15 -> ⊥ : i32 ; var@16 -> ⊥ : bool ; var@17 -> ⊥ : bool ; - var@18 -> proj_comp {0} (s@6 : i32) ; + var@18 -> s@6 : i32 ; } @@ -32947,19 +34035,20 @@ proj_comp {0} (s@6 : i32) ] **Context**: +# Ended regions: {0} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {0} (s@5 : i32) ; - y -> proj_comp {0} (s@6 : i32) ; + x -> s@5 : i32 ; + y -> s@6 : i32 ; z -> ⊥ : &'_ mut (i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> ⊥ : &'_ mut (i32) ; var@6 -> ⊥ : &'_ mut (i32) ; var@7 -> ⊥ : &'_ mut (i32) ; - var@8 -> proj_comp {0} (s@1 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; @@ -32969,26 +34058,27 @@ proj_comp {0} (s@6 : i32) var@15 -> ⊥ : i32 ; var@16 -> ⊥ : bool ; var@17 -> ⊥ : bool ; - var@18 -> proj_comp {0} (s@6 : i32) ; + var@18 -> s@6 : i32 ; } [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {0} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {0} (s@5 : i32) ; - y -> proj_comp {0} (s@6 : i32) ; + x -> s@5 : i32 ; + y -> s@6 : i32 ; z -> ⊥ : &'_ mut (i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> ⊥ : &'_ mut (i32) ; var@6 -> ⊥ : &'_ mut (i32) ; var@7 -> ⊥ : &'_ mut (i32) ; - var@8 -> proj_comp {0} (s@1 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; @@ -32998,7 +34088,7 @@ proj_comp {0} (s@6 : i32) var@15 -> ⊥ : i32 ; var@16 -> ⊥ : bool ; var@17 -> ⊥ : bool ; - var@18 -> proj_comp {0} (s@6 : i32) ; + var@18 -> s@6 : i32 ; } @@ -33006,22 +34096,23 @@ proj_comp {0} (s@6 : i32) move var@18 [[32mDebug[39m] Value to move: -proj_comp {0} (s@6 : i32) +s@6 : i32 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {0} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {0} (s@5 : i32) ; - y -> proj_comp {0} (s@6 : i32) ; + x -> s@5 : i32 ; + y -> s@6 : i32 ; z -> ⊥ : &'_ mut (i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> ⊥ : &'_ mut (i32) ; var@6 -> ⊥ : &'_ mut (i32) ; var@7 -> ⊥ : &'_ mut (i32) ; - var@8 -> proj_comp {0} (s@1 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; @@ -33046,19 +34137,20 @@ proj_comp {0} (s@6 : i32) ] **Context**: +# Ended regions: {0} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {0} (s@5 : i32) ; - y -> proj_comp {0} (s@6 : i32) ; + x -> s@5 : i32 ; + y -> s@6 : i32 ; z -> ⊥ : &'_ mut (i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> ⊥ : &'_ mut (i32) ; var@6 -> ⊥ : &'_ mut (i32) ; var@7 -> ⊥ : &'_ mut (i32) ; - var@8 -> proj_comp {0} (s@1 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; @@ -33067,7 +34159,7 @@ proj_comp {0} (s@6 : i32) var@14 -> ⊥ : bool ; var@15 -> ⊥ : i32 ; var@16 -> ⊥ : bool ; - var@17 -> proj_comp {} (s@9 : bool) ; + var@17 -> s@9 : bool ; var@18 -> ⊥ : i32 ; } @@ -33079,19 +34171,20 @@ proj_comp {0} (s@6 : i32) ] **Context**: +# Ended regions: {0} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {0} (s@5 : i32) ; - y -> proj_comp {0} (s@6 : i32) ; + x -> s@5 : i32 ; + y -> s@6 : i32 ; z -> ⊥ : &'_ mut (i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> ⊥ : &'_ mut (i32) ; var@6 -> ⊥ : &'_ mut (i32) ; var@7 -> ⊥ : &'_ mut (i32) ; - var@8 -> proj_comp {0} (s@1 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; @@ -33100,7 +34193,7 @@ proj_comp {0} (s@6 : i32) var@14 -> ⊥ : bool ; var@15 -> ⊥ : i32 ; var@16 -> ⊥ : bool ; - var@17 -> proj_comp {} (s@9 : bool) ; + var@17 -> s@9 : bool ; var@18 -> ⊥ : i32 ; } @@ -33108,19 +34201,20 @@ proj_comp {0} (s@6 : i32) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {0} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {0} (s@5 : i32) ; - y -> proj_comp {0} (s@6 : i32) ; + x -> s@5 : i32 ; + y -> s@6 : i32 ; z -> ⊥ : &'_ mut (i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> ⊥ : &'_ mut (i32) ; var@6 -> ⊥ : &'_ mut (i32) ; var@7 -> ⊥ : &'_ mut (i32) ; - var@8 -> proj_comp {0} (s@1 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; @@ -33129,7 +34223,7 @@ proj_comp {0} (s@6 : i32) var@14 -> ⊥ : bool ; var@15 -> ⊥ : i32 ; var@16 -> ⊥ : bool ; - var@17 -> proj_comp {} (s@9 : bool) ; + var@17 -> s@9 : bool ; var@18 -> ⊥ : i32 ; } @@ -33138,7 +34232,7 @@ proj_comp {0} (s@6 : i32) move var@17 [[32mDebug[39m] Value to move: -proj_comp {} (s@9 : bool) +s@9 : bool [[32mDebug[39m] **About to evaluate statement**: [ assert(¬move var@16); @@ -33146,19 +34240,20 @@ proj_comp {} (s@9 : bool) ] **Context**: +# Ended regions: {0} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {0} (s@5 : i32) ; - y -> proj_comp {0} (s@6 : i32) ; + x -> s@5 : i32 ; + y -> s@6 : i32 ; z -> ⊥ : &'_ mut (i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> ⊥ : &'_ mut (i32) ; var@6 -> ⊥ : &'_ mut (i32) ; var@7 -> ⊥ : &'_ mut (i32) ; - var@8 -> proj_comp {0} (s@1 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; @@ -33166,7 +34261,7 @@ proj_comp {} (s@9 : bool) var@13 -> ⊥ : bool ; var@14 -> ⊥ : bool ; var@15 -> ⊥ : i32 ; - var@16 -> proj_comp {} (s@10 : bool) ; + var@16 -> s@10 : bool ; var@17 -> ⊥ : bool ; var@18 -> ⊥ : i32 ; } @@ -33179,19 +34274,20 @@ proj_comp {} (s@9 : bool) ] **Context**: +# Ended regions: {0} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {0} (s@5 : i32) ; - y -> proj_comp {0} (s@6 : i32) ; + x -> s@5 : i32 ; + y -> s@6 : i32 ; z -> ⊥ : &'_ mut (i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> ⊥ : &'_ mut (i32) ; var@6 -> ⊥ : &'_ mut (i32) ; var@7 -> ⊥ : &'_ mut (i32) ; - var@8 -> proj_comp {0} (s@1 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; @@ -33199,7 +34295,7 @@ proj_comp {} (s@9 : bool) var@13 -> ⊥ : bool ; var@14 -> ⊥ : bool ; var@15 -> ⊥ : i32 ; - var@16 -> proj_comp {} (s@10 : bool) ; + var@16 -> s@10 : bool ; var@17 -> ⊥ : bool ; var@18 -> ⊥ : i32 ; } @@ -33208,19 +34304,20 @@ proj_comp {} (s@9 : bool) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {0} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {0} (s@5 : i32) ; - y -> proj_comp {0} (s@6 : i32) ; + x -> s@5 : i32 ; + y -> s@6 : i32 ; z -> ⊥ : &'_ mut (i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> ⊥ : &'_ mut (i32) ; var@6 -> ⊥ : &'_ mut (i32) ; var@7 -> ⊥ : &'_ mut (i32) ; - var@8 -> proj_comp {0} (s@1 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; @@ -33245,19 +34342,20 @@ true ] **Context**: +# Ended regions: {0} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : () ; - x -> proj_comp {0} (s@5 : i32) ; - y -> proj_comp {0} (s@6 : i32) ; + x -> s@5 : i32 ; + y -> s@6 : i32 ; z -> ⊥ : &'_ mut (i32) ; var@4 -> ⊥ : &'_ mut (i32) ; var@5 -> ⊥ : &'_ mut (i32) ; var@6 -> ⊥ : &'_ mut (i32) ; var@7 -> ⊥ : &'_ mut (i32) ; - var@8 -> proj_comp {0} (s@1 : i32) ; + var@8 -> s@1 : i32 ; var@9 -> ⊥ : (i32, bool) ; var@10 -> ⊥ : bool ; var@11 -> ⊥ : bool ; @@ -33281,6 +34379,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -33292,7 +34391,7 @@ true proj_loans (s@0 : &r@0 mut (&r@1 mut (T))) } var@0 -> ⊥ : &'_ mut (&'_ mut (T)) ; - x -> proj_comp {} (s@0 : &r@0 mut (&r@1 mut (T))) ; + x -> s@0 : &r@0 mut (&r@1 mut (T)) ; var@2 -> ⊥ : &'_ mut (&'_ mut (T)) ; } @@ -33304,6 +34403,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -33315,7 +34415,7 @@ true proj_loans (s@0 : &r@0 mut (&r@1 mut (T))) } var@0 -> ⊥ : &'_ mut (&'_ mut (T)) ; - x -> proj_comp {} (s@0 : &r@0 mut (&r@1 mut (T))) ; + x -> s@0 : &r@0 mut (&r@1 mut (T)) ; var@2 -> ⊥ : &'_ mut (&'_ mut (T)) ; } @@ -33328,6 +34428,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -33340,7 +34441,7 @@ true } var@0 -> ⊥ : &'_ mut (&'_ mut (T)) ; x -> &mut@0 (⌊mut@1⌋) ; - var@2 -> &mut@1 (proj_comp {} (s@1 : &r@1 mut (T))) ; + var@2 -> &mut@1 (s@1 : &r@1 mut (T)) ; } @@ -33351,6 +34452,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -33363,7 +34465,7 @@ true } var@0 -> ⊥ : &'_ mut (&'_ mut (T)) ; x -> &mut@0 (⌊mut@1⌋) ; - var@2 -> &mut@1 (proj_comp {} (s@1 : &r@1 mut (T))) ; + var@2 -> &mut@1 (s@1 : &r@1 mut (T)) ; } @@ -33374,6 +34476,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -33384,7 +34487,7 @@ true abs@1{parents={0}}{regions={1}} { @ignored_mut_loan(0, proj_loans (s@1 : &r@1 mut (T))) } - var@0 -> &mut@2 (proj_comp {} (s@1 : &r@1 mut (T))) ; + var@0 -> &mut@2 (s@1 : &r@1 mut (T)) ; x -> &mut@0 (⌊mut@1⌋) ; var@2 -> &mut@1 (⌊mut@2⌋) ; } @@ -33400,6 +34503,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -33408,7 +34512,7 @@ true proj_loans (s@0 : &r@0 mut ((&r@0 mut (T), u32))) } var@0 -> ⊥ : &'_ mut ((&'_ mut (T), u32)) ; - x -> proj_comp {} (s@0 : &r@0 mut ((&r@0 mut (T), u32))) ; + x -> s@0 : &r@0 mut ((&r@0 mut (T), u32)) ; var@2 -> ⊥ : &'_ mut ((&'_ mut (T), u32)) ; } @@ -33420,6 +34524,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -33428,7 +34533,7 @@ true proj_loans (s@0 : &r@0 mut ((&r@0 mut (T), u32))) } var@0 -> ⊥ : &'_ mut ((&'_ mut (T), u32)) ; - x -> proj_comp {} (s@0 : &r@0 mut ((&r@0 mut (T), u32))) ; + x -> s@0 : &r@0 mut ((&r@0 mut (T), u32)) ; var@2 -> ⊥ : &'_ mut ((&'_ mut (T), u32)) ; } @@ -33441,6 +34546,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -33450,7 +34556,7 @@ true } var@0 -> ⊥ : &'_ mut ((&'_ mut (T), u32)) ; x -> &mut@0 (⌊mut@1⌋) ; - var@2 -> &mut@1 (proj_comp {} (s@1 : (&r@0 mut (T), u32))) ; + var@2 -> &mut@1 (s@1 : (&r@0 mut (T), u32)) ; } @@ -33461,6 +34567,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -33470,7 +34577,7 @@ true } var@0 -> ⊥ : &'_ mut ((&'_ mut (T), u32)) ; x -> &mut@0 (⌊mut@1⌋) ; - var@2 -> &mut@1 (proj_comp {} (s@1 : (&r@0 mut (T), u32))) ; + var@2 -> &mut@1 (s@1 : (&r@0 mut (T), u32)) ; } @@ -33481,6 +34588,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -33488,7 +34596,7 @@ true abs@0{parents={}}{regions={0}} { ⌊mut@0, proj_loans (s@1 : (&r@0 mut (T), u32))⌋ } - var@0 -> &mut@2 (proj_comp {} (s@1 : (&r@0 mut (T), u32))) ; + var@0 -> &mut@2 (s@1 : (&r@0 mut (T), u32)) ; x -> &mut@0 (⌊mut@1⌋) ; var@2 -> &mut@1 (⌊mut@2⌋) ; } @@ -33515,6 +34623,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -33540,6 +34649,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -33561,6 +34671,7 @@ true [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -33600,6 +34711,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -33625,6 +34737,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -33661,6 +34774,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -33686,6 +34800,7 @@ true ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -33707,6 +34822,7 @@ true [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -33746,6 +34862,7 @@ move px ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -33771,6 +34888,7 @@ move px ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -33792,6 +34910,7 @@ move px [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -33836,6 +34955,7 @@ ty: (Types.Adt (Types.Tuple, [], ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -33861,6 +34981,7 @@ ty: (Types.Adt (Types.Tuple, [], ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -33882,6 +35003,7 @@ ty: (Types.Adt (Types.Tuple, [], [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -33917,6 +35039,7 @@ ty: (Types.Adt (Types.Tuple, [], ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -33942,6 +35065,7 @@ ty: (Types.Adt (Types.Tuple, [], ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -33974,6 +35098,7 @@ ty: (Types.Adt (Types.Tuple, [], ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -33999,6 +35124,7 @@ ty: (Types.Adt (Types.Tuple, [], ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -34030,6 +35156,7 @@ ty: (Types.Adt (Types.Tuple, [], ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -34055,6 +35182,7 @@ ty: (Types.Adt (Types.Tuple, [], ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -34076,6 +35204,7 @@ ty: (Types.Adt (Types.Tuple, [], [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -34137,6 +35266,7 @@ move var@7 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -34147,7 +35277,7 @@ move var@7 p -> ⌊mut@1⌋ ; var@4 -> ⊥ : &'_ mut (u32) ; pp0 -> &mut@1 (⌊mut@2⌋) ; - pp1 -> proj_comp {} (s@0 : &r@0 mut ((&r@0 mut (u32), u32))) ; + pp1 -> s@0 : &r@0 mut ((&r@0 mut (u32), u32)) ; var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; y -> ⊥ : u32 ; var@9 -> ⊥ : &'_ mut (u32) ; @@ -34166,6 +35296,7 @@ move var@7 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -34176,7 +35307,7 @@ move var@7 p -> ⌊mut@1⌋ ; var@4 -> ⊥ : &'_ mut (u32) ; pp0 -> &mut@1 (⌊mut@2⌋) ; - pp1 -> proj_comp {} (s@0 : &r@0 mut ((&r@0 mut (u32), u32))) ; + pp1 -> s@0 : &r@0 mut ((&r@0 mut (u32), u32)) ; var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; y -> ⊥ : u32 ; var@9 -> ⊥ : &'_ mut (u32) ; @@ -34191,6 +35322,7 @@ move var@7 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -34201,7 +35333,7 @@ move var@7 p -> ⌊mut@1⌋ ; var@4 -> ⊥ : &'_ mut (u32) ; pp0 -> &mut@1 (⌊mut@2⌋) ; - pp1 -> proj_comp {} (s@0 : &r@0 mut ((&r@0 mut (u32), u32))) ; + pp1 -> s@0 : &r@0 mut ((&r@0 mut (u32), u32)) ; var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; y -> ⊥ : u32 ; var@9 -> ⊥ : &'_ mut (u32) ; @@ -34226,6 +35358,7 @@ move var@7 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -34236,7 +35369,7 @@ move var@7 p -> ⌊mut@1⌋ ; var@4 -> ⊥ : &'_ mut (u32) ; pp0 -> &mut@1 (⌊mut@2⌋) ; - pp1 -> proj_comp {} (s@0 : &r@0 mut ((&r@0 mut (u32), u32))) ; + pp1 -> s@0 : &r@0 mut ((&r@0 mut (u32), u32)) ; var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; y -> 2: u32 ; var@9 -> ⊥ : &'_ mut (u32) ; @@ -34255,6 +35388,7 @@ move var@7 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -34265,7 +35399,7 @@ move var@7 p -> ⌊mut@1⌋ ; var@4 -> ⊥ : &'_ mut (u32) ; pp0 -> &mut@1 (⌊mut@2⌋) ; - pp1 -> proj_comp {} (s@0 : &r@0 mut ((&r@0 mut (u32), u32))) ; + pp1 -> s@0 : &r@0 mut ((&r@0 mut (u32), u32)) ; var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; y -> 2: u32 ; var@9 -> ⊥ : &'_ mut (u32) ; @@ -34287,6 +35421,7 @@ move var@7 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -34297,7 +35432,7 @@ move var@7 p -> ⌊mut@1⌋ ; var@4 -> ⊥ : &'_ mut (u32) ; pp0 -> &mut@1 (⌊mut@2⌋) ; - pp1 -> proj_comp {} (s@0 : &r@0 mut ((&r@0 mut (u32), u32))) ; + pp1 -> s@0 : &r@0 mut ((&r@0 mut (u32), u32)) ; var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; y -> ⌊mut@3⌋ ; var@9 -> ⊥ : &'_ mut (u32) ; @@ -34316,6 +35451,7 @@ move var@7 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -34326,7 +35462,7 @@ move var@7 p -> ⌊mut@1⌋ ; var@4 -> ⊥ : &'_ mut (u32) ; pp0 -> &mut@1 (⌊mut@2⌋) ; - pp1 -> proj_comp {} (s@0 : &r@0 mut ((&r@0 mut (u32), u32))) ; + pp1 -> s@0 : &r@0 mut ((&r@0 mut (u32), u32)) ; var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; y -> ⌊mut@3⌋ ; var@9 -> ⊥ : &'_ mut (u32) ; @@ -34347,6 +35483,7 @@ move var@7 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -34357,7 +35494,7 @@ move var@7 p -> ⌊mut@1⌋ ; var@4 -> ⊥ : &'_ mut (u32) ; pp0 -> &mut@1 (⌊mut@2⌋) ; - pp1 -> proj_comp {} (s@0 : &r@0 mut ((&r@0 mut (u32), u32))) ; + pp1 -> s@0 : &r@0 mut ((&r@0 mut (u32), u32)) ; var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; y -> ⌊mut@3⌋ ; var@9 -> &mut@4 (2: u32) ; @@ -34376,6 +35513,7 @@ move var@7 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -34386,7 +35524,7 @@ move var@7 p -> ⌊mut@1⌋ ; var@4 -> ⊥ : &'_ mut (u32) ; pp0 -> &mut@1 (⌊mut@2⌋) ; - pp1 -> proj_comp {} (s@0 : &r@0 mut ((&r@0 mut (u32), u32))) ; + pp1 -> s@0 : &r@0 mut ((&r@0 mut (u32), u32)) ; var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; y -> ⌊mut@3⌋ ; var@9 -> &mut@4 (2: u32) ; @@ -34401,6 +35539,7 @@ move var@7 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -34411,7 +35550,7 @@ move var@7 p -> ⌊mut@1⌋ ; var@4 -> ⊥ : &'_ mut (u32) ; pp0 -> &mut@1 (⌊mut@2⌋) ; - pp1 -> proj_comp {} (s@0 : &r@0 mut ((&r@0 mut (u32), u32))) ; + pp1 -> s@0 : &r@0 mut ((&r@0 mut (u32), u32)) ; var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; y -> ⌊mut@3⌋ ; var@9 -> &mut@4 (2: u32) ; @@ -34435,6 +35574,7 @@ move var@9 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -34445,7 +35585,7 @@ move var@9 p -> ⌊mut@1⌋ ; var@4 -> ⊥ : &'_ mut (u32) ; pp0 -> &mut@1 (⌊mut@2⌋) ; - pp1 -> &mut@5 ((&mut@4 (2: u32), proj_comp {} (s@3 : u32))) ; + pp1 -> &mut@5 ((&mut@4 (2: u32), s@3 : u32)) ; var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; y -> ⌊mut@3⌋ ; var@9 -> ⊥ : &'_ mut (u32) ; @@ -34464,6 +35604,7 @@ move var@9 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -34474,7 +35615,7 @@ move var@9 p -> ⌊mut@1⌋ ; var@4 -> ⊥ : &'_ mut (u32) ; pp0 -> &mut@1 (⌊mut@2⌋) ; - pp1 -> &mut@5 ((&mut@4 (2: u32), proj_comp {} (s@3 : u32))) ; + pp1 -> &mut@5 ((&mut@4 (2: u32), s@3 : u32)) ; var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; y -> ⌊mut@3⌋ ; var@9 -> ⊥ : &'_ mut (u32) ; @@ -34489,6 +35630,7 @@ move var@9 [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -34499,7 +35641,7 @@ move var@9 p -> ⌊mut@1⌋ ; var@4 -> ⊥ : &'_ mut (u32) ; pp0 -> &mut@1 (⌊mut@2⌋) ; - pp1 -> &mut@5 ((&mut@4 (2: u32), proj_comp {} (s@3 : u32))) ; + pp1 -> &mut@5 ((&mut@4 (2: u32), s@3 : u32)) ; var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; y -> ⌊mut@3⌋ ; var@9 -> ⊥ : &'_ mut (u32) ; @@ -34520,6 +35662,7 @@ move var@9 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -34552,6 +35695,7 @@ move var@9 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -34560,7 +35704,7 @@ move var@9 proj_loans (s@0 : &r@0 mut (&r@0 mut ((&r@0 mut (T), u32)))) } var@0 -> ⊥ : &'_ mut (&'_ mut ((&'_ mut (T), u32))) ; - x -> proj_comp {} (s@0 : &r@0 mut (&r@0 mut ((&r@0 mut (T), u32)))) ; + x -> s@0 : &r@0 mut (&r@0 mut ((&r@0 mut (T), u32))) ; var@2 -> ⊥ : &'_ mut (&'_ mut ((&'_ mut (T), u32))) ; } @@ -34572,6 +35716,7 @@ move var@9 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -34580,7 +35725,7 @@ move var@9 proj_loans (s@0 : &r@0 mut (&r@0 mut ((&r@0 mut (T), u32)))) } var@0 -> ⊥ : &'_ mut (&'_ mut ((&'_ mut (T), u32))) ; - x -> proj_comp {} (s@0 : &r@0 mut (&r@0 mut ((&r@0 mut (T), u32)))) ; + x -> s@0 : &r@0 mut (&r@0 mut ((&r@0 mut (T), u32))) ; var@2 -> ⊥ : &'_ mut (&'_ mut ((&'_ mut (T), u32))) ; } @@ -34593,6 +35738,7 @@ move var@9 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -34602,7 +35748,7 @@ move var@9 } var@0 -> ⊥ : &'_ mut (&'_ mut ((&'_ mut (T), u32))) ; x -> &mut@0 (⌊mut@1⌋) ; - var@2 -> &mut@1 (proj_comp {} (s@1 : &r@0 mut ((&r@0 mut (T), u32)))) ; + var@2 -> &mut@1 (s@1 : &r@0 mut ((&r@0 mut (T), u32))) ; } @@ -34613,6 +35759,7 @@ move var@9 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -34622,7 +35769,7 @@ move var@9 } var@0 -> ⊥ : &'_ mut (&'_ mut ((&'_ mut (T), u32))) ; x -> &mut@0 (⌊mut@1⌋) ; - var@2 -> &mut@1 (proj_comp {} (s@1 : &r@0 mut ((&r@0 mut (T), u32)))) ; + var@2 -> &mut@1 (s@1 : &r@0 mut ((&r@0 mut (T), u32))) ; } @@ -34633,6 +35780,7 @@ move var@9 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -34640,7 +35788,7 @@ move var@9 abs@0{parents={}}{regions={0}} { ⌊mut@0, proj_loans (s@1 : &r@0 mut ((&r@0 mut (T), u32)))⌋ } - var@0 -> &mut@2 (proj_comp {} (s@1 : &r@0 mut ((&r@0 mut (T), u32)))) ; + var@0 -> &mut@2 (s@1 : &r@0 mut ((&r@0 mut (T), u32))) ; x -> &mut@0 (⌊mut@1⌋) ; var@2 -> &mut@1 (⌊mut@2⌋) ; } @@ -34656,6 +35804,7 @@ move var@9 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -34664,7 +35813,7 @@ move var@9 proj_loans (s@0 : &r@0 mut (&r@0 mut (&r@0 mut (u32)))) } var@0 -> ⊥ : &'_ mut (&'_ mut (&'_ mut (u32))) ; - x -> proj_comp {} (s@0 : &r@0 mut (&r@0 mut (&r@0 mut (u32)))) ; + x -> s@0 : &r@0 mut (&r@0 mut (&r@0 mut (u32))) ; var@2 -> ⊥ : &'_ mut (&'_ mut (&'_ mut (u32))) ; } @@ -34676,6 +35825,7 @@ move var@9 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -34684,7 +35834,7 @@ move var@9 proj_loans (s@0 : &r@0 mut (&r@0 mut (&r@0 mut (u32)))) } var@0 -> ⊥ : &'_ mut (&'_ mut (&'_ mut (u32))) ; - x -> proj_comp {} (s@0 : &r@0 mut (&r@0 mut (&r@0 mut (u32)))) ; + x -> s@0 : &r@0 mut (&r@0 mut (&r@0 mut (u32))) ; var@2 -> ⊥ : &'_ mut (&'_ mut (&'_ mut (u32))) ; } @@ -34697,6 +35847,7 @@ move var@9 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -34706,7 +35857,7 @@ move var@9 } var@0 -> ⊥ : &'_ mut (&'_ mut (&'_ mut (u32))) ; x -> &mut@0 (⌊mut@1⌋) ; - var@2 -> &mut@1 (proj_comp {} (s@1 : &r@0 mut (&r@0 mut (u32)))) ; + var@2 -> &mut@1 (s@1 : &r@0 mut (&r@0 mut (u32))) ; } @@ -34717,6 +35868,7 @@ move var@9 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -34726,7 +35878,7 @@ move var@9 } var@0 -> ⊥ : &'_ mut (&'_ mut (&'_ mut (u32))) ; x -> &mut@0 (⌊mut@1⌋) ; - var@2 -> &mut@1 (proj_comp {} (s@1 : &r@0 mut (&r@0 mut (u32)))) ; + var@2 -> &mut@1 (s@1 : &r@0 mut (&r@0 mut (u32))) ; } @@ -34737,6 +35889,7 @@ move var@9 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -34744,7 +35897,7 @@ move var@9 abs@0{parents={}}{regions={0}} { ⌊mut@0, proj_loans (s@1 : &r@0 mut (&r@0 mut (u32)))⌋ } - var@0 -> &mut@2 (proj_comp {} (s@1 : &r@0 mut (&r@0 mut (u32)))) ; + var@0 -> &mut@2 (s@1 : &r@0 mut (&r@0 mut (u32))) ; x -> &mut@0 (⌊mut@1⌋) ; var@2 -> &mut@1 (⌊mut@2⌋) ; } @@ -34758,6 +35911,7 @@ move var@9 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -34771,8 +35925,8 @@ move var@9 proj_loans (s@1 : &r@0 (&r@0 mut (u32))) } var@0 -> ⊥ : () ; - _x -> proj_comp {} (s@0 : &r@0 mut (&r@1 (u32))) ; - _y -> proj_comp {} (s@1 : &r@0 (&r@0 mut (u32))) ; + _x -> s@0 : &r@0 mut (&r@1 (u32)) ; + _y -> s@1 : &r@0 (&r@0 mut (u32)) ; } @@ -34785,12 +35939,13 @@ move var@9 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : &'_ (u32) ; - x -> proj_comp {} (s@0 : &'static (u32)) ; + x -> s@0 : &'static (u32) ; } @@ -34801,24 +35956,26 @@ move var@9 ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : &'_ (u32) ; - x -> proj_comp {} (s@0 : &'static (u32)) ; + x -> s@0 : &'static (u32) ; } [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: { var@0 -> ⊥ : &'_ (u32) ; - x -> proj_comp {} (s@0 : &'static (u32)) ; + x -> s@0 : &'static (u32) ; } @@ -34826,19 +35983,20 @@ move var@9 copy x [[32mDebug[39m] Value to copy: -proj_comp {} (s@0 : &'static (u32)) +s@0 : &'static (u32) [[32mDebug[39m] **About to evaluate statement**: [ return ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: { - var@0 -> proj_comp {} (s@0 : &'static (u32)) ; - x -> proj_comp {} (s@0 : &'static (u32)) ; + var@0 -> s@0 : &'static (u32) ; + x -> s@0 : &'static (u32) ; } @@ -34851,6 +36009,7 @@ proj_comp {} (s@0 : &'static (u32)) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -34866,6 +36025,7 @@ proj_comp {} (s@0 : &'static (u32)) ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -34877,6 +36037,7 @@ proj_comp {} (s@0 : &'static (u32)) [[32mDebug[39m] eval_operand: - ctx: +# Ended regions: {} # 1 frame(s) # Frame 0: @@ -34894,6 +36055,7 @@ a ] **Context**: +# Ended regions: {} # 1 frame(s) # Frame 0: |