diff options
-rw-r--r-- | tests/trace_reference.txt | 153804 |
1 files changed, 114636 insertions, 39168 deletions
diff --git a/tests/trace_reference.txt b/tests/trace_reference.txt index 46015011..3e0483f8 100644 --- a/tests/trace_reference.txt +++ b/tests/trace_reference.txt @@ -1015,6 +1015,42 @@ fn id_mut_mut_test2() { return } +fn id_mut_mut_test3() { + var@0 : (); + x : i32; + px : &'_ mut (i32); + ppx : &'_ mut (&'_ mut (i32)); + ppy : &'_ mut (&'_ mut (i32)); + var@5 : &'_ mut (&'_ mut (i32)); + ppz : &'_ mut (&'_ mut (i32)); + var@7 : &'_ mut (&'_ mut (i32)); + var@8 : bool; + var@9 : bool; + var@10 : i32; + var@11 : bool; + var@12 : bool; + var@13 : i32; + + x := 0: i32; + px := &mut x; + ppx := &mut px; + var@5 := &two-phase *(ppx); + ppy := move id_mut_mut<i32>(move var@5); + *(*(ppy)) := 1: i32; + var@7 := &two-phase *(ppy); + ppz := move id_mut_mut<i32>(move var@7); + *(*(ppz)) := 2: i32; + var@10 := copy *(px); + var@9 := move var@10 == 2: i32; + var@8 := ¬ move var@9; + assert(¬move var@8); + var@13 := copy x; + var@12 := move var@13 == 2: i32; + var@11 := ¬ move var@12; + assert(¬move var@11); + return +} + [[32mDebug[39m] test_unit_function: test2 [[32mDebug[39m] **About to evaluate statement**: [ @@ -1039,17 +1075,17 @@ fn id_mut_mut_test2() { # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - y -> ⊥ : u32 ; - z -> ⊥ : u32 ; - p -> ⊥ : test1::Pair<u32, u32> ; - var@5 -> ⊥ : u32 ; - s -> ⊥ : test1::Sum<u32, bool> ; - o -> ⊥ : test1::One<u64> ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (p) -> ⊥ : test1::Pair<u32, u32> ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> ⊥ : test1::Sum<u32, bool> ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } @@ -1065,21 +1101,45 @@ fn id_mut_mut_test2() { # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - y -> ⊥ : u32 ; - z -> ⊥ : u32 ; - p -> ⊥ : test1::Pair<u32, u32> ; - var@5 -> ⊥ : u32 ; - s -> ⊥ : test1::Sum<u32, bool> ; - o -> ⊥ : test1::One<u64> ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (p) -> ⊥ : test1::Pair<u32, u32> ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> ⊥ : test1::Sum<u32, bool> ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (p) -> ⊥ : test1::Pair<u32, u32> ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> ⊥ : test1::Sum<u32, bool> ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; +} + + +- op: +23: u32 + [[32mDebug[39m] **About to evaluate statement**: [ y := 44: u32; @@ -1102,17 +1162,17 @@ fn id_mut_mut_test2() { # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> ⊥ : u32 ; - z -> ⊥ : u32 ; - p -> ⊥ : test1::Pair<u32, u32> ; - var@5 -> ⊥ : u32 ; - s -> ⊥ : test1::Sum<u32, bool> ; - o -> ⊥ : test1::One<u64> ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (p) -> ⊥ : test1::Pair<u32, u32> ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> ⊥ : test1::Sum<u32, bool> ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } @@ -1128,21 +1188,45 @@ fn id_mut_mut_test2() { # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> ⊥ : u32 ; - z -> ⊥ : u32 ; - p -> ⊥ : test1::Pair<u32, u32> ; - var@5 -> ⊥ : u32 ; - s -> ⊥ : test1::Sum<u32, bool> ; - o -> ⊥ : test1::One<u64> ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (p) -> ⊥ : test1::Pair<u32, u32> ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> ⊥ : test1::Sum<u32, bool> ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (p) -> ⊥ : test1::Pair<u32, u32> ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> ⊥ : test1::Sum<u32, bool> ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; +} + + +- op: +44: u32 + [[32mDebug[39m] **About to evaluate statement**: [ z := 67: u32; @@ -1164,17 +1248,17 @@ fn id_mut_mut_test2() { # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> 44: u32 ; - z -> ⊥ : u32 ; - p -> ⊥ : test1::Pair<u32, u32> ; - var@5 -> ⊥ : u32 ; - s -> ⊥ : test1::Sum<u32, bool> ; - o -> ⊥ : test1::One<u64> ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> ⊥ : u32 ; + Some (p) -> ⊥ : test1::Pair<u32, u32> ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> ⊥ : test1::Sum<u32, bool> ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } @@ -1190,21 +1274,45 @@ fn id_mut_mut_test2() { # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> 44: u32 ; - z -> ⊥ : u32 ; - p -> ⊥ : test1::Pair<u32, u32> ; - var@5 -> ⊥ : u32 ; - s -> ⊥ : test1::Sum<u32, bool> ; - o -> ⊥ : test1::One<u64> ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> ⊥ : u32 ; + Some (p) -> ⊥ : test1::Pair<u32, u32> ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> ⊥ : test1::Sum<u32, bool> ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> ⊥ : u32 ; + Some (p) -> ⊥ : test1::Pair<u32, u32> ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> ⊥ : test1::Sum<u32, bool> ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; +} + + +- op: +67: u32 + [[32mDebug[39m] **About to evaluate statement**: [ var@5 := copy x; @@ -1225,17 +1333,17 @@ fn id_mut_mut_test2() { # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> 44: u32 ; - z -> 67: u32 ; - p -> ⊥ : test1::Pair<u32, u32> ; - var@5 -> ⊥ : u32 ; - s -> ⊥ : test1::Sum<u32, bool> ; - o -> ⊥ : test1::One<u64> ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> ⊥ : test1::Pair<u32, u32> ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> ⊥ : test1::Sum<u32, bool> ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } @@ -1251,21 +1359,45 @@ fn id_mut_mut_test2() { # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> 44: u32 ; - z -> 67: u32 ; - p -> ⊥ : test1::Pair<u32, u32> ; - var@5 -> ⊥ : u32 ; - s -> ⊥ : test1::Sum<u32, bool> ; - o -> ⊥ : test1::One<u64> ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> ⊥ : test1::Pair<u32, u32> ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> ⊥ : test1::Sum<u32, bool> ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> ⊥ : test1::Pair<u32, u32> ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> ⊥ : test1::Sum<u32, bool> ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; +} + + +- op: +copy x + [[32mDebug[39m] **About to evaluate statement**: [ (p).x := move var@5; @@ -1285,17 +1417,17 @@ fn id_mut_mut_test2() { # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> 44: u32 ; - z -> 67: u32 ; - p -> ⊥ : test1::Pair<u32, u32> ; - var@5 -> 23: u32 ; - s -> ⊥ : test1::Sum<u32, bool> ; - o -> ⊥ : test1::One<u64> ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> ⊥ : test1::Pair<u32, u32> ; + Some (var@5) -> 23: u32 ; + Some (s) -> ⊥ : test1::Sum<u32, bool> ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } @@ -1311,21 +1443,45 @@ fn id_mut_mut_test2() { # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> 44: u32 ; - z -> 67: u32 ; - p -> ⊥ : test1::Pair<u32, u32> ; - var@5 -> 23: u32 ; - s -> ⊥ : test1::Sum<u32, bool> ; - o -> ⊥ : test1::One<u64> ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> ⊥ : test1::Pair<u32, u32> ; + Some (var@5) -> 23: u32 ; + Some (s) -> ⊥ : test1::Sum<u32, bool> ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> ⊥ : test1::Pair<u32, u32> ; + Some (var@5) -> 23: u32 ; + Some (s) -> ⊥ : test1::Sum<u32, bool> ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; +} + + +- op: +move var@5 + [[32mDebug[39m] expand_bottom_value_from_projection: pe: (Expressions.Field ((Expressions.ProjAdt (0, None)), 0)) ty: (Types.Adt ((Types.AdtId 0), [], @@ -1348,17 +1504,17 @@ ty: (Types.Adt ((Types.AdtId 0), [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> 44: u32 ; - z -> 67: u32 ; - p -> test1::Pair { x = 23: u32; y = ⊥ : u32; } ; - var@5 -> ⊥ : u32 ; - s -> ⊥ : test1::Sum<u32, bool> ; - o -> ⊥ : test1::One<u64> ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> test1::Pair { x = 23: u32; y = ⊥ : u32; } ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> ⊥ : test1::Sum<u32, bool> ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } @@ -1374,21 +1530,45 @@ ty: (Types.Adt ((Types.AdtId 0), [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> 44: u32 ; - z -> 67: u32 ; - p -> test1::Pair { x = 23: u32; y = ⊥ : u32; } ; - var@5 -> ⊥ : u32 ; - s -> ⊥ : test1::Sum<u32, bool> ; - o -> ⊥ : test1::One<u64> ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> test1::Pair { x = 23: u32; y = ⊥ : u32; } ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> ⊥ : test1::Sum<u32, bool> ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> test1::Pair { x = 23: u32; y = ⊥ : u32; } ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> ⊥ : test1::Sum<u32, bool> ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; +} + + +- op: +67: u32 + [[32mDebug[39m] **About to evaluate statement**: [ (s as test1::Sum::Right).0 := true; @@ -1406,17 +1586,17 @@ ty: (Types.Adt ((Types.AdtId 0), [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> 44: u32 ; - z -> 67: u32 ; - p -> test1::Pair { x = 23: u32; y = 67: u32; } ; - var@5 -> ⊥ : u32 ; - s -> ⊥ : test1::Sum<u32, bool> ; - o -> ⊥ : test1::One<u64> ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> ⊥ : test1::Sum<u32, bool> ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } @@ -1432,20 +1612,44 @@ ty: (Types.Adt ((Types.AdtId 0), [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> 44: u32 ; - z -> 67: u32 ; - p -> test1::Pair { x = 23: u32; y = 67: u32; } ; - var@5 -> ⊥ : u32 ; - s -> ⊥ : test1::Sum<u32, bool> ; - o -> ⊥ : test1::One<u64> ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> ⊥ : test1::Sum<u32, bool> ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> ⊥ : test1::Sum<u32, bool> ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } +- op: +true [[32mDebug[39m] expand_bottom_value_from_projection: pe: (Expressions.Field ((Expressions.ProjAdt (6, (Some 1))), 0)) @@ -1466,17 +1670,17 @@ ty: (Types.Adt ((Types.AdtId 6), [], [(Types.Integer Types.U32); Types.Bool])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> 44: u32 ; - z -> 67: u32 ; - p -> test1::Pair { x = 23: u32; y = 67: u32; } ; - var@5 -> ⊥ : u32 ; - s -> test1::Sum::Right { 0 = true; } ; - o -> ⊥ : test1::One<u64> ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> test1::Sum::Right { 0 = true; } ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } @@ -1492,17 +1696,17 @@ ty: (Types.Adt ((Types.AdtId 6), [], [(Types.Integer Types.U32); Types.Bool])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> 44: u32 ; - z -> 67: u32 ; - p -> test1::Pair { x = 23: u32; y = 67: u32; } ; - var@5 -> ⊥ : u32 ; - s -> test1::Sum::Right { 0 = true; } ; - o -> ⊥ : test1::One<u64> ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> test1::Sum::Right { 0 = true; } ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } @@ -1522,17 +1726,17 @@ ty: (Types.Adt ((Types.AdtId 6), [], [(Types.Integer Types.U32); Types.Bool])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> 44: u32 ; - z -> 67: u32 ; - p -> test1::Pair { x = 23: u32; y = 67: u32; } ; - var@5 -> ⊥ : u32 ; - s -> test1::Sum::Right { 0 = true; } ; - o -> ⊥ : test1::One<u64> ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> test1::Sum::Right { 0 = true; } ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } @@ -1548,20 +1752,44 @@ ty: (Types.Adt ((Types.AdtId 6), [], [(Types.Integer Types.U32); Types.Bool])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> 44: u32 ; - z -> 67: u32 ; - p -> test1::Pair { x = 23: u32; y = 67: u32; } ; - var@5 -> ⊥ : u32 ; - s -> test1::Sum::Right { 0 = true; } ; - o -> ⊥ : test1::One<u64> ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> test1::Sum::Right { 0 = true; } ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> test1::Sum::Right { 0 = true; } ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } +- op: +3: u64 [[32mDebug[39m] expand_bottom_value_from_projection: pe: (Expressions.Field ((Expressions.ProjAdt (2, (Some 0))), 0)) @@ -1580,17 +1808,17 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> 44: u32 ; - z -> 67: u32 ; - p -> test1::Pair { x = 23: u32; y = 67: u32; } ; - var@5 -> ⊥ : u32 ; - s -> test1::Sum::Right { 0 = true; } ; - o -> test1::One::One { 0 = 3: u64; } ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> test1::Sum::Right { 0 = true; } ; + Some (o) -> test1::One::One { 0 = 3: u64; } ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } @@ -1606,17 +1834,17 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> 44: u32 ; - z -> 67: u32 ; - p -> test1::Pair { x = 23: u32; y = 67: u32; } ; - var@5 -> ⊥ : u32 ; - s -> test1::Sum::Right { 0 = true; } ; - o -> test1::One::One { 0 = 3: u64; } ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> test1::Sum::Right { 0 = true; } ; + Some (o) -> test1::One::One { 0 = 3: u64; } ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } @@ -1634,17 +1862,17 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> 44: u32 ; - z -> 67: u32 ; - p -> test1::Pair { x = 23: u32; y = 67: u32; } ; - var@5 -> ⊥ : u32 ; - s -> test1::Sum::Right { 0 = true; } ; - o -> test1::One::One { 0 = 3: u64; } ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> test1::Sum::Right { 0 = true; } ; + Some (o) -> test1::One::One { 0 = 3: u64; } ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } @@ -1660,17 +1888,17 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> 44: u32 ; - z -> 67: u32 ; - p -> test1::Pair { x = 23: u32; y = 67: u32; } ; - var@5 -> ⊥ : u32 ; - s -> test1::Sum::Right { 0 = true; } ; - o -> test1::One::One { 0 = 3: u64; } ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> test1::Sum::Right { 0 = true; } ; + Some (o) -> test1::One::One { 0 = 3: u64; } ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } @@ -1687,17 +1915,17 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> 44: u32 ; - z -> 67: u32 ; - p -> test1::Pair { x = 23: u32; y = 67: u32; } ; - var@5 -> ⊥ : u32 ; - s -> test1::Sum::Right { 0 = true; } ; - o -> test1::One::One { 0 = 3: u64; } ; - e0 -> test1::EmptyEnum::Empty ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> test1::Sum::Right { 0 = true; } ; + Some (o) -> test1::One::One { 0 = 3: u64; } ; + Some (e0) -> test1::EmptyEnum::Empty ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } @@ -1713,17 +1941,17 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> 44: u32 ; - z -> 67: u32 ; - p -> test1::Pair { x = 23: u32; y = 67: u32; } ; - var@5 -> ⊥ : u32 ; - s -> test1::Sum::Right { 0 = true; } ; - o -> test1::One::One { 0 = 3: u64; } ; - e0 -> test1::EmptyEnum::Empty ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> test1::Sum::Right { 0 = true; } ; + Some (o) -> test1::One::One { 0 = 3: u64; } ; + Some (e0) -> test1::EmptyEnum::Empty ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } @@ -1739,17 +1967,17 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> 44: u32 ; - z -> 67: u32 ; - p -> test1::Pair { x = 23: u32; y = 67: u32; } ; - var@5 -> ⊥ : u32 ; - s -> test1::Sum::Right { 0 = true; } ; - o -> test1::One::One { 0 = 3: u64; } ; - e0 -> test1::EmptyEnum::Empty ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> test1::Enum::Variant1 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> test1::Sum::Right { 0 = true; } ; + Some (o) -> test1::One::One { 0 = 3: u64; } ; + Some (e0) -> test1::EmptyEnum::Empty ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> test1::Enum::Variant1 ; } @@ -1775,16 +2003,16 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - y -> ⊥ : u32 ; - z -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; } @@ -1800,20 +2028,66 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - y -> ⊥ : u32 ; - z -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; +} + + +- op: +4: u32 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; +} + + +- op: +3: u32 + [[32mDebug[39m] **About to evaluate statement**: [ var@4 := copy x; @@ -1834,26 +2108,26 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - y -> ⊥ : u32 ; - z -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; } # Frame 1: { - var@0 -> ⊥ : u32 ; - x -> 4: u32 ; - y -> 3: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> 4: u32 ; + Some (y) -> 3: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; } @@ -1869,29 +2143,62 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - y -> ⊥ : u32 ; - z -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; +} + +# Frame 1: +{ + Some (var@0) -> ⊥ : u32 ; + Some (x) -> 4: u32 ; + Some (y) -> 3: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; } # Frame 1: { - var@0 -> ⊥ : u32 ; - x -> 4: u32 ; - y -> 3: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> 4: u32 ; + Some (y) -> 3: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; } +- op: +copy x [[32mDebug[39m] **About to evaluate statement**: [ @@ -1912,26 +2219,26 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - y -> ⊥ : u32 ; - z -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; } # Frame 1: { - var@0 -> ⊥ : u32 ; - x -> 4: u32 ; - y -> 3: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 4: u32 ; - var@5 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> 4: u32 ; + Some (y) -> 3: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 4: u32 ; + Some (var@5) -> ⊥ : u32 ; } @@ -1947,30 +2254,63 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - y -> ⊥ : u32 ; - z -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; } # Frame 1: { - var@0 -> ⊥ : u32 ; - x -> 4: u32 ; - y -> 3: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 4: u32 ; - var@5 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> 4: u32 ; + Some (y) -> 3: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 4: u32 ; + Some (var@5) -> ⊥ : u32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; +} + +# Frame 1: +{ + Some (var@0) -> ⊥ : u32 ; + Some (x) -> 4: u32 ; + Some (y) -> 3: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 4: u32 ; + Some (var@5) -> ⊥ : u32 ; +} + + +- op: +copy y + [[32mDebug[39m] **About to evaluate statement**: [ var@3 := move var@4 >= move var@5; @@ -1989,26 +2329,26 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - y -> ⊥ : u32 ; - z -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; } # Frame 1: { - var@0 -> ⊥ : u32 ; - x -> 4: u32 ; - y -> 3: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 4: u32 ; - var@5 -> 3: u32 ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> 4: u32 ; + Some (y) -> 3: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 4: u32 ; + Some (var@5) -> 3: u32 ; } @@ -2024,30 +2364,96 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - y -> ⊥ : u32 ; - z -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; } # Frame 1: { - var@0 -> ⊥ : u32 ; - x -> 4: u32 ; - y -> 3: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 4: u32 ; - var@5 -> 3: u32 ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> 4: u32 ; + Some (y) -> 3: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 4: u32 ; + Some (var@5) -> 3: u32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; +} + +# Frame 1: +{ + Some (var@0) -> ⊥ : u32 ; + Some (x) -> 4: u32 ; + Some (y) -> 3: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 4: u32 ; + Some (var@5) -> 3: u32 ; +} + + +- op: +move var@4 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; +} + +# Frame 1: +{ + Some (var@0) -> ⊥ : u32 ; + Some (x) -> 4: u32 ; + Some (y) -> 3: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> 3: u32 ; +} + + +- op: +move var@5 + [[32mDebug[39m] **About to evaluate statement**: [ if (move var@3) { @@ -2065,26 +2471,26 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - y -> ⊥ : u32 ; - z -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; } # Frame 1: { - var@0 -> ⊥ : u32 ; - x -> 4: u32 ; - y -> 3: u32 ; - var@3 -> true ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> 4: u32 ; + Some (y) -> 3: u32 ; + Some (var@3) -> true ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; } @@ -2105,29 +2511,62 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - y -> ⊥ : u32 ; - z -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; +} + +# Frame 1: +{ + Some (var@0) -> ⊥ : u32 ; + Some (x) -> 4: u32 ; + Some (y) -> 3: u32 ; + Some (var@3) -> true ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; } # Frame 1: { - var@0 -> ⊥ : u32 ; - x -> 4: u32 ; - y -> 3: u32 ; - var@3 -> true ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> 4: u32 ; + Some (y) -> 3: u32 ; + Some (var@3) -> true ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; } +- op: +move var@3 [[32mDebug[39m] **About to evaluate statement**: [ @@ -2140,30 +2579,63 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - y -> ⊥ : u32 ; - z -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; } # Frame 1: { - var@0 -> ⊥ : u32 ; - x -> 4: u32 ; - y -> 3: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> 4: u32 ; + Some (y) -> 3: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; +} + +# Frame 1: +{ + Some (var@0) -> ⊥ : u32 ; + Some (x) -> 4: u32 ; + Some (y) -> 3: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; +} + + +- op: +copy x + [[32mDebug[39m] **About to evaluate statement**: [ return @@ -2175,26 +2647,26 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - y -> ⊥ : u32 ; - z -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; } # Frame 1: { - var@0 -> 4: u32 ; - x -> 4: u32 ; - y -> 3: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; + Some (var@0) -> 4: u32 ; + Some (x) -> 4: u32 ; + Some (y) -> 3: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; } @@ -2205,62 +2677,61 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - y -> ⊥ : u32 ; - z -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; } # Frame 1: { - var@0 -> 4: u32 ; - x -> 4: u32 ; - y -> 3: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; + Some (var@0) -> 4: u32 ; + Some (x) -> 4: u32 ; + Some (y) -> 3: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; } -[[32mDebug[39m] ctx_pop_frame: locals to drop: [5,4,3,2,1] -[[32mDebug[39m] drop_value: place: var@5 -[[32mDebug[39m] drop_value: place: var@4 -[[32mDebug[39m] drop_value: place: var@3 -[[32mDebug[39m] drop_value: place: y -[[32mDebug[39m] drop_value: place: x -[[32mDebug[39m] ctx_pop_frame: after dropping local variables: +[[32mDebug[39m] eval_operand: +- ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - y -> ⊥ : u32 ; - z -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; } # Frame 1: { - var@0 -> 4: u32 ; - x -> ⊥ : u32 ; - y -> ⊥ : u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; + Some (var@0) -> 4: u32 ; + Some (x) -> 4: u32 ; + Some (y) -> 3: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; } + +- op: +move var@0 + [[32mDebug[39m] **About to evaluate statement**: [ y := move get_max(10: u32, 11: u32); @@ -2280,16 +2751,22 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 4: u32 ; - y -> ⊥ : u32 ; - z -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; } @@ -2305,19 +2782,83 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 4: u32 ; - y -> ⊥ : u32 ; - z -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; +} + + +- op: +10: u32 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; } +- op: +11: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -2339,26 +2880,32 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 4: u32 ; - y -> ⊥ : u32 ; - z -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; } # Frame 1: { - var@0 -> ⊥ : u32 ; - x -> 10: u32 ; - y -> 11: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> 10: u32 ; + Some (y) -> 11: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; } @@ -2374,30 +2921,75 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 4: u32 ; - y -> ⊥ : u32 ; - z -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; } # Frame 1: { - var@0 -> ⊥ : u32 ; - x -> 10: u32 ; - y -> 11: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> 10: u32 ; + Some (y) -> 11: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; +} + +# Frame 1: +{ + Some (var@0) -> ⊥ : u32 ; + Some (x) -> 10: u32 ; + Some (y) -> 11: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; +} + + +- op: +copy x + [[32mDebug[39m] **About to evaluate statement**: [ var@5 := copy y; @@ -2417,26 +3009,32 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 4: u32 ; - y -> ⊥ : u32 ; - z -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; } # Frame 1: { - var@0 -> ⊥ : u32 ; - x -> 10: u32 ; - y -> 11: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 10: u32 ; - var@5 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> 10: u32 ; + Some (y) -> 11: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 10: u32 ; + Some (var@5) -> ⊥ : u32 ; } @@ -2452,30 +3050,75 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 4: u32 ; - y -> ⊥ : u32 ; - z -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; } # Frame 1: { - var@0 -> ⊥ : u32 ; - x -> 10: u32 ; - y -> 11: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 10: u32 ; - var@5 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> 10: u32 ; + Some (y) -> 11: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 10: u32 ; + Some (var@5) -> ⊥ : u32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; +} + +# Frame 1: +{ + Some (var@0) -> ⊥ : u32 ; + Some (x) -> 10: u32 ; + Some (y) -> 11: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 10: u32 ; + Some (var@5) -> ⊥ : u32 ; +} + + +- op: +copy y + [[32mDebug[39m] **About to evaluate statement**: [ var@3 := move var@4 >= move var@5; @@ -2494,26 +3137,32 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 4: u32 ; - y -> ⊥ : u32 ; - z -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; } # Frame 1: { - var@0 -> ⊥ : u32 ; - x -> 10: u32 ; - y -> 11: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 10: u32 ; - var@5 -> 11: u32 ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> 10: u32 ; + Some (y) -> 11: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 10: u32 ; + Some (var@5) -> 11: u32 ; } @@ -2529,30 +3178,114 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 4: u32 ; - y -> ⊥ : u32 ; - z -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; } # Frame 1: { - var@0 -> ⊥ : u32 ; - x -> 10: u32 ; - y -> 11: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 10: u32 ; - var@5 -> 11: u32 ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> 10: u32 ; + Some (y) -> 11: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 10: u32 ; + Some (var@5) -> 11: u32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; +} + +# Frame 1: +{ + Some (var@0) -> ⊥ : u32 ; + Some (x) -> 10: u32 ; + Some (y) -> 11: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 10: u32 ; + Some (var@5) -> 11: u32 ; +} + + +- op: +move var@4 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; +} + +# Frame 1: +{ + Some (var@0) -> ⊥ : u32 ; + Some (x) -> 10: u32 ; + Some (y) -> 11: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> 11: u32 ; +} + + +- op: +move var@5 + [[32mDebug[39m] **About to evaluate statement**: [ if (move var@3) { @@ -2570,26 +3303,32 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 4: u32 ; - y -> ⊥ : u32 ; - z -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; } # Frame 1: { - var@0 -> ⊥ : u32 ; - x -> 10: u32 ; - y -> 11: u32 ; - var@3 -> false ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> 10: u32 ; + Some (y) -> 11: u32 ; + Some (var@3) -> false ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; } @@ -2610,30 +3349,75 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 4: u32 ; - y -> ⊥ : u32 ; - z -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; } # Frame 1: { - var@0 -> ⊥ : u32 ; - x -> 10: u32 ; - y -> 11: u32 ; - var@3 -> false ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> 10: u32 ; + Some (y) -> 11: u32 ; + Some (var@3) -> false ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; +} + +# Frame 1: +{ + Some (var@0) -> ⊥ : u32 ; + Some (x) -> 10: u32 ; + Some (y) -> 11: u32 ; + Some (var@3) -> false ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; +} + + +- op: +move var@3 + [[32mDebug[39m] **About to evaluate statement**: [ var@0 := copy y @@ -2645,30 +3429,75 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 4: u32 ; - y -> ⊥ : u32 ; - z -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; } # Frame 1: { - var@0 -> ⊥ : u32 ; - x -> 10: u32 ; - y -> 11: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> 10: u32 ; + Some (y) -> 11: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; +} + +# Frame 1: +{ + Some (var@0) -> ⊥ : u32 ; + Some (x) -> 10: u32 ; + Some (y) -> 11: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; +} + + +- op: +copy y + [[32mDebug[39m] **About to evaluate statement**: [ return @@ -2680,26 +3509,32 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 4: u32 ; - y -> ⊥ : u32 ; - z -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; } # Frame 1: { - var@0 -> 11: u32 ; - x -> 10: u32 ; - y -> 11: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; + Some (var@0) -> 11: u32 ; + Some (x) -> 10: u32 ; + Some (y) -> 11: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; } @@ -2710,62 +3545,73 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 4: u32 ; - y -> ⊥ : u32 ; - z -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; } # Frame 1: { - var@0 -> 11: u32 ; - x -> 10: u32 ; - y -> 11: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; + Some (var@0) -> 11: u32 ; + Some (x) -> 10: u32 ; + Some (y) -> 11: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; } -[[32mDebug[39m] ctx_pop_frame: locals to drop: [5,4,3,2,1] -[[32mDebug[39m] drop_value: place: var@5 -[[32mDebug[39m] drop_value: place: var@4 -[[32mDebug[39m] drop_value: place: var@3 -[[32mDebug[39m] drop_value: place: y -[[32mDebug[39m] drop_value: place: x -[[32mDebug[39m] ctx_pop_frame: after dropping local variables: +[[32mDebug[39m] eval_operand: +- ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 4: u32 ; - y -> ⊥ : u32 ; - z -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; } # Frame 1: { - var@0 -> 11: u32 ; - x -> ⊥ : u32 ; - y -> ⊥ : u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; + Some (var@0) -> 11: u32 ; + Some (x) -> 10: u32 ; + Some (y) -> 11: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; } + +- op: +move var@0 + [[32mDebug[39m] **About to evaluate statement**: [ var@4 := copy x; @@ -2784,16 +3630,28 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 4: u32 ; - y -> 11: u32 ; - z -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> 11: u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 10: u32 ; + None -> 11: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; } @@ -2809,20 +3667,67 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 4: u32 ; - y -> 11: u32 ; - z -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> 11: u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 10: u32 ; + None -> 11: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> 11: u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 10: u32 ; + None -> 11: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; +} + + +- op: +copy x + [[32mDebug[39m] **About to evaluate statement**: [ var@5 := copy y; @@ -2840,16 +3745,28 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 4: u32 ; - y -> 11: u32 ; - z -> ⊥ : u32 ; - var@4 -> 4: u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> 11: u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> 4: u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 10: u32 ; + None -> 11: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; } @@ -2865,19 +3782,66 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 4: u32 ; - y -> 11: u32 ; - z -> ⊥ : u32 ; - var@4 -> 4: u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> 11: u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> 4: u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 10: u32 ; + None -> 11: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> 11: u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> 4: u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 10: u32 ; + None -> 11: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; } +- op: +copy y [[32mDebug[39m] **About to evaluate statement**: [ @@ -2895,16 +3859,28 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 4: u32 ; - y -> 11: u32 ; - z -> ⊥ : u32 ; - var@4 -> 4: u32 ; - var@5 -> 11: u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> 11: u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> 4: u32 ; + Some (var@5) -> 11: u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 10: u32 ; + None -> 11: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; } @@ -2920,19 +3896,101 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 4: u32 ; - y -> 11: u32 ; - z -> ⊥ : u32 ; - var@4 -> 4: u32 ; - var@5 -> 11: u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> 11: u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> 4: u32 ; + Some (var@5) -> 11: u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 10: u32 ; + None -> 11: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> 11: u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> 4: u32 ; + Some (var@5) -> 11: u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 10: u32 ; + None -> 11: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; } +- op: +copy var@4 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> 11: u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> 4: u32 ; + Some (var@5) -> 11: u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 10: u32 ; + None -> 11: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; +} + + +- op: +copy var@5 [[32mDebug[39m] **About to evaluate statement**: [ @@ -2949,16 +4007,28 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 4: u32 ; - y -> 11: u32 ; - z -> 15: u32 ; - var@4 -> 4: u32 ; - var@5 -> 11: u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> 11: u32 ; + Some (z) -> 15: u32 ; + Some (var@4) -> 4: u32 ; + Some (var@5) -> 11: u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 10: u32 ; + None -> 11: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; } @@ -2974,20 +4044,67 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 4: u32 ; - y -> 11: u32 ; - z -> 15: u32 ; - var@4 -> 4: u32 ; - var@5 -> 11: u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> 11: u32 ; + Some (z) -> 15: u32 ; + Some (var@4) -> 4: u32 ; + Some (var@5) -> 11: u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 10: u32 ; + None -> 11: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> 11: u32 ; + Some (z) -> 15: u32 ; + Some (var@4) -> 4: u32 ; + Some (var@5) -> 11: u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 10: u32 ; + None -> 11: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; +} + + +- op: +copy z + [[32mDebug[39m] **About to evaluate statement**: [ var@8 := move var@9 == 15: u32; @@ -3002,16 +4119,28 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 4: u32 ; - y -> 11: u32 ; - z -> 15: u32 ; - var@4 -> 4: u32 ; - var@5 -> 11: u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> 15: u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> 11: u32 ; + Some (z) -> 15: u32 ; + Some (var@4) -> 4: u32 ; + Some (var@5) -> 11: u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> 15: u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 10: u32 ; + None -> 11: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; } @@ -3027,20 +4156,102 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 4: u32 ; - y -> 11: u32 ; - z -> 15: u32 ; - var@4 -> 4: u32 ; - var@5 -> 11: u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> 15: u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> 11: u32 ; + Some (z) -> 15: u32 ; + Some (var@4) -> 4: u32 ; + Some (var@5) -> 11: u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> 15: u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 10: u32 ; + None -> 11: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> 11: u32 ; + Some (z) -> 15: u32 ; + Some (var@4) -> 4: u32 ; + Some (var@5) -> 11: u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> 15: u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 10: u32 ; + None -> 11: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; +} + + +- op: +move var@9 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> 11: u32 ; + Some (z) -> 15: u32 ; + Some (var@4) -> 4: u32 ; + Some (var@5) -> 11: u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 10: u32 ; + None -> 11: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; +} + + +- op: +15: u32 + [[32mDebug[39m] **About to evaluate statement**: [ var@7 := ¬ move var@8; @@ -3054,16 +4265,28 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 4: u32 ; - y -> 11: u32 ; - z -> 15: u32 ; - var@4 -> 4: u32 ; - var@5 -> 11: u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> true ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> 11: u32 ; + Some (z) -> 15: u32 ; + Some (var@4) -> 4: u32 ; + Some (var@5) -> 11: u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> true ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 10: u32 ; + None -> 11: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; } @@ -3079,19 +4302,66 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 4: u32 ; - y -> 11: u32 ; - z -> 15: u32 ; - var@4 -> 4: u32 ; - var@5 -> 11: u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> true ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> 11: u32 ; + Some (z) -> 15: u32 ; + Some (var@4) -> 4: u32 ; + Some (var@5) -> 11: u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> true ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 10: u32 ; + None -> 11: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> 11: u32 ; + Some (z) -> 15: u32 ; + Some (var@4) -> 4: u32 ; + Some (var@5) -> 11: u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> true ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 10: u32 ; + None -> 11: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; } +- op: +move var@8 [[32mDebug[39m] **About to evaluate statement**: [ @@ -3105,16 +4375,28 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 4: u32 ; - y -> 11: u32 ; - z -> 15: u32 ; - var@4 -> 4: u32 ; - var@5 -> 11: u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> false ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> 11: u32 ; + Some (z) -> 15: u32 ; + Some (var@4) -> 4: u32 ; + Some (var@5) -> 11: u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> false ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 10: u32 ; + None -> 11: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; } @@ -3130,20 +4412,67 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 4: u32 ; - y -> 11: u32 ; - z -> 15: u32 ; - var@4 -> 4: u32 ; - var@5 -> 11: u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> false ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> 11: u32 ; + Some (z) -> 15: u32 ; + Some (var@4) -> 4: u32 ; + Some (var@5) -> 11: u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> false ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 10: u32 ; + None -> 11: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> 11: u32 ; + Some (z) -> 15: u32 ; + Some (var@4) -> 4: u32 ; + Some (var@5) -> 11: u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> false ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 10: u32 ; + None -> 11: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; +} + + +- op: +move var@7 + [[32mDebug[39m] **About to evaluate statement**: [ return @@ -3155,16 +4484,28 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 4: u32 ; - y -> 11: u32 ; - z -> 15: u32 ; - var@4 -> 4: u32 ; - var@5 -> 11: u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 4: u32 ; + Some (y) -> 11: u32 ; + Some (z) -> 15: u32 ; + Some (var@4) -> 4: u32 ; + Some (var@5) -> 11: u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 4: u32 ; + None -> 3: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 10: u32 ; + None -> 11: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; } @@ -3183,9 +4524,9 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : i32 ; - y -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (y) -> ⊥ : i32 ; } @@ -3201,13 +4542,29 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : i32 ; - y -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (y) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (y) -> ⊥ : i32 ; +} + + +- op: +3: i32 + [[32mDebug[39m] **About to evaluate statement**: [ y := -3: i32; @@ -3220,9 +4577,9 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 3: i32 ; - y -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 3: i32 ; + Some (y) -> ⊥ : i32 ; } @@ -3238,12 +4595,28 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 3: i32 ; - y -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 3: i32 ; + Some (y) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 3: i32 ; + Some (y) -> ⊥ : i32 ; } +- op: +-3: i32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -3256,9 +4629,9 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 3: i32 ; - y -> -3: i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 3: i32 ; + Some (y) -> -3: i32 ; } @@ -3283,13 +4656,13 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; } @@ -3305,17 +4678,37 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; +} + + +- op: +0: i32 + [[32mDebug[39m] **About to evaluate statement**: [ px := &mut x; @@ -3334,13 +4727,13 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; } @@ -3356,13 +4749,13 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; } @@ -3384,13 +4777,13 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@0 (0: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (0: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; } @@ -3406,13 +4799,13 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@0 (0: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (0: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; } @@ -3433,13 +4826,13 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (&mut@0 (0: i32)) ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (&mut@0 (0: i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; } @@ -3455,17 +4848,37 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (&mut@0 (0: i32)) ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (&mut@0 (0: i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (&mut@0 (0: i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; +} + + +- op: +1: i32 + [[32mDebug[39m] **About to evaluate statement**: [ var@6 := copy x; @@ -3481,13 +4894,13 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (&mut@0 (1: i32)) ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (&mut@0 (1: i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; } @@ -3503,17 +4916,162 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (&mut@0 (1: i32)) ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (&mut@0 (1: i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (&mut@0 (1: i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; +} + + +- op: +copy x + +[[32mDebug[39m] end borrow: 0: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (&mut@0 (1: i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; +} + +[[32mDebug[39m] end borrow: 0: found outer borrows/abs:(InterpreterBorrowsCore.OuterBorrows (InterpreterBorrowsCore.Borrow 1)) +[[32mDebug[39m] end borrow: 1: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (&mut@0 (1: i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; +} + +[[32mDebug[39m] give_back: +- bid: 1 +- content: &mut@1 (&mut@0 (1: i32)) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; +} + + +[[32mDebug[39m] give_back_value: +- bid: 1 +- value: &mut@0 (1: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; +} + + +[[32mDebug[39m] end borrow: 0: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (1: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; +} + +[[32mDebug[39m] give_back: +- bid: 0 +- content: &mut@0 (1: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; +} + + +[[32mDebug[39m] give_back_value: +- bid: 0 +- value: 1: i32 +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; +} + + [[32mDebug[39m] **About to evaluate statement**: [ var@5 := move var@6 == 1: i32; @@ -3528,13 +5086,13 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> 1: i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> 1: i32 ; } @@ -3550,17 +5108,57 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> 1: i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> 1: i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> 1: i32 ; +} + + +- op: +move var@6 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; +} + + +- op: +1: i32 + [[32mDebug[39m] **About to evaluate statement**: [ var@4 := ¬ move var@5; @@ -3574,13 +5172,13 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@4 -> ⊥ : bool ; - var@5 -> true ; - var@6 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> true ; + Some (var@6) -> ⊥ : i32 ; } @@ -3596,16 +5194,36 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@4 -> ⊥ : bool ; - var@5 -> true ; - var@6 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> true ; + Some (var@6) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> true ; + Some (var@6) -> ⊥ : i32 ; } +- op: +move var@5 [[32mDebug[39m] **About to evaluate statement**: [ @@ -3619,13 +5237,13 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@4 -> false ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> false ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; } @@ -3641,16 +5259,36 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@4 -> false ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> false ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> false ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; } +- op: +move var@4 [[32mDebug[39m] **About to evaluate statement**: [ @@ -3663,13 +5301,13 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; } @@ -3710,25 +5348,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : i32 ; - y -> ⊥ : i32 ; - px -> ⊥ : &'_ mut (i32) ; - py -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (y) -> ⊥ : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -3744,29 +5382,61 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : i32 ; - y -> ⊥ : i32 ; - px -> ⊥ : &'_ mut (i32) ; - py -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (y) -> ⊥ : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (y) -> ⊥ : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +- op: +0: i32 + [[32mDebug[39m] **About to evaluate statement**: [ y := 1: i32; @@ -3801,25 +5471,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⊥ : i32 ; - px -> ⊥ : &'_ mut (i32) ; - py -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⊥ : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -3835,29 +5505,61 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⊥ : i32 ; - px -> ⊥ : &'_ mut (i32) ; - py -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⊥ : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⊥ : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +- op: +1: i32 + [[32mDebug[39m] **About to evaluate statement**: [ px := &mut x; @@ -3891,25 +5593,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> 1: i32 ; - px -> ⊥ : &'_ mut (i32) ; - py -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -3925,25 +5627,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> 1: i32 ; - px -> ⊥ : &'_ mut (i32) ; - py -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -3980,25 +5682,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> 1: i32 ; - px -> &mut@0 (0: i32) ; - py -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> 1: i32 ; + Some (px) -> &mut@0 (0: i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -4014,25 +5716,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> 1: i32 ; - px -> &mut@0 (0: i32) ; - py -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> 1: i32 ; + Some (px) -> &mut@0 (0: i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -4068,25 +5770,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@1⌋ ; - px -> &mut@0 (0: i32) ; - py -> &mut@1 (1: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@0 (0: i32) ; + Some (py) -> &mut@1 (1: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -4102,25 +5804,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@1⌋ ; - px -> &mut@0 (0: i32) ; - py -> &mut@1 (1: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@0 (0: i32) ; + Some (py) -> &mut@1 (1: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -4155,25 +5857,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@1⌋ ; - px -> ⌊mut@2⌋ ; - py -> &mut@1 (1: i32) ; - ppx -> &mut@2 (&mut@0 (0: i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⌊mut@2⌋ ; + Some (py) -> &mut@1 (1: i32) ; + Some (ppx) -> &mut@2 (&mut@0 (0: i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -4189,25 +5891,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@1⌋ ; - px -> ⌊mut@2⌋ ; - py -> &mut@1 (1: i32) ; - ppx -> &mut@2 (&mut@0 (0: i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⌊mut@2⌋ ; + Some (py) -> &mut@1 (1: i32) ; + Some (ppx) -> &mut@2 (&mut@0 (0: i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -4241,25 +5943,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@1⌋ ; - px -> ⌊mut@2⌋ ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> &mut@2 (&mut@0 (0: i32)) ; - var@6 -> &mut@3 (1: i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⌊mut@2⌋ ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> &mut@2 (&mut@0 (0: i32)) ; + Some (var@6) -> &mut@3 (1: i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -4275,28 +5977,156 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@1⌋ ; - px -> ⌊mut@2⌋ ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> &mut@2 (&mut@0 (0: i32)) ; - var@6 -> &mut@3 (1: i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⌊mut@2⌋ ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> &mut@2 (&mut@0 (0: i32)) ; + Some (var@6) -> &mut@3 (1: i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⌊mut@2⌋ ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> &mut@2 (&mut@0 (0: i32)) ; + Some (var@6) -> &mut@3 (1: i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +- op: +move var@6 + +[[32mDebug[39m] end borrow: 0: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⌊mut@2⌋ ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> &mut@2 (⊥ : &'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> &mut@3 (1: i32) ; + None -> &mut@0 (0: i32) ; +} + +[[32mDebug[39m] give_back: +- bid: 0 +- content: &mut@0 (0: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⌊mut@2⌋ ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> &mut@2 (⊥ : &'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> &mut@3 (1: i32) ; + None -> ⊥ : &'_ mut (i32) ; } +[[32mDebug[39m] give_back_value: +- bid: 0 +- value: 0: i32 +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⌊mut@2⌋ ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> &mut@2 (⊥ : &'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> &mut@3 (1: i32) ; + None -> ⊥ : &'_ mut (i32) ; +} + [[32mDebug[39m] **About to evaluate statement**: [ @@ -4326,25 +6156,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> ⌊mut@2⌋ ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> &mut@2 (&mut@3 (1: i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⌊mut@2⌋ ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> &mut@2 (&mut@3 (1: i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -4360,28 +6190,60 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> ⌊mut@2⌋ ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> &mut@2 (&mut@3 (1: i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⌊mut@2⌋ ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> &mut@2 (&mut@3 (1: i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⌊mut@2⌋ ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> &mut@2 (&mut@3 (1: i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +- op: +2: i32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -4410,25 +6272,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> ⌊mut@2⌋ ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> &mut@2 (&mut@3 (2: i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⌊mut@2⌋ ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> &mut@2 (&mut@3 (2: i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -4444,28 +6306,150 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> ⌊mut@2⌋ ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> &mut@2 (&mut@3 (2: i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⌊mut@2⌋ ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> &mut@2 (&mut@3 (2: i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⌊mut@2⌋ ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> &mut@2 (&mut@3 (2: i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +- op: +copy *(px) + +[[32mDebug[39m] end borrow: 2: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⌊mut@2⌋ ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> &mut@2 (&mut@3 (2: i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + +[[32mDebug[39m] give_back: +- bid: 2 +- content: &mut@2 (&mut@3 (2: i32)) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⌊mut@2⌋ ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +[[32mDebug[39m] give_back_value: +- bid: 2 +- value: &mut@3 (2: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⌊mut@2⌋ ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + [[32mDebug[39m] **About to evaluate statement**: [ @@ -4493,25 +6477,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> &mut@3 (2: i32) ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> 2: i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> 2: i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -4527,29 +6511,93 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> &mut@3 (2: i32) ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> 2: i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> 2: i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> 2: i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +- op: +move var@9 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +- op: +2: i32 + [[32mDebug[39m] **About to evaluate statement**: [ var@7 := ¬ move var@8; @@ -4575,25 +6623,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> &mut@3 (2: i32) ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> true ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> true ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -4609,28 +6657,60 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> &mut@3 (2: i32) ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> true ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> true ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> true ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +- op: +move var@8 [[32mDebug[39m] **About to evaluate statement**: [ @@ -4656,25 +6736,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> &mut@3 (2: i32) ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> false ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> false ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -4690,29 +6770,61 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> &mut@3 (2: i32) ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> false ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> false ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> false ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +- op: +move var@7 + [[32mDebug[39m] **About to evaluate statement**: [ var@12 := copy x; @@ -4736,25 +6848,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> &mut@3 (2: i32) ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -4770,28 +6882,60 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> &mut@3 (2: i32) ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +- op: +copy x [[32mDebug[39m] **About to evaluate statement**: [ @@ -4815,25 +6959,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> &mut@3 (2: i32) ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> 0: i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> 0: i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -4849,29 +6993,93 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> &mut@3 (2: i32) ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> 0: i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> 0: i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> 0: i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +- op: +move var@12 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +- op: +0: i32 + [[32mDebug[39m] **About to evaluate statement**: [ var@10 := ¬ move var@11; @@ -4893,25 +7101,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> &mut@3 (2: i32) ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> true ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> true ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -4927,28 +7135,60 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> &mut@3 (2: i32) ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> true ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> true ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> true ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +- op: +move var@11 [[32mDebug[39m] **About to evaluate statement**: [ @@ -4970,25 +7210,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> &mut@3 (2: i32) ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> false ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> false ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -5004,28 +7244,60 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> &mut@3 (2: i32) ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> false ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> false ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> false ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +- op: +move var@10 [[32mDebug[39m] **About to evaluate statement**: [ @@ -5046,25 +7318,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> &mut@3 (2: i32) ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -5080,28 +7352,150 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> &mut@3 (2: i32) ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +- op: +copy *(py) + +[[32mDebug[39m] end borrow: 3: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + +[[32mDebug[39m] give_back: +- bid: 3 +- content: &mut@3 (2: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +[[32mDebug[39m] give_back_value: +- bid: 3 +- value: 2: i32 +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + [[32mDebug[39m] **About to evaluate statement**: [ @@ -5121,25 +7515,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> ⊥ : &'_ mut (i32) ; - py -> &mut@1 (2: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> 2: i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> &mut@1 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> 2: i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -5155,28 +7549,92 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> ⊥ : &'_ mut (i32) ; - py -> &mut@1 (2: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> 2: i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> &mut@1 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> 2: i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> &mut@1 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> 2: i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +- op: +move var@15 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> &mut@1 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +- op: +2: i32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -5195,25 +7653,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> ⊥ : &'_ mut (i32) ; - py -> &mut@1 (2: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> true ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> &mut@1 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> true ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -5229,29 +7687,61 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> ⊥ : &'_ mut (i32) ; - py -> &mut@1 (2: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> true ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> &mut@1 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> true ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> &mut@1 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> true ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +- op: +move var@14 + [[32mDebug[39m] **About to evaluate statement**: [ assert(¬move var@13); @@ -5268,25 +7758,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> ⊥ : &'_ mut (i32) ; - py -> &mut@1 (2: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> false ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> &mut@1 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> false ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -5302,28 +7792,60 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> ⊥ : &'_ mut (i32) ; - py -> &mut@1 (2: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> false ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> &mut@1 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> false ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> &mut@1 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> false ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +- op: +move var@13 [[32mDebug[39m] **About to evaluate statement**: [ @@ -5340,25 +7862,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> ⊥ : &'_ mut (i32) ; - py -> &mut@1 (2: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> &mut@1 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -5374,29 +7896,151 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> ⊥ : &'_ mut (i32) ; - py -> &mut@1 (2: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> &mut@1 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> &mut@1 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +- op: +copy y + +[[32mDebug[39m] end borrow: 1: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> &mut@1 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + +[[32mDebug[39m] give_back: +- bid: 1 +- content: &mut@1 (2: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +[[32mDebug[39m] give_back_value: +- bid: 1 +- value: 2: i32 +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + [[32mDebug[39m] **About to evaluate statement**: [ var@17 := move var@18 == 2: i32; @@ -5411,25 +8055,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> 2: i32 ; - px -> ⊥ : &'_ mut (i32) ; - py -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> 2: i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> 2: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> 2: i32 ; } @@ -5445,28 +8089,92 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> 2: i32 ; - px -> ⊥ : &'_ mut (i32) ; - py -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> 2: i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> 2: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> 2: i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> 2: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> 2: i32 ; } +- op: +move var@18 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> 2: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +- op: +2: i32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -5481,25 +8189,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> 2: i32 ; - px -> ⊥ : &'_ mut (i32) ; - py -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> true ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> 2: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> true ; + Some (var@18) -> ⊥ : i32 ; } @@ -5515,28 +8223,60 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> 2: i32 ; - px -> ⊥ : &'_ mut (i32) ; - py -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> true ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> 2: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> true ; + Some (var@18) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> 2: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> true ; + Some (var@18) -> ⊥ : i32 ; } +- op: +move var@17 [[32mDebug[39m] **About to evaluate statement**: [ @@ -5550,25 +8290,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> 2: i32 ; - px -> ⊥ : &'_ mut (i32) ; - py -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> false ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> 2: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> false ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -5584,29 +8324,61 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> 2: i32 ; - px -> ⊥ : &'_ mut (i32) ; - py -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> false ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> 2: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> false ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> 2: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> false ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +- op: +move var@16 + [[32mDebug[39m] **About to evaluate statement**: [ return @@ -5618,25 +8390,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> 2: i32 ; - px -> ⊥ : &'_ mut (i32) ; - py -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> 2: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -5659,10 +8431,10 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; } @@ -5678,10 +8450,10 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; } @@ -5702,10 +8474,10 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> test1::List::Nil ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> test1::List::Nil ; } @@ -5721,10 +8493,10 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> test1::List::Nil ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> test1::List::Nil ; } @@ -5734,44 +8506,87 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) - type_params: [test1::List<i32>] - args: [move var@3] - dest: var@2 +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> test1::List::Nil ; +} + + +- op: +move var@3 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; +} + +# Frame 1: +{ + Some (@return) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@1) -> test1::List::Nil ; +} + + +- op: +move var@1 + [[32mDebug[39m] ctx_pop_frame: # Ended regions: {} # 2 frame(s) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; } # Frame 1: { - @return -> @Box(test1::List::Nil) ; - var@1 -> ⊥ : test1::List<i32> ; + Some (@return) -> @Box(test1::List::Nil) ; + Some (var@1) -> ⊥ : test1::List<i32> ; } -[[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: +[[32mDebug[39m] eval_operand: +- ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; } # Frame 1: { - @return -> @Box(test1::List::Nil) ; - var@1 -> ⊥ : test1::List<i32> ; + Some (@return) -> @Box(test1::List::Nil) ; + Some (var@1) -> ⊥ : test1::List<i32> ; } + +- op: +move @return + [[32mDebug[39m] **About to evaluate statement**: [ (l as test1::List::Cons).0 := 0: i32; @@ -5787,10 +8602,12 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> @Box(test1::List::Nil) ; - var@3 -> ⊥ : test1::List<i32> ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> @Box(test1::List::Nil) ; + Some (var@3) -> ⊥ : test1::List<i32> ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } @@ -5806,13 +8623,34 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> @Box(test1::List::Nil) ; - var@3 -> ⊥ : test1::List<i32> ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> @Box(test1::List::Nil) ; + Some (var@3) -> ⊥ : test1::List<i32> ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> @Box(test1::List::Nil) ; + Some (var@3) -> ⊥ : test1::List<i32> ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } +- op: +0: i32 [[32mDebug[39m] expand_bottom_value_from_projection: pe: (Expressions.Field ((Expressions.ProjAdt (1, (Some 0))), 0)) @@ -5831,10 +8669,12 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; - var@2 -> @Box(test1::List::Nil) ; - var@3 -> ⊥ : test1::List<i32> ; + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> @Box(test1::List::Nil) ; + Some (var@3) -> ⊥ : test1::List<i32> ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } @@ -5850,13 +8690,34 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; - var@2 -> @Box(test1::List::Nil) ; - var@3 -> ⊥ : test1::List<i32> ; + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> @Box(test1::List::Nil) ; + Some (var@3) -> ⊥ : test1::List<i32> ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> @Box(test1::List::Nil) ; + Some (var@3) -> ⊥ : test1::List<i32> ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } +- op: +move var@2 [[32mDebug[39m] **About to evaluate statement**: [ @@ -5871,10 +8732,12 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } @@ -5890,10 +8753,12 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } @@ -5910,10 +8775,12 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } @@ -5929,10 +8796,12 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } @@ -5949,10 +8818,12 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } @@ -5980,15 +8851,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> ⊥ : std::boxed::Box<i32> ; - x -> ⊥ : &'_ mut (i32) ; - var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> ⊥ : &'_ (i32) ; - var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> ⊥ : std::boxed::Box<i32> ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; } @@ -6004,15 +8875,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> ⊥ : std::boxed::Box<i32> ; - x -> ⊥ : &'_ mut (i32) ; - var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> ⊥ : &'_ (i32) ; - var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> ⊥ : std::boxed::Box<i32> ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; } @@ -6022,54 +8893,107 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) - type_params: [i32] - args: [0: i32] - dest: b +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (b) -> ⊥ : std::boxed::Box<i32> ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; +} + + +- op: +0: i32 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (b) -> ⊥ : std::boxed::Box<i32> ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; +} + +# Frame 1: +{ + Some (@return) -> ⊥ : std::boxed::Box<i32> ; + Some (var@1) -> 0: i32 ; +} + + +- op: +move var@1 + [[32mDebug[39m] ctx_pop_frame: # Ended regions: {} # 2 frame(s) # Frame 0: { - var@0 -> ⊥ : () ; - b -> ⊥ : std::boxed::Box<i32> ; - x -> ⊥ : &'_ mut (i32) ; - var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> ⊥ : &'_ (i32) ; - var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> ⊥ : std::boxed::Box<i32> ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; } # Frame 1: { - @return -> @Box(0: i32) ; - var@1 -> ⊥ : i32 ; + Some (@return) -> @Box(0: i32) ; + Some (var@1) -> ⊥ : i32 ; } -[[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: +[[32mDebug[39m] eval_operand: +- ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { - var@0 -> ⊥ : () ; - b -> ⊥ : std::boxed::Box<i32> ; - x -> ⊥ : &'_ mut (i32) ; - var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> ⊥ : &'_ (i32) ; - var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> ⊥ : std::boxed::Box<i32> ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; } # Frame 1: { - @return -> @Box(0: i32) ; - var@1 -> ⊥ : i32 ; + Some (@return) -> @Box(0: i32) ; + Some (var@1) -> ⊥ : i32 ; } + +- op: +move @return + [[32mDebug[39m] **About to evaluate statement**: [ var@3 := &two-phase b; @@ -6091,15 +9015,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> @Box(0: i32) ; - x -> ⊥ : &'_ mut (i32) ; - var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> ⊥ : &'_ (i32) ; - var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> @Box(0: i32) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; } @@ -6115,15 +9041,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> @Box(0: i32) ; - x -> ⊥ : &'_ mut (i32) ; - var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> ⊥ : &'_ (i32) ; - var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> @Box(0: i32) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; } @@ -6148,15 +9076,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> @shared_loan({0}, @Box(0: i32)) ; - x -> ⊥ : &'_ mut (i32) ; - var@3 -> ⌊inactivated_mut@0⌋ ; - x -> ⊥ : &'_ (i32) ; - var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({0}, @Box(0: i32)) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⌊inactivated_mut@0⌋ ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; } @@ -6172,15 +9102,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> @shared_loan({0}, @Box(0: i32)) ; - x -> ⊥ : &'_ mut (i32) ; - var@3 -> ⌊inactivated_mut@0⌋ ; - x -> ⊥ : &'_ (i32) ; - var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({0}, @Box(0: i32)) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⌊inactivated_mut@0⌋ ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; } @@ -6191,66 +9123,86 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) - args: [move var@3] - dest: x [[32mDebug[39m] activate_inactivated_mut_borrow: resulting value: -{ Values.value = - (Values.Adt - { Values.variant_id = <opaque>; - field_values = - [{ Values.value = - (Values.Concrete - (Values.Scalar { Values.value = 0; int_ty = Types.I32 })); - ty = (Types.Integer Types.I32) } - ] - }); - ty = - (Types.Adt ((Types.Assumed Types.Box), [], [(Types.Integer Types.I32)])) } +@Box(0: i32) +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (b) -> ⌊mut@0⌋ ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> &mut@0 (@Box(0: i32)) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; +} + + +- op: +move var@3 + [[32mDebug[39m] ctx_pop_frame: # Ended regions: {} # 2 frame(s) # Frame 0: { - var@0 -> ⊥ : () ; - b -> ⌊mut@0⌋ ; - x -> ⊥ : &'_ mut (i32) ; - var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> ⊥ : &'_ (i32) ; - var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> ⌊mut@0⌋ ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; } # Frame 1: { - @return -> &mut@1 (0: i32) ; - var@1 -> &mut@0 (@Box(⌊mut@1⌋)) ; + Some (@return) -> &mut@1 (0: i32) ; + Some (var@1) -> &mut@0 (@Box(⌊mut@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: +[[32mDebug[39m] eval_operand: +- ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { - var@0 -> ⊥ : () ; - b -> @Box(⌊mut@1⌋) ; - x -> ⊥ : &'_ mut (i32) ; - var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> ⊥ : &'_ (i32) ; - var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> ⌊mut@0⌋ ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; } # Frame 1: { - @return -> &mut@1 (0: i32) ; - var@1 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (@return) -> &mut@1 (0: i32) ; + Some (var@1) -> &mut@0 (@Box(⌊mut@1⌋)) ; } + +- op: +move @return + [[32mDebug[39m] **About to evaluate statement**: [ *(x) := 1: i32; @@ -6270,15 +9222,19 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> @Box(⌊mut@1⌋) ; - x -> &mut@1 (0: i32) ; - var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> ⊥ : &'_ (i32) ; - var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> ⌊mut@0⌋ ; + Some (x) -> &mut@1 (0: i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> &mut@0 (@Box(⌊mut@1⌋)) ; } @@ -6294,18 +9250,48 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> @Box(⌊mut@1⌋) ; - x -> &mut@1 (0: i32) ; - var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> ⊥ : &'_ (i32) ; - var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> ⌊mut@0⌋ ; + Some (x) -> &mut@1 (0: i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> &mut@0 (@Box(⌊mut@1⌋)) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (b) -> ⌊mut@0⌋ ; + Some (x) -> &mut@1 (0: i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> &mut@0 (@Box(⌊mut@1⌋)) ; } +- op: +1: i32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -6325,15 +9311,19 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> @Box(⌊mut@1⌋) ; - x -> &mut@1 (1: i32) ; - var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> ⊥ : &'_ (i32) ; - var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> ⌊mut@0⌋ ; + Some (x) -> &mut@1 (1: i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> &mut@0 (@Box(⌊mut@1⌋)) ; } @@ -6349,18 +9339,189 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> @Box(⌊mut@1⌋) ; - x -> &mut@1 (1: i32) ; - var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> ⊥ : &'_ (i32) ; - var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> ⌊mut@0⌋ ; + Some (x) -> &mut@1 (1: i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> &mut@0 (@Box(⌊mut@1⌋)) ; +} + + + +[[32mDebug[39m] end borrow: 0: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (b) -> ⌊mut@0⌋ ; + Some (x) -> &mut@1 (1: i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> &mut@0 (@Box(⌊mut@1⌋)) ; +} + +[[32mDebug[39m] end borrow: 0: found outer borrows/abs:(InterpreterBorrowsCore.InnerLoans (InterpreterBorrowsCore.Borrow 1)) +[[32mDebug[39m] end borrow: 1: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (b) -> ⌊mut@0⌋ ; + Some (x) -> &mut@1 (1: i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> &mut@0 (@Box(⌊mut@1⌋)) ; +} + +[[32mDebug[39m] give_back: +- bid: 1 +- content: &mut@1 (1: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (b) -> ⌊mut@0⌋ ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> &mut@0 (@Box(⌊mut@1⌋)) ; } +[[32mDebug[39m] give_back_value: +- bid: 1 +- value: 1: i32 +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (b) -> ⌊mut@0⌋ ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> &mut@0 (@Box(⌊mut@1⌋)) ; +} + + +[[32mDebug[39m] end borrow: 0: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (b) -> ⌊mut@0⌋ ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> &mut@0 (@Box(1: i32)) ; +} + +[[32mDebug[39m] give_back: +- bid: 0 +- content: &mut@0 (@Box(1: i32)) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (b) -> ⌊mut@0⌋ ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; +} + + +[[32mDebug[39m] give_back_value: +- bid: 0 +- value: @Box(1: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (b) -> ⌊mut@0⌋ ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; +} + [[32mDebug[39m] **About to evaluate statement**: [ @@ -6379,15 +9540,19 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> @shared_loan({2}, @Box(1: i32)) ; - x -> ⊥ : &'_ mut (i32) ; - var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> ⊥ : &'_ (i32) ; - var@5 -> ⌊shared@2⌋ ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({2}, @Box(1: i32)) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⌊shared@2⌋ ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; } @@ -6403,15 +9568,19 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> @shared_loan({2}, @Box(1: i32)) ; - x -> ⊥ : &'_ mut (i32) ; - var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> ⊥ : &'_ (i32) ; - var@5 -> ⌊shared@2⌋ ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({2}, @Box(1: i32)) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⌊shared@2⌋ ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; } @@ -6421,54 +9590,91 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) - type_params: [i32] - args: [move var@5] - dest: x +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({2}, @Box(1: i32)) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⌊shared@2⌋ ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; +} + + +- op: +move var@5 + [[32mDebug[39m] ctx_pop_frame: # Ended regions: {} # 2 frame(s) # Frame 0: { - var@0 -> ⊥ : () ; - b -> @shared_loan({2}, @Box(@shared_loan({3}, 1: i32))) ; - x -> ⊥ : &'_ mut (i32) ; - var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> ⊥ : &'_ (i32) ; - var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({2}, @Box(@shared_loan({3}, 1: i32))) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; } # Frame 1: { - @return -> ⌊shared@3⌋ ; - var@1 -> ⌊shared@2⌋ ; + Some (@return) -> ⌊shared@3⌋ ; + Some (var@1) -> ⌊shared@2⌋ ; } -[[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: +[[32mDebug[39m] eval_operand: +- ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { - var@0 -> ⊥ : () ; - b -> @Box(@shared_loan({3}, 1: i32)) ; - x -> ⊥ : &'_ mut (i32) ; - var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> ⊥ : &'_ (i32) ; - var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({2}, @Box(@shared_loan({3}, 1: i32))) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; } # Frame 1: { - @return -> ⌊shared@3⌋ ; - var@1 -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (@return) -> ⌊shared@3⌋ ; + Some (var@1) -> ⌊shared@2⌋ ; } + +- op: +move @return + [[32mDebug[39m] **About to evaluate statement**: [ var@8 := copy *(x); @@ -6485,15 +9691,21 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> @Box(@shared_loan({3}, 1: 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 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({2}, @Box(@shared_loan({3}, 1: i32))) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⌊shared@3⌋ ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + None -> ⊥ : &'_ (i32) ; + None -> ⌊shared@2⌋ ; } @@ -6509,19 +9721,53 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> @Box(@shared_loan({3}, 1: 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 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({2}, @Box(@shared_loan({3}, 1: i32))) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⌊shared@3⌋ ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + None -> ⊥ : &'_ (i32) ; + None -> ⌊shared@2⌋ ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({2}, @Box(@shared_loan({3}, 1: i32))) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⌊shared@3⌋ ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + None -> ⊥ : &'_ (i32) ; + None -> ⌊shared@2⌋ ; +} + + +- op: +copy *(x) + [[32mDebug[39m] **About to evaluate statement**: [ var@7 := move var@8 == 1: i32; @@ -6537,15 +9783,21 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> @Box(@shared_loan({3}, 1: 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 -> 1: i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({2}, @Box(@shared_loan({3}, 1: i32))) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⌊shared@3⌋ ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 1: i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + None -> ⊥ : &'_ (i32) ; + None -> ⌊shared@2⌋ ; } @@ -6561,18 +9813,80 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> @Box(@shared_loan({3}, 1: 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 -> 1: i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({2}, @Box(@shared_loan({3}, 1: i32))) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⌊shared@3⌋ ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 1: i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + None -> ⊥ : &'_ (i32) ; + None -> ⌊shared@2⌋ ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({2}, @Box(@shared_loan({3}, 1: i32))) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⌊shared@3⌋ ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 1: i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + None -> ⊥ : &'_ (i32) ; + None -> ⌊shared@2⌋ ; } +- op: +move var@8 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({2}, @Box(@shared_loan({3}, 1: i32))) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⌊shared@3⌋ ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + None -> ⊥ : &'_ (i32) ; + None -> ⌊shared@2⌋ ; +} + + +- op: +1: i32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -6588,15 +9902,21 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> @Box(@shared_loan({3}, 1: 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 -> true ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({2}, @Box(@shared_loan({3}, 1: i32))) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⌊shared@3⌋ ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> true ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + None -> ⊥ : &'_ (i32) ; + None -> ⌊shared@2⌋ ; } @@ -6612,19 +9932,53 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> @Box(@shared_loan({3}, 1: 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 -> true ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({2}, @Box(@shared_loan({3}, 1: i32))) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⌊shared@3⌋ ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> true ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + None -> ⊥ : &'_ (i32) ; + None -> ⌊shared@2⌋ ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({2}, @Box(@shared_loan({3}, 1: i32))) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⌊shared@3⌋ ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> true ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + None -> ⊥ : &'_ (i32) ; + None -> ⌊shared@2⌋ ; +} + + +- op: +move var@7 + [[32mDebug[39m] **About to evaluate statement**: [ assert(¬move var@6); @@ -6638,15 +9992,21 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> @Box(@shared_loan({3}, 1: i32)) ; - x -> ⊥ : &'_ mut (i32) ; - var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> ⌊shared@3⌋ ; - var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> false ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({2}, @Box(@shared_loan({3}, 1: i32))) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⌊shared@3⌋ ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> false ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + None -> ⊥ : &'_ (i32) ; + None -> ⌊shared@2⌋ ; } @@ -6662,19 +10022,53 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> @Box(@shared_loan({3}, 1: i32)) ; - x -> ⊥ : &'_ mut (i32) ; - var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> ⌊shared@3⌋ ; - var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> false ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({2}, @Box(@shared_loan({3}, 1: i32))) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⌊shared@3⌋ ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> false ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + None -> ⊥ : &'_ (i32) ; + None -> ⌊shared@2⌋ ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({2}, @Box(@shared_loan({3}, 1: i32))) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⌊shared@3⌋ ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> false ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + None -> ⊥ : &'_ (i32) ; + None -> ⌊shared@2⌋ ; +} + + +- op: +move var@6 + [[32mDebug[39m] **About to evaluate statement**: [ drop(b); @@ -6687,15 +10081,21 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> @Box(@shared_loan({3}, 1: 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 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({2}, @Box(@shared_loan({3}, 1: i32))) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⌊shared@3⌋ ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + None -> ⊥ : &'_ (i32) ; + None -> ⌊shared@2⌋ ; } @@ -6711,20 +10111,132 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> @Box(@shared_loan({3}, 1: 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 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({2}, @Box(@shared_loan({3}, 1: i32))) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⌊shared@3⌋ ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + None -> ⊥ : &'_ (i32) ; + None -> ⌊shared@2⌋ ; } [[32mDebug[39m] drop_value: place: b +[[32mDebug[39m] end borrow: 2: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (b) -> ⊥ : std::boxed::Box<i32> ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⌊shared@3⌋ ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + None -> ⊥ : &'_ (i32) ; + None -> ⌊shared@2⌋ ; + None -> @shared_loan({2}, @Box(@shared_loan({3}, 1: i32))) ; +} + +[[32mDebug[39m] give_back: +- bid: 2 +- content: ⌊shared@2⌋ +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (b) -> ⊥ : std::boxed::Box<i32> ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⌊shared@3⌋ ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + None -> ⊥ : &'_ (i32) ; + None -> ⊥ : &'_ (std::boxed::Box<i32>) ; + None -> @shared_loan({2}, @Box(@shared_loan({3}, 1: i32))) ; +} + + +[[32mDebug[39m] end borrow: 3: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (b) -> ⊥ : std::boxed::Box<i32> ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⌊shared@3⌋ ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + None -> ⊥ : &'_ (i32) ; + None -> ⊥ : &'_ (std::boxed::Box<i32>) ; + None -> @Box(@shared_loan({3}, 1: i32)) ; +} + +[[32mDebug[39m] give_back: +- bid: 3 +- content: ⌊shared@3⌋ +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (b) -> ⊥ : std::boxed::Box<i32> ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + None -> ⊥ : &'_ (i32) ; + None -> ⊥ : &'_ (std::boxed::Box<i32>) ; + None -> @Box(@shared_loan({3}, 1: i32)) ; +} + + [[32mDebug[39m] **About to evaluate statement**: [ return @@ -6736,15 +10248,21 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> ⊥ : std::boxed::Box<i32> ; - x -> ⊥ : &'_ mut (i32) ; - var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> ⊥ : &'_ (i32) ; - var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> ⊥ : std::boxed::Box<i32> ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<i32> ; + None -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + None -> ⊥ : &'_ (i32) ; + None -> ⊥ : &'_ (std::boxed::Box<i32>) ; } @@ -6770,15 +10288,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : i32 ; - px -> ⊥ : &'_ (i32) ; - y -> ⊥ : i32 ; - var@4 -> ⊥ : i32 ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : i32 ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (px) -> ⊥ : &'_ (i32) ; + Some (y) -> ⊥ : i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; } @@ -6794,19 +10312,41 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : i32 ; - px -> ⊥ : &'_ (i32) ; - y -> ⊥ : i32 ; - var@4 -> ⊥ : i32 ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : i32 ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (px) -> ⊥ : &'_ (i32) ; + Some (y) -> ⊥ : i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (px) -> ⊥ : &'_ (i32) ; + Some (y) -> ⊥ : i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; +} + + +- op: +0: i32 + [[32mDebug[39m] **About to evaluate statement**: [ px := &x; @@ -6826,15 +10366,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - px -> ⊥ : &'_ (i32) ; - y -> ⊥ : i32 ; - var@4 -> ⊥ : i32 ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : i32 ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (px) -> ⊥ : &'_ (i32) ; + Some (y) -> ⊥ : i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; } @@ -6850,15 +10390,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - px -> ⊥ : &'_ (i32) ; - y -> ⊥ : i32 ; - var@4 -> ⊥ : i32 ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : i32 ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (px) -> ⊥ : &'_ (i32) ; + Some (y) -> ⊥ : i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; } @@ -6881,15 +10421,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> @shared_loan({0}, 0: i32) ; - px -> ⌊shared@0⌋ ; - y -> ⊥ : i32 ; - var@4 -> ⊥ : i32 ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : i32 ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> ⊥ : i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; } @@ -6905,19 +10445,41 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> @shared_loan({0}, 0: i32) ; - px -> ⌊shared@0⌋ ; - y -> ⊥ : i32 ; - var@4 -> ⊥ : i32 ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : i32 ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> ⊥ : i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> ⊥ : i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; +} + + +- op: +copy x + [[32mDebug[39m] **About to evaluate statement**: [ y := move copy_int(move var@4); @@ -6935,15 +10497,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> @shared_loan({0}, 0: i32) ; - px -> ⌊shared@0⌋ ; - y -> ⊥ : i32 ; - var@4 -> 0: i32 ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : i32 ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> ⊥ : i32 ; + Some (var@4) -> 0: i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; } @@ -6959,18 +10521,40 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> @shared_loan({0}, 0: i32) ; - px -> ⌊shared@0⌋ ; - y -> ⊥ : i32 ; - var@4 -> 0: i32 ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : i32 ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> ⊥ : i32 ; + Some (var@4) -> 0: i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> ⊥ : i32 ; + Some (var@4) -> 0: i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; } +- op: +move var@4 [[32mDebug[39m] **About to evaluate statement**: [ @@ -6984,21 +10568,21 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> @shared_loan({0}, 0: i32) ; - px -> ⌊shared@0⌋ ; - y -> ⊥ : i32 ; - var@4 -> ⊥ : i32 ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : i32 ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> ⊥ : i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; } # Frame 1: { - var@0 -> ⊥ : i32 ; - x -> 0: i32 ; + Some (var@0) -> ⊥ : i32 ; + Some (x) -> 0: i32 ; } @@ -7014,24 +10598,52 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> @shared_loan({0}, 0: i32) ; - px -> ⌊shared@0⌋ ; - y -> ⊥ : i32 ; - var@4 -> ⊥ : i32 ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : i32 ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> ⊥ : i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; +} + +# Frame 1: +{ + Some (var@0) -> ⊥ : i32 ; + Some (x) -> 0: i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> ⊥ : i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; } # Frame 1: { - var@0 -> ⊥ : i32 ; - x -> 0: i32 ; + Some (var@0) -> ⊥ : i32 ; + Some (x) -> 0: i32 ; } +- op: +copy x [[32mDebug[39m] **About to evaluate statement**: [ @@ -7044,21 +10656,21 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> @shared_loan({0}, 0: i32) ; - px -> ⌊shared@0⌋ ; - y -> ⊥ : i32 ; - var@4 -> ⊥ : i32 ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : i32 ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> ⊥ : i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; } # Frame 1: { - var@0 -> 0: i32 ; - x -> 0: i32 ; + Some (var@0) -> 0: i32 ; + Some (x) -> 0: i32 ; } @@ -7069,48 +10681,51 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> @shared_loan({0}, 0: i32) ; - px -> ⌊shared@0⌋ ; - y -> ⊥ : i32 ; - var@4 -> ⊥ : i32 ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : i32 ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> ⊥ : i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; } # Frame 1: { - var@0 -> 0: i32 ; - x -> 0: i32 ; + Some (var@0) -> 0: i32 ; + Some (x) -> 0: i32 ; } -[[32mDebug[39m] ctx_pop_frame: locals to drop: [1] -[[32mDebug[39m] drop_value: place: x -[[32mDebug[39m] ctx_pop_frame: after dropping local variables: +[[32mDebug[39m] eval_operand: +- ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { - var@0 -> ⊥ : () ; - x -> @shared_loan({0}, 0: i32) ; - px -> ⌊shared@0⌋ ; - y -> ⊥ : i32 ; - var@4 -> ⊥ : i32 ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : i32 ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> ⊥ : i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; } # Frame 1: { - var@0 -> 0: i32 ; - x -> ⊥ : i32 ; + Some (var@0) -> 0: i32 ; + Some (x) -> 0: i32 ; } + +- op: +move var@0 + [[32mDebug[39m] **About to evaluate statement**: [ var@7 := copy *(px); @@ -7127,15 +10742,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> @shared_loan({0}, 0: i32) ; - px -> ⌊shared@0⌋ ; - y -> 0: i32 ; - var@4 -> ⊥ : i32 ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : i32 ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> 0: i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : i32 ; + None -> 0: i32 ; } @@ -7151,19 +10768,45 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> @shared_loan({0}, 0: i32) ; - px -> ⌊shared@0⌋ ; - y -> 0: i32 ; - var@4 -> ⊥ : i32 ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : i32 ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> 0: i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : i32 ; + None -> 0: i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> 0: i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : i32 ; + None -> 0: i32 ; +} + + +- op: +copy *(px) + [[32mDebug[39m] **About to evaluate statement**: [ var@8 := copy y; @@ -7179,15 +10822,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> @shared_loan({0}, 0: i32) ; - px -> ⌊shared@0⌋ ; - y -> 0: i32 ; - var@4 -> ⊥ : i32 ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : bool ; - var@7 -> 0: i32 ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> 0: i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> 0: i32 ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : i32 ; + None -> 0: i32 ; } @@ -7203,18 +10848,44 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> @shared_loan({0}, 0: i32) ; - px -> ⌊shared@0⌋ ; - y -> 0: i32 ; - var@4 -> ⊥ : i32 ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : bool ; - var@7 -> 0: i32 ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> 0: i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> 0: i32 ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : i32 ; + None -> 0: i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> 0: i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> 0: i32 ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : i32 ; + None -> 0: i32 ; } +- op: +copy y [[32mDebug[39m] **About to evaluate statement**: [ @@ -7230,15 +10901,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> @shared_loan({0}, 0: i32) ; - px -> ⌊shared@0⌋ ; - y -> 0: i32 ; - var@4 -> ⊥ : i32 ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : bool ; - var@7 -> 0: i32 ; - var@8 -> 0: i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> 0: i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> 0: i32 ; + Some (var@8) -> 0: i32 ; + None -> ⊥ : i32 ; + None -> 0: i32 ; } @@ -7254,18 +10927,68 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> @shared_loan({0}, 0: i32) ; - px -> ⌊shared@0⌋ ; - y -> 0: i32 ; - var@4 -> ⊥ : i32 ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : bool ; - var@7 -> 0: i32 ; - var@8 -> 0: i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> 0: i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> 0: i32 ; + Some (var@8) -> 0: i32 ; + None -> ⊥ : i32 ; + None -> 0: i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> 0: i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> 0: i32 ; + Some (var@8) -> 0: i32 ; + None -> ⊥ : i32 ; + None -> 0: i32 ; } +- op: +move var@7 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> 0: i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> 0: i32 ; + None -> ⊥ : i32 ; + None -> 0: i32 ; +} + + +- op: +move var@8 [[32mDebug[39m] **About to evaluate statement**: [ @@ -7280,15 +11003,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> @shared_loan({0}, 0: i32) ; - px -> ⌊shared@0⌋ ; - y -> 0: i32 ; - var@4 -> ⊥ : i32 ; - var@5 -> ⊥ : bool ; - var@6 -> true ; - var@7 -> ⊥ : i32 ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> 0: i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> true ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : i32 ; + None -> 0: i32 ; } @@ -7304,19 +11029,45 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> @shared_loan({0}, 0: i32) ; - px -> ⌊shared@0⌋ ; - y -> 0: i32 ; - var@4 -> ⊥ : i32 ; - var@5 -> ⊥ : bool ; - var@6 -> true ; - var@7 -> ⊥ : i32 ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> 0: i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> true ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : i32 ; + None -> 0: i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> 0: i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> true ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : i32 ; + None -> 0: i32 ; +} + + +- op: +move var@6 + [[32mDebug[39m] **About to evaluate statement**: [ assert(¬move var@5); @@ -7329,15 +11080,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> @shared_loan({0}, 0: i32) ; - px -> ⌊shared@0⌋ ; - y -> 0: i32 ; - var@4 -> ⊥ : i32 ; - var@5 -> false ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : i32 ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> 0: i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> false ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : i32 ; + None -> 0: i32 ; } @@ -7353,19 +11106,45 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> @shared_loan({0}, 0: i32) ; - px -> ⌊shared@0⌋ ; - y -> 0: i32 ; - var@4 -> ⊥ : i32 ; - var@5 -> false ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : i32 ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> 0: i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> false ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : i32 ; + None -> 0: i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> 0: i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> false ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : i32 ; + None -> 0: i32 ; +} + + +- op: +move var@5 + [[32mDebug[39m] **About to evaluate statement**: [ return @@ -7377,15 +11156,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> @shared_loan({0}, 0: i32) ; - px -> ⌊shared@0⌋ ; - y -> 0: i32 ; - var@4 -> ⊥ : i32 ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : i32 ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> 0: i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; + None -> ⊥ : i32 ; + None -> 0: i32 ; } @@ -7413,14 +11194,14 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; } @@ -7436,14 +11217,14 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; } @@ -7469,14 +11250,14 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> test1::List::Nil ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> test1::List::Nil ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; } @@ -7492,14 +11273,14 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> test1::List::Nil ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> test1::List::Nil ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; } @@ -7509,52 +11290,103 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) - type_params: [test1::List<i32>] - args: [move var@3] - dest: var@2 +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> test1::List::Nil ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; +} + + +- op: +move var@3 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; +} + +# Frame 1: +{ + Some (@return) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@1) -> test1::List::Nil ; +} + + +- op: +move var@1 + [[32mDebug[39m] ctx_pop_frame: # Ended regions: {} # 2 frame(s) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; } # Frame 1: { - @return -> @Box(test1::List::Nil) ; - var@1 -> ⊥ : test1::List<i32> ; + Some (@return) -> @Box(test1::List::Nil) ; + Some (var@1) -> ⊥ : test1::List<i32> ; } -[[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: +[[32mDebug[39m] eval_operand: +- ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; } # Frame 1: { - @return -> @Box(test1::List::Nil) ; - var@1 -> ⊥ : test1::List<i32> ; + Some (@return) -> @Box(test1::List::Nil) ; + Some (var@1) -> ⊥ : test1::List<i32> ; } + +- op: +move @return + [[32mDebug[39m] **About to evaluate statement**: [ (l as test1::List::Cons).0 := 0: i32; @@ -7575,14 +11407,16 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> @Box(test1::List::Nil) ; - var@3 -> ⊥ : test1::List<i32> ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> @Box(test1::List::Nil) ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } @@ -7598,18 +11432,43 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> @Box(test1::List::Nil) ; - var@3 -> ⊥ : test1::List<i32> ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> @Box(test1::List::Nil) ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> @Box(test1::List::Nil) ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; +} + + +- op: +0: i32 + [[32mDebug[39m] expand_bottom_value_from_projection: pe: (Expressions.Field ((Expressions.ProjAdt (1, (Some 0))), 0)) ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) @@ -7632,14 +11491,16 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; - var@2 -> @Box(test1::List::Nil) ; - var@3 -> ⊥ : test1::List<i32> ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> @Box(test1::List::Nil) ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } @@ -7655,17 +11516,42 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; - var@2 -> @Box(test1::List::Nil) ; - var@3 -> ⊥ : test1::List<i32> ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> @Box(test1::List::Nil) ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> @Box(test1::List::Nil) ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } +- op: +move var@2 [[32mDebug[39m] **About to evaluate statement**: [ @@ -7685,14 +11571,16 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } @@ -7708,14 +11596,16 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } @@ -7737,14 +11627,16 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } @@ -7760,14 +11652,16 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } @@ -7788,14 +11682,16 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> @shared_loan({0}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⌊shared@0⌋ ; + Some (var@0) -> ⊥ : () ; + Some (l) -> @shared_loan({0}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⌊shared@0⌋ ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } @@ -7811,18 +11707,43 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> @shared_loan({0}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⌊shared@0⌋ ; + Some (var@0) -> ⊥ : () ; + Some (l) -> @shared_loan({0}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⌊shared@0⌋ ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> @shared_loan({0}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⌊shared@0⌋ ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; +} + + +- op: +copy var@7 + [[32mDebug[39m] **About to evaluate statement**: [ var@5 := move is_cons<i32>(move var@6); @@ -7838,14 +11759,16 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⌊shared@1⌋ ; - var@7 -> ⌊shared@0⌋ ; + Some (var@0) -> ⊥ : () ; + Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⌊shared@1⌋ ; + Some (var@7) -> ⌊shared@0⌋ ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } @@ -7861,18 +11784,43 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⌊shared@1⌋ ; - var@7 -> ⌊shared@0⌋ ; + Some (var@0) -> ⊥ : () ; + Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⌊shared@1⌋ ; + Some (var@7) -> ⌊shared@0⌋ ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⌊shared@1⌋ ; + Some (var@7) -> ⌊shared@0⌋ ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; +} + + +- op: +move var@6 + [[32mDebug[39m] **About to evaluate statement**: [ var@2 := discriminant(*(l)); @@ -7896,21 +11844,23 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⌊shared@0⌋ ; + Some (var@0) -> ⊥ : () ; + Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⌊shared@0⌋ ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } # Frame 1: { - var@0 -> ⊥ : bool ; - l -> ⌊shared@1⌋ ; - var@2 -> ⊥ : isize ; + Some (var@0) -> ⊥ : bool ; + Some (l) -> ⌊shared@1⌋ ; + Some (var@2) -> ⊥ : isize ; } @@ -7926,21 +11876,23 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⌊shared@0⌋ ; + Some (var@0) -> ⊥ : () ; + Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⌊shared@0⌋ ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } # Frame 1: { - var@0 -> ⊥ : bool ; - l -> ⌊shared@1⌋ ; - var@2 -> ⊥ : isize ; + Some (var@0) -> ⊥ : bool ; + Some (l) -> ⌊shared@1⌋ ; + Some (var@2) -> ⊥ : isize ; } @@ -7967,21 +11919,23 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⌊shared@0⌋ ; + Some (var@0) -> ⊥ : () ; + Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⌊shared@0⌋ ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } # Frame 1: { - var@0 -> ⊥ : bool ; - l -> ⌊shared@1⌋ ; - var@2 -> 0: isize ; + Some (var@0) -> ⊥ : bool ; + Some (l) -> ⌊shared@1⌋ ; + Some (var@2) -> 0: isize ; } @@ -8007,24 +11961,56 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⌊shared@0⌋ ; + Some (var@0) -> ⊥ : () ; + Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⌊shared@0⌋ ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; +} + +# Frame 1: +{ + Some (var@0) -> ⊥ : bool ; + Some (l) -> ⌊shared@1⌋ ; + Some (var@2) -> 0: isize ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⌊shared@0⌋ ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } # Frame 1: { - var@0 -> ⊥ : bool ; - l -> ⌊shared@1⌋ ; - var@2 -> 0: isize ; + Some (var@0) -> ⊥ : bool ; + Some (l) -> ⌊shared@1⌋ ; + Some (var@2) -> 0: isize ; } +- op: +move var@2 [[32mDebug[39m] **About to evaluate statement**: [ @@ -8037,24 +12023,56 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⌊shared@0⌋ ; + Some (var@0) -> ⊥ : () ; + Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⌊shared@0⌋ ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; +} + +# Frame 1: +{ + Some (var@0) -> ⊥ : bool ; + Some (l) -> ⌊shared@1⌋ ; + Some (var@2) -> ⊥ : isize ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⌊shared@0⌋ ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } # Frame 1: { - var@0 -> ⊥ : bool ; - l -> ⌊shared@1⌋ ; - var@2 -> ⊥ : isize ; + Some (var@0) -> ⊥ : bool ; + Some (l) -> ⌊shared@1⌋ ; + Some (var@2) -> ⊥ : isize ; } +- op: +true [[32mDebug[39m] **About to evaluate statement**: [ @@ -8067,21 +12085,23 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⌊shared@0⌋ ; + Some (var@0) -> ⊥ : () ; + Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⌊shared@0⌋ ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } # Frame 1: { - var@0 -> true ; - l -> ⌊shared@1⌋ ; - var@2 -> ⊥ : isize ; + Some (var@0) -> true ; + Some (l) -> ⌊shared@1⌋ ; + Some (var@2) -> ⊥ : isize ; } @@ -8092,49 +12112,55 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⌊shared@0⌋ ; + Some (var@0) -> ⊥ : () ; + Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⌊shared@0⌋ ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } # Frame 1: { - var@0 -> true ; - l -> ⌊shared@1⌋ ; - var@2 -> ⊥ : isize ; + Some (var@0) -> true ; + Some (l) -> ⌊shared@1⌋ ; + Some (var@2) -> ⊥ : isize ; } -[[32mDebug[39m] ctx_pop_frame: locals to drop: [2,1] -[[32mDebug[39m] drop_value: place: var@2 -[[32mDebug[39m] drop_value: place: l -[[32mDebug[39m] ctx_pop_frame: after dropping local variables: +[[32mDebug[39m] eval_operand: +- ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { - var@0 -> ⊥ : () ; - l -> @shared_loan({0}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⌊shared@0⌋ ; + Some (var@0) -> ⊥ : () ; + Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⌊shared@0⌋ ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } # Frame 1: { - var@0 -> true ; - l -> ⊥ : &'_ (test1::List<i32>) ; - var@2 -> ⊥ : isize ; + Some (var@0) -> true ; + Some (l) -> ⌊shared@1⌋ ; + Some (var@2) -> ⊥ : isize ; } + +- op: +move var@0 + [[32mDebug[39m] **About to evaluate statement**: [ var@4 := ¬ move var@5; @@ -8149,14 +12175,19 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> @shared_loan({0}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - var@4 -> ⊥ : bool ; - var@5 -> true ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⌊shared@0⌋ ; + Some (var@0) -> ⊥ : () ; + Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> true ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⌊shared@0⌋ ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; + None -> ⊥ : bool ; + None -> ⌊shared@1⌋ ; + None -> ⊥ : isize ; } @@ -8172,18 +12203,49 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> @shared_loan({0}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - var@4 -> ⊥ : bool ; - var@5 -> true ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⌊shared@0⌋ ; + Some (var@0) -> ⊥ : () ; + Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> true ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⌊shared@0⌋ ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; + None -> ⊥ : bool ; + None -> ⌊shared@1⌋ ; + None -> ⊥ : isize ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> true ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⌊shared@0⌋ ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; + None -> ⊥ : bool ; + None -> ⌊shared@1⌋ ; + None -> ⊥ : isize ; +} + + +- op: +move var@5 + [[32mDebug[39m] **About to evaluate statement**: [ assert(¬move var@4); @@ -8197,14 +12259,19 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> @shared_loan({0}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - var@4 -> false ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⌊shared@0⌋ ; + Some (var@0) -> ⊥ : () ; + Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> false ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⌊shared@0⌋ ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; + None -> ⊥ : bool ; + None -> ⌊shared@1⌋ ; + None -> ⊥ : isize ; } @@ -8220,18 +12287,49 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> @shared_loan({0}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - var@4 -> false ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⌊shared@0⌋ ; + Some (var@0) -> ⊥ : () ; + Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> false ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⌊shared@0⌋ ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; + None -> ⊥ : bool ; + None -> ⌊shared@1⌋ ; + None -> ⊥ : isize ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> false ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⌊shared@0⌋ ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; + None -> ⊥ : bool ; + None -> ⌊shared@1⌋ ; + None -> ⊥ : isize ; +} + + +- op: +move var@4 + [[32mDebug[39m] **About to evaluate statement**: [ drop(l); @@ -8244,14 +12342,19 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> @shared_loan({0}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⌊shared@0⌋ ; + Some (var@0) -> ⊥ : () ; + Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⌊shared@0⌋ ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; + None -> ⊥ : bool ; + None -> ⌊shared@1⌋ ; + None -> ⊥ : isize ; } @@ -8267,19 +12370,122 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> @shared_loan({0}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⌊shared@0⌋ ; + Some (var@0) -> ⊥ : () ; + Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⌊shared@0⌋ ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; + None -> ⊥ : bool ; + None -> ⌊shared@1⌋ ; + None -> ⊥ : isize ; } [[32mDebug[39m] drop_value: place: l +[[32mDebug[39m] end borrow: 0: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⌊shared@0⌋ ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; + None -> ⊥ : bool ; + None -> ⌊shared@1⌋ ; + None -> ⊥ : isize ; + None -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; +} + +[[32mDebug[39m] give_back: +- bid: 0 +- content: ⌊shared@0⌋ +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; + None -> ⊥ : bool ; + None -> ⌊shared@1⌋ ; + None -> ⊥ : isize ; + None -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; +} + + +[[32mDebug[39m] end borrow: 1: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; + None -> ⊥ : bool ; + None -> ⌊shared@1⌋ ; + None -> ⊥ : isize ; + None -> @shared_loan({1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; +} + +[[32mDebug[39m] give_back: +- bid: 1 +- content: ⌊shared@1⌋ +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; + None -> ⊥ : bool ; + None -> ⊥ : &'_ (test1::List<i32>) ; + None -> ⊥ : isize ; + None -> @shared_loan({1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; +} + + [[32mDebug[39m] **About to evaluate statement**: [ return @@ -8291,14 +12497,19 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; + None -> ⊥ : bool ; + None -> ⊥ : &'_ (test1::List<i32>) ; + None -> ⊥ : isize ; } @@ -8329,17 +12540,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; } @@ -8355,17 +12566,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; } @@ -8394,17 +12605,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> test1::List::Nil ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> test1::List::Nil ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; } @@ -8420,17 +12631,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> test1::List::Nil ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> test1::List::Nil ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; } @@ -8440,58 +12651,115 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) - type_params: [test1::List<i32>] - args: [move var@3] - dest: var@2 +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> test1::List::Nil ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; +} + + +- op: +move var@3 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; +} + +# Frame 1: +{ + Some (@return) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@1) -> test1::List::Nil ; +} + + +- op: +move var@1 + [[32mDebug[39m] ctx_pop_frame: # Ended regions: {} # 2 frame(s) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; } # Frame 1: { - @return -> @Box(test1::List::Nil) ; - var@1 -> ⊥ : test1::List<i32> ; + Some (@return) -> @Box(test1::List::Nil) ; + Some (var@1) -> ⊥ : test1::List<i32> ; } -[[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: +[[32mDebug[39m] eval_operand: +- ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; } # Frame 1: { - @return -> @Box(test1::List::Nil) ; - var@1 -> ⊥ : test1::List<i32> ; + Some (@return) -> @Box(test1::List::Nil) ; + Some (var@1) -> ⊥ : test1::List<i32> ; } + +- op: +move @return + [[32mDebug[39m] **About to evaluate statement**: [ (l as test1::List::Cons).0 := 0: i32; @@ -8515,17 +12783,19 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> @Box(test1::List::Nil) ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> @Box(test1::List::Nil) ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } @@ -8541,21 +12811,49 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> @Box(test1::List::Nil) ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> @Box(test1::List::Nil) ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> @Box(test1::List::Nil) ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; +} + + +- op: +0: i32 + [[32mDebug[39m] expand_bottom_value_from_projection: pe: (Expressions.Field ((Expressions.ProjAdt (1, (Some 0))), 0)) ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) @@ -8581,17 +12879,19 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; - var@2 -> @Box(test1::List::Nil) ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> @Box(test1::List::Nil) ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } @@ -8607,21 +12907,49 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; - var@2 -> @Box(test1::List::Nil) ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> @Box(test1::List::Nil) ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> @Box(test1::List::Nil) ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; +} + + +- op: +move var@2 + [[32mDebug[39m] **About to evaluate statement**: [ set_discriminant(l, 0); @@ -8643,17 +12971,19 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } @@ -8669,17 +12999,19 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } @@ -8704,17 +13036,19 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } @@ -8730,20 +13064,48 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } +- op: +move l [[32mDebug[39m] **About to evaluate statement**: [ @@ -8764,17 +13126,19 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } @@ -8790,21 +13154,49 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; +} + + +- op: +move var@7 + [[32mDebug[39m] **About to evaluate statement**: [ var@8 := false; @@ -8837,32 +13229,34 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } # Frame 1: { - var@0 -> ⊥ : (i32, test1::List<i32>) ; - l -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; - var@2 -> ⊥ : isize ; - hd -> ⊥ : i32 ; - tl -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@5 -> ⊥ : i32 ; - var@6 -> ⊥ : test1::List<i32> ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (i32, test1::List<i32>) ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@5) -> ⊥ : i32 ; + Some (var@6) -> ⊥ : test1::List<i32> ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } @@ -8878,35 +13272,78 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; +} + +# Frame 1: +{ + Some (var@0) -> ⊥ : (i32, test1::List<i32>) ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@5) -> ⊥ : i32 ; + Some (var@6) -> ⊥ : test1::List<i32> ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } # Frame 1: { - var@0 -> ⊥ : (i32, test1::List<i32>) ; - l -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; - var@2 -> ⊥ : isize ; - hd -> ⊥ : i32 ; - tl -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@5 -> ⊥ : i32 ; - var@6 -> ⊥ : test1::List<i32> ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (i32, test1::List<i32>) ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@5) -> ⊥ : i32 ; + Some (var@6) -> ⊥ : test1::List<i32> ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } +- op: +false [[32mDebug[39m] **About to evaluate statement**: [ @@ -8939,32 +13376,34 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } # Frame 1: { - var@0 -> ⊥ : (i32, test1::List<i32>) ; - l -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; - var@2 -> ⊥ : isize ; - hd -> ⊥ : i32 ; - tl -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@5 -> ⊥ : i32 ; - var@6 -> ⊥ : test1::List<i32> ; - var@7 -> ⊥ : bool ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (i32, test1::List<i32>) ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@5) -> ⊥ : i32 ; + Some (var@6) -> ⊥ : test1::List<i32> ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } @@ -8980,36 +13419,79 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } # Frame 1: { - var@0 -> ⊥ : (i32, test1::List<i32>) ; - l -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; - var@2 -> ⊥ : isize ; - hd -> ⊥ : i32 ; - tl -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@5 -> ⊥ : i32 ; - var@6 -> ⊥ : test1::List<i32> ; - var@7 -> ⊥ : bool ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (i32, test1::List<i32>) ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@5) -> ⊥ : i32 ; + Some (var@6) -> ⊥ : test1::List<i32> ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; +} + +# Frame 1: +{ + Some (var@0) -> ⊥ : (i32, test1::List<i32>) ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@5) -> ⊥ : i32 ; + Some (var@6) -> ⊥ : test1::List<i32> ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; +} + + +- op: +false + [[32mDebug[39m] **About to evaluate statement**: [ var@7 := true; @@ -9040,32 +13522,34 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } # Frame 1: { - var@0 -> ⊥ : (i32, test1::List<i32>) ; - l -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; - var@2 -> ⊥ : isize ; - hd -> ⊥ : i32 ; - tl -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@5 -> ⊥ : i32 ; - var@6 -> ⊥ : test1::List<i32> ; - var@7 -> false ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (i32, test1::List<i32>) ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@5) -> ⊥ : i32 ; + Some (var@6) -> ⊥ : test1::List<i32> ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } @@ -9081,36 +13565,79 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } # Frame 1: { - var@0 -> ⊥ : (i32, test1::List<i32>) ; - l -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; - var@2 -> ⊥ : isize ; - hd -> ⊥ : i32 ; - tl -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@5 -> ⊥ : i32 ; - var@6 -> ⊥ : test1::List<i32> ; - var@7 -> false ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (i32, test1::List<i32>) ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@5) -> ⊥ : i32 ; + Some (var@6) -> ⊥ : test1::List<i32> ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; +} + +# Frame 1: +{ + Some (var@0) -> ⊥ : (i32, test1::List<i32>) ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@5) -> ⊥ : i32 ; + Some (var@6) -> ⊥ : test1::List<i32> ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; +} + + +- op: +true + [[32mDebug[39m] **About to evaluate statement**: [ var@8 := true; @@ -9140,32 +13667,34 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } # Frame 1: { - var@0 -> ⊥ : (i32, test1::List<i32>) ; - l -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; - var@2 -> ⊥ : isize ; - hd -> ⊥ : i32 ; - tl -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@5 -> ⊥ : i32 ; - var@6 -> ⊥ : test1::List<i32> ; - var@7 -> true ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (i32, test1::List<i32>) ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@5) -> ⊥ : i32 ; + Some (var@6) -> ⊥ : test1::List<i32> ; + Some (var@7) -> true ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } @@ -9181,35 +13710,78 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; +} + +# Frame 1: +{ + Some (var@0) -> ⊥ : (i32, test1::List<i32>) ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@5) -> ⊥ : i32 ; + Some (var@6) -> ⊥ : test1::List<i32> ; + Some (var@7) -> true ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } # Frame 1: { - var@0 -> ⊥ : (i32, test1::List<i32>) ; - l -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; - var@2 -> ⊥ : isize ; - hd -> ⊥ : i32 ; - tl -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@5 -> ⊥ : i32 ; - var@6 -> ⊥ : test1::List<i32> ; - var@7 -> true ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (i32, test1::List<i32>) ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@5) -> ⊥ : i32 ; + Some (var@6) -> ⊥ : test1::List<i32> ; + Some (var@7) -> true ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } +- op: +true [[32mDebug[39m] **About to evaluate statement**: [ @@ -9239,32 +13811,34 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } # Frame 1: { - var@0 -> ⊥ : (i32, test1::List<i32>) ; - l -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; - var@2 -> ⊥ : isize ; - hd -> ⊥ : i32 ; - tl -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@5 -> ⊥ : i32 ; - var@6 -> ⊥ : test1::List<i32> ; - var@7 -> true ; - var@8 -> true ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (i32, test1::List<i32>) ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@5) -> ⊥ : i32 ; + Some (var@6) -> ⊥ : test1::List<i32> ; + Some (var@7) -> true ; + Some (var@8) -> true ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } @@ -9280,32 +13854,34 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } # Frame 1: { - var@0 -> ⊥ : (i32, test1::List<i32>) ; - l -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; - var@2 -> ⊥ : isize ; - hd -> ⊥ : i32 ; - tl -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@5 -> ⊥ : i32 ; - var@6 -> ⊥ : test1::List<i32> ; - var@7 -> true ; - var@8 -> true ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (i32, test1::List<i32>) ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@5) -> ⊥ : i32 ; + Some (var@6) -> ⊥ : test1::List<i32> ; + Some (var@7) -> true ; + Some (var@8) -> true ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } @@ -9337,35 +13913,78 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; +} + +# Frame 1: +{ + Some (var@0) -> ⊥ : (i32, test1::List<i32>) ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; + Some (var@2) -> 0: isize ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@5) -> ⊥ : i32 ; + Some (var@6) -> ⊥ : test1::List<i32> ; + Some (var@7) -> true ; + Some (var@8) -> true ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } # Frame 1: { - var@0 -> ⊥ : (i32, test1::List<i32>) ; - l -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; - var@2 -> 0: isize ; - hd -> ⊥ : i32 ; - tl -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@5 -> ⊥ : i32 ; - var@6 -> ⊥ : test1::List<i32> ; - var@7 -> true ; - var@8 -> true ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (i32, test1::List<i32>) ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; + Some (var@2) -> 0: isize ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@5) -> ⊥ : i32 ; + Some (var@6) -> ⊥ : test1::List<i32> ; + Some (var@7) -> true ; + Some (var@8) -> true ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } +- op: +move var@2 [[32mDebug[39m] **About to evaluate statement**: [ @@ -9387,32 +14006,34 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } # Frame 1: { - var@0 -> ⊥ : (i32, test1::List<i32>) ; - l -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; - var@2 -> ⊥ : isize ; - hd -> ⊥ : i32 ; - tl -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@5 -> ⊥ : i32 ; - var@6 -> ⊥ : test1::List<i32> ; - var@7 -> true ; - var@8 -> true ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (i32, test1::List<i32>) ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@5) -> ⊥ : i32 ; + Some (var@6) -> ⊥ : test1::List<i32> ; + Some (var@7) -> true ; + Some (var@8) -> true ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } @@ -9428,36 +14049,79 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } # Frame 1: { - var@0 -> ⊥ : (i32, test1::List<i32>) ; - l -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; - var@2 -> ⊥ : isize ; - hd -> ⊥ : i32 ; - tl -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@5 -> ⊥ : i32 ; - var@6 -> ⊥ : test1::List<i32> ; - var@7 -> true ; - var@8 -> true ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (i32, test1::List<i32>) ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@5) -> ⊥ : i32 ; + Some (var@6) -> ⊥ : test1::List<i32> ; + Some (var@7) -> true ; + Some (var@8) -> true ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; +} + +# Frame 1: +{ + Some (var@0) -> ⊥ : (i32, test1::List<i32>) ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@5) -> ⊥ : i32 ; + Some (var@6) -> ⊥ : test1::List<i32> ; + Some (var@7) -> true ; + Some (var@8) -> true ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; +} + + +- op: +false + [[32mDebug[39m] **About to evaluate statement**: [ hd := move (l as test1::List::Cons).0; @@ -9477,32 +14141,34 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } # Frame 1: { - var@0 -> ⊥ : (i32, test1::List<i32>) ; - l -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; - var@2 -> ⊥ : isize ; - hd -> ⊥ : i32 ; - tl -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@5 -> ⊥ : i32 ; - var@6 -> ⊥ : test1::List<i32> ; - var@7 -> true ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (i32, test1::List<i32>) ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@5) -> ⊥ : i32 ; + Some (var@6) -> ⊥ : test1::List<i32> ; + Some (var@7) -> true ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } @@ -9518,36 +14184,79 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } # Frame 1: { - var@0 -> ⊥ : (i32, test1::List<i32>) ; - l -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; - var@2 -> ⊥ : isize ; - hd -> ⊥ : i32 ; - tl -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@5 -> ⊥ : i32 ; - var@6 -> ⊥ : test1::List<i32> ; - var@7 -> true ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (i32, test1::List<i32>) ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@5) -> ⊥ : i32 ; + Some (var@6) -> ⊥ : test1::List<i32> ; + Some (var@7) -> true ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; +} + +# Frame 1: +{ + Some (var@0) -> ⊥ : (i32, test1::List<i32>) ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@5) -> ⊥ : i32 ; + Some (var@6) -> ⊥ : test1::List<i32> ; + Some (var@7) -> true ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; +} + + +- op: +move (l as test1::List::Cons).0 + [[32mDebug[39m] **About to evaluate statement**: [ var@7 := false; @@ -9566,32 +14275,34 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } # Frame 1: { - var@0 -> ⊥ : (i32, test1::List<i32>) ; - l -> test1::List::Cons { 0 = ⊥ : i32; 1 = @Box(test1::List::Nil); } ; - var@2 -> ⊥ : isize ; - hd -> 0: i32 ; - tl -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@5 -> ⊥ : i32 ; - var@6 -> ⊥ : test1::List<i32> ; - var@7 -> true ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (i32, test1::List<i32>) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = @Box(test1::List::Nil); } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> 0: i32 ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@5) -> ⊥ : i32 ; + Some (var@6) -> ⊥ : test1::List<i32> ; + Some (var@7) -> true ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } @@ -9607,36 +14318,79 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } # Frame 1: { - var@0 -> ⊥ : (i32, test1::List<i32>) ; - l -> test1::List::Cons { 0 = ⊥ : i32; 1 = @Box(test1::List::Nil); } ; - var@2 -> ⊥ : isize ; - hd -> 0: i32 ; - tl -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@5 -> ⊥ : i32 ; - var@6 -> ⊥ : test1::List<i32> ; - var@7 -> true ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (i32, test1::List<i32>) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = @Box(test1::List::Nil); } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> 0: i32 ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@5) -> ⊥ : i32 ; + Some (var@6) -> ⊥ : test1::List<i32> ; + Some (var@7) -> true ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } +# Frame 1: +{ + Some (var@0) -> ⊥ : (i32, test1::List<i32>) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = @Box(test1::List::Nil); } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> 0: i32 ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@5) -> ⊥ : i32 ; + Some (var@6) -> ⊥ : test1::List<i32> ; + Some (var@7) -> true ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; +} +- op: +false + [[32mDebug[39m] **About to evaluate statement**: [ tl := move (l as test1::List::Cons).1; @@ -9654,32 +14408,34 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } # Frame 1: { - var@0 -> ⊥ : (i32, test1::List<i32>) ; - l -> test1::List::Cons { 0 = ⊥ : i32; 1 = @Box(test1::List::Nil); } ; - var@2 -> ⊥ : isize ; - hd -> 0: i32 ; - tl -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@5 -> ⊥ : i32 ; - var@6 -> ⊥ : test1::List<i32> ; - var@7 -> false ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (i32, test1::List<i32>) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = @Box(test1::List::Nil); } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> 0: i32 ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@5) -> ⊥ : i32 ; + Some (var@6) -> ⊥ : test1::List<i32> ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } @@ -9695,36 +14451,79 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } # Frame 1: { - var@0 -> ⊥ : (i32, test1::List<i32>) ; - l -> test1::List::Cons { 0 = ⊥ : i32; 1 = @Box(test1::List::Nil); } ; - var@2 -> ⊥ : isize ; - hd -> 0: i32 ; - tl -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@5 -> ⊥ : i32 ; - var@6 -> ⊥ : test1::List<i32> ; - var@7 -> false ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (i32, test1::List<i32>) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = @Box(test1::List::Nil); } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> 0: i32 ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@5) -> ⊥ : i32 ; + Some (var@6) -> ⊥ : test1::List<i32> ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; +} + +# Frame 1: +{ + Some (var@0) -> ⊥ : (i32, test1::List<i32>) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = @Box(test1::List::Nil); } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> 0: i32 ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@5) -> ⊥ : i32 ; + Some (var@6) -> ⊥ : test1::List<i32> ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; +} + + +- op: +move (l as test1::List::Cons).1 + [[32mDebug[39m] **About to evaluate statement**: [ var@5 := move hd; @@ -9741,32 +14540,34 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } # Frame 1: { - var@0 -> ⊥ : (i32, test1::List<i32>) ; - l -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; - var@2 -> ⊥ : isize ; - hd -> 0: i32 ; - tl -> @Box(test1::List::Nil) ; - var@5 -> ⊥ : i32 ; - var@6 -> ⊥ : test1::List<i32> ; - var@7 -> false ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (i32, test1::List<i32>) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> 0: i32 ; + Some (tl) -> @Box(test1::List::Nil) ; + Some (var@5) -> ⊥ : i32 ; + Some (var@6) -> ⊥ : test1::List<i32> ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } @@ -9782,35 +14583,78 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; +} + +# Frame 1: +{ + Some (var@0) -> ⊥ : (i32, test1::List<i32>) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> 0: i32 ; + Some (tl) -> @Box(test1::List::Nil) ; + Some (var@5) -> ⊥ : i32 ; + Some (var@6) -> ⊥ : test1::List<i32> ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } # Frame 1: { - var@0 -> ⊥ : (i32, test1::List<i32>) ; - l -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; - var@2 -> ⊥ : isize ; - hd -> 0: i32 ; - tl -> @Box(test1::List::Nil) ; - var@5 -> ⊥ : i32 ; - var@6 -> ⊥ : test1::List<i32> ; - var@7 -> false ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (i32, test1::List<i32>) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> 0: i32 ; + Some (tl) -> @Box(test1::List::Nil) ; + Some (var@5) -> ⊥ : i32 ; + Some (var@6) -> ⊥ : test1::List<i32> ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } +- op: +move hd [[32mDebug[39m] **About to evaluate statement**: [ @@ -9827,32 +14671,34 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } # Frame 1: { - var@0 -> ⊥ : (i32, test1::List<i32>) ; - l -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; - var@2 -> ⊥ : isize ; - hd -> ⊥ : i32 ; - tl -> @Box(test1::List::Nil) ; - var@5 -> 0: i32 ; - var@6 -> ⊥ : test1::List<i32> ; - var@7 -> false ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (i32, test1::List<i32>) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> @Box(test1::List::Nil) ; + Some (var@5) -> 0: i32 ; + Some (var@6) -> ⊥ : test1::List<i32> ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } @@ -9868,36 +14714,79 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } # Frame 1: { - var@0 -> ⊥ : (i32, test1::List<i32>) ; - l -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; - var@2 -> ⊥ : isize ; - hd -> ⊥ : i32 ; - tl -> @Box(test1::List::Nil) ; - var@5 -> 0: i32 ; - var@6 -> ⊥ : test1::List<i32> ; - var@7 -> false ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (i32, test1::List<i32>) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> @Box(test1::List::Nil) ; + Some (var@5) -> 0: i32 ; + Some (var@6) -> ⊥ : test1::List<i32> ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; +} + +# Frame 1: +{ + Some (var@0) -> ⊥ : (i32, test1::List<i32>) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> @Box(test1::List::Nil) ; + Some (var@5) -> 0: i32 ; + Some (var@6) -> ⊥ : test1::List<i32> ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; +} + + +- op: +move deref_box(tl) + [[32mDebug[39m] **About to evaluate statement**: [ (var@0).0 := move var@5; @@ -9912,32 +14801,34 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } # Frame 1: { - var@0 -> ⊥ : (i32, test1::List<i32>) ; - l -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; - var@2 -> ⊥ : isize ; - hd -> ⊥ : i32 ; - tl -> @Box(⊥ : test1::List<i32>) ; - var@5 -> 0: i32 ; - var@6 -> test1::List::Nil ; - var@7 -> false ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (i32, test1::List<i32>) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> @Box(⊥ : test1::List<i32>) ; + Some (var@5) -> 0: i32 ; + Some (var@6) -> test1::List::Nil ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } @@ -9953,36 +14844,79 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } # Frame 1: { - var@0 -> ⊥ : (i32, test1::List<i32>) ; - l -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; - var@2 -> ⊥ : isize ; - hd -> ⊥ : i32 ; - tl -> @Box(⊥ : test1::List<i32>) ; - var@5 -> 0: i32 ; - var@6 -> test1::List::Nil ; - var@7 -> false ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (i32, test1::List<i32>) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> @Box(⊥ : test1::List<i32>) ; + Some (var@5) -> 0: i32 ; + Some (var@6) -> test1::List::Nil ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; +} + +# Frame 1: +{ + Some (var@0) -> ⊥ : (i32, test1::List<i32>) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> @Box(⊥ : test1::List<i32>) ; + Some (var@5) -> 0: i32 ; + Some (var@6) -> test1::List::Nil ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; +} + + +- op: +move var@5 + [[32mDebug[39m] expand_bottom_value_from_projection: pe: (Expressions.Field ((Expressions.ProjTuple 2), 0)) ty: (Types.Adt (Types.Tuple, [], @@ -10002,32 +14936,34 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } # Frame 1: { - var@0 -> (0: i32, ⊥ : test1::List<i32>) ; - l -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; - var@2 -> ⊥ : isize ; - hd -> ⊥ : i32 ; - tl -> @Box(⊥ : test1::List<i32>) ; - var@5 -> ⊥ : i32 ; - var@6 -> test1::List::Nil ; - var@7 -> false ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> (0: i32, ⊥ : test1::List<i32>) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> @Box(⊥ : test1::List<i32>) ; + Some (var@5) -> ⊥ : i32 ; + Some (var@6) -> test1::List::Nil ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } @@ -10043,36 +14979,79 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } # Frame 1: { - var@0 -> (0: i32, ⊥ : test1::List<i32>) ; - l -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; - var@2 -> ⊥ : isize ; - hd -> ⊥ : i32 ; - tl -> @Box(⊥ : test1::List<i32>) ; - var@5 -> ⊥ : i32 ; - var@6 -> test1::List::Nil ; - var@7 -> false ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> (0: i32, ⊥ : test1::List<i32>) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> @Box(⊥ : test1::List<i32>) ; + Some (var@5) -> ⊥ : i32 ; + Some (var@6) -> test1::List::Nil ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; +} + +# Frame 1: +{ + Some (var@0) -> (0: i32, ⊥ : test1::List<i32>) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> @Box(⊥ : test1::List<i32>) ; + Some (var@5) -> ⊥ : i32 ; + Some (var@6) -> test1::List::Nil ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; +} + + +- op: +move var@6 + [[32mDebug[39m] **About to evaluate statement**: [ var@9 := move alloc::alloc::box_free<test1::List<i32>>(move tl); @@ -10085,32 +15064,34 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } # Frame 1: { - var@0 -> (0: i32, test1::List::Nil) ; - l -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; - var@2 -> ⊥ : isize ; - hd -> ⊥ : i32 ; - tl -> @Box(⊥ : test1::List<i32>) ; - var@5 -> ⊥ : i32 ; - var@6 -> ⊥ : test1::List<i32> ; - var@7 -> false ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> (0: i32, test1::List::Nil) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> @Box(⊥ : test1::List<i32>) ; + Some (var@5) -> ⊥ : i32 ; + Some (var@6) -> ⊥ : test1::List<i32> ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } @@ -10126,32 +15107,34 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } # Frame 1: { - var@0 -> (0: i32, test1::List::Nil) ; - l -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; - var@2 -> ⊥ : isize ; - hd -> ⊥ : i32 ; - tl -> @Box(⊥ : test1::List<i32>) ; - var@5 -> ⊥ : i32 ; - var@6 -> ⊥ : test1::List<i32> ; - var@7 -> false ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> (0: i32, test1::List::Nil) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> @Box(⊥ : test1::List<i32>) ; + Some (var@5) -> ⊥ : i32 ; + Some (var@6) -> ⊥ : test1::List<i32> ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } @@ -10173,32 +15156,34 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } # Frame 1: { - var@0 -> (0: i32, test1::List::Nil) ; - l -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; - var@2 -> ⊥ : isize ; - hd -> ⊥ : i32 ; - tl -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@5 -> ⊥ : i32 ; - var@6 -> ⊥ : test1::List<i32> ; - var@7 -> false ; - var@8 -> false ; - var@9 -> () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> (0: i32, test1::List::Nil) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@5) -> ⊥ : i32 ; + Some (var@6) -> ⊥ : test1::List<i32> ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> () ; + Some (var@10) -> ⊥ : isize ; } @@ -10209,79 +15194,77 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } # Frame 1: { - var@0 -> (0: i32, test1::List::Nil) ; - l -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; - var@2 -> ⊥ : isize ; - hd -> ⊥ : i32 ; - tl -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@5 -> ⊥ : i32 ; - var@6 -> ⊥ : test1::List<i32> ; - var@7 -> false ; - var@8 -> false ; - var@9 -> () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> (0: i32, test1::List::Nil) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@5) -> ⊥ : i32 ; + Some (var@6) -> ⊥ : test1::List<i32> ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> () ; + Some (var@10) -> ⊥ : isize ; } -[[32mDebug[39m] ctx_pop_frame: locals to drop: [10,9,8,7,6,5,4,3,2,1] -[[32mDebug[39m] drop_value: place: var@10 -[[32mDebug[39m] drop_value: place: var@9 -[[32mDebug[39m] drop_value: place: var@8 -[[32mDebug[39m] drop_value: place: var@7 -[[32mDebug[39m] drop_value: place: var@6 -[[32mDebug[39m] drop_value: place: var@5 -[[32mDebug[39m] drop_value: place: tl -[[32mDebug[39m] drop_value: place: hd -[[32mDebug[39m] drop_value: place: var@2 -[[32mDebug[39m] drop_value: place: l -[[32mDebug[39m] ctx_pop_frame: after dropping local variables: +[[32mDebug[39m] eval_operand: +- ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; } # Frame 1: { - var@0 -> (0: i32, test1::List::Nil) ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : isize ; - hd -> ⊥ : i32 ; - tl -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@5 -> ⊥ : i32 ; - var@6 -> ⊥ : test1::List<i32> ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> (0: i32, test1::List::Nil) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@5) -> ⊥ : i32 ; + Some (var@6) -> ⊥ : test1::List<i32> ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> () ; + Some (var@10) -> ⊥ : isize ; } + +- op: +move var@0 + [[32mDebug[39m] **About to evaluate statement**: [ hd := copy (var@6).0; @@ -10300,17 +15283,30 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> (0: i32, test1::List::Nil) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> (0: i32, test1::List::Nil) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; + None -> ⊥ : (i32, test1::List<i32>) ; + None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + None -> ⊥ : isize ; + None -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : i32 ; + None -> ⊥ : test1::List<i32> ; + None -> false ; + None -> false ; + None -> () ; + None -> ⊥ : isize ; } @@ -10326,21 +15322,71 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> (0: i32, test1::List::Nil) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> (0: i32, test1::List::Nil) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; + None -> ⊥ : (i32, test1::List<i32>) ; + None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + None -> ⊥ : isize ; + None -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : i32 ; + None -> ⊥ : test1::List<i32> ; + None -> false ; + None -> false ; + None -> () ; + None -> ⊥ : isize ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> (0: i32, test1::List::Nil) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; + None -> ⊥ : (i32, test1::List<i32>) ; + None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + None -> ⊥ : isize ; + None -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : i32 ; + None -> ⊥ : test1::List<i32> ; + None -> false ; + None -> false ; + None -> () ; + None -> ⊥ : isize ; +} + + +- op: +copy (var@6).0 + [[32mDebug[39m] **About to evaluate statement**: [ tl := move (var@6).1; @@ -10358,17 +15404,30 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> 0: i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> (0: i32, test1::List::Nil) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> 0: i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> (0: i32, test1::List::Nil) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; + None -> ⊥ : (i32, test1::List<i32>) ; + None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + None -> ⊥ : isize ; + None -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : i32 ; + None -> ⊥ : test1::List<i32> ; + None -> false ; + None -> false ; + None -> () ; + None -> ⊥ : isize ; } @@ -10384,20 +15443,70 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> 0: i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> (0: i32, test1::List::Nil) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> 0: i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> (0: i32, test1::List::Nil) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; + None -> ⊥ : (i32, test1::List<i32>) ; + None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + None -> ⊥ : isize ; + None -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : i32 ; + None -> ⊥ : test1::List<i32> ; + None -> false ; + None -> false ; + None -> () ; + None -> ⊥ : isize ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> 0: i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> (0: i32, test1::List::Nil) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; + None -> ⊥ : (i32, test1::List<i32>) ; + None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + None -> ⊥ : isize ; + None -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : i32 ; + None -> ⊥ : test1::List<i32> ; + None -> false ; + None -> false ; + None -> () ; + None -> ⊥ : isize ; } +- op: +move (var@6).1 [[32mDebug[39m] **About to evaluate statement**: [ @@ -10415,17 +15524,30 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> 0: i32 ; - tl -> test1::List::Nil ; - var@6 -> (0: i32, ⊥ : test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> 0: i32 ; + Some (tl) -> test1::List::Nil ; + Some (var@6) -> (0: i32, ⊥ : test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; + None -> ⊥ : (i32, test1::List<i32>) ; + None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + None -> ⊥ : isize ; + None -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : i32 ; + None -> ⊥ : test1::List<i32> ; + None -> false ; + None -> false ; + None -> () ; + None -> ⊥ : isize ; } @@ -10441,21 +15563,71 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> 0: i32 ; - tl -> test1::List::Nil ; - var@6 -> (0: i32, ⊥ : test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> 0: i32 ; + Some (tl) -> test1::List::Nil ; + Some (var@6) -> (0: i32, ⊥ : test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; + None -> ⊥ : (i32, test1::List<i32>) ; + None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + None -> ⊥ : isize ; + None -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : i32 ; + None -> ⊥ : test1::List<i32> ; + None -> false ; + None -> false ; + None -> () ; + None -> ⊥ : isize ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> 0: i32 ; + Some (tl) -> test1::List::Nil ; + Some (var@6) -> (0: i32, ⊥ : test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; + None -> ⊥ : (i32, test1::List<i32>) ; + None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + None -> ⊥ : isize ; + None -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : i32 ; + None -> ⊥ : test1::List<i32> ; + None -> false ; + None -> false ; + None -> () ; + None -> ⊥ : isize ; +} + + +- op: +copy hd + [[32mDebug[39m] **About to evaluate statement**: [ var@9 := move var@10 == 0: i32; @@ -10471,17 +15643,30 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> 0: i32 ; - tl -> test1::List::Nil ; - var@6 -> (0: i32, ⊥ : test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> 0: i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> 0: i32 ; + Some (tl) -> test1::List::Nil ; + Some (var@6) -> (0: i32, ⊥ : test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> 0: i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; + None -> ⊥ : (i32, test1::List<i32>) ; + None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + None -> ⊥ : isize ; + None -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : i32 ; + None -> ⊥ : test1::List<i32> ; + None -> false ; + None -> false ; + None -> () ; + None -> ⊥ : isize ; } @@ -10497,21 +15682,108 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> 0: i32 ; - tl -> test1::List::Nil ; - var@6 -> (0: i32, ⊥ : test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> 0: i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> 0: i32 ; + Some (tl) -> test1::List::Nil ; + Some (var@6) -> (0: i32, ⊥ : test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> 0: i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; + None -> ⊥ : (i32, test1::List<i32>) ; + None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + None -> ⊥ : isize ; + None -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : i32 ; + None -> ⊥ : test1::List<i32> ; + None -> false ; + None -> false ; + None -> () ; + None -> ⊥ : isize ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> 0: i32 ; + Some (tl) -> test1::List::Nil ; + Some (var@6) -> (0: i32, ⊥ : test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> 0: i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; + None -> ⊥ : (i32, test1::List<i32>) ; + None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + None -> ⊥ : isize ; + None -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : i32 ; + None -> ⊥ : test1::List<i32> ; + None -> false ; + None -> false ; + None -> () ; + None -> ⊥ : isize ; +} + + +- op: +move var@10 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> 0: i32 ; + Some (tl) -> test1::List::Nil ; + Some (var@6) -> (0: i32, ⊥ : test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; + None -> ⊥ : (i32, test1::List<i32>) ; + None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + None -> ⊥ : isize ; + None -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : i32 ; + None -> ⊥ : test1::List<i32> ; + None -> false ; + None -> false ; + None -> () ; + None -> ⊥ : isize ; +} + + +- op: +0: i32 + [[32mDebug[39m] **About to evaluate statement**: [ var@8 := ¬ move var@9; @@ -10526,17 +15798,30 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> 0: i32 ; - tl -> test1::List::Nil ; - var@6 -> (0: i32, ⊥ : test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> true ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> 0: i32 ; + Some (tl) -> test1::List::Nil ; + Some (var@6) -> (0: i32, ⊥ : test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> true ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; + None -> ⊥ : (i32, test1::List<i32>) ; + None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + None -> ⊥ : isize ; + None -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : i32 ; + None -> ⊥ : test1::List<i32> ; + None -> false ; + None -> false ; + None -> () ; + None -> ⊥ : isize ; } @@ -10552,21 +15837,71 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> 0: i32 ; - tl -> test1::List::Nil ; - var@6 -> (0: i32, ⊥ : test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> true ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> 0: i32 ; + Some (tl) -> test1::List::Nil ; + Some (var@6) -> (0: i32, ⊥ : test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> true ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; + None -> ⊥ : (i32, test1::List<i32>) ; + None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + None -> ⊥ : isize ; + None -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : i32 ; + None -> ⊥ : test1::List<i32> ; + None -> false ; + None -> false ; + None -> () ; + None -> ⊥ : isize ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> 0: i32 ; + Some (tl) -> test1::List::Nil ; + Some (var@6) -> (0: i32, ⊥ : test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> true ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; + None -> ⊥ : (i32, test1::List<i32>) ; + None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + None -> ⊥ : isize ; + None -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : i32 ; + None -> ⊥ : test1::List<i32> ; + None -> false ; + None -> false ; + None -> () ; + None -> ⊥ : isize ; +} + + +- op: +move var@9 + [[32mDebug[39m] **About to evaluate statement**: [ assert(¬move var@8); @@ -10580,17 +15915,30 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> 0: i32 ; - tl -> test1::List::Nil ; - var@6 -> (0: i32, ⊥ : test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> false ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> 0: i32 ; + Some (tl) -> test1::List::Nil ; + Some (var@6) -> (0: i32, ⊥ : test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; + None -> ⊥ : (i32, test1::List<i32>) ; + None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + None -> ⊥ : isize ; + None -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : i32 ; + None -> ⊥ : test1::List<i32> ; + None -> false ; + None -> false ; + None -> () ; + None -> ⊥ : isize ; } @@ -10606,20 +15954,70 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> 0: i32 ; - tl -> test1::List::Nil ; - var@6 -> (0: i32, ⊥ : test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> false ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> 0: i32 ; + Some (tl) -> test1::List::Nil ; + Some (var@6) -> (0: i32, ⊥ : test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; + None -> ⊥ : (i32, test1::List<i32>) ; + None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + None -> ⊥ : isize ; + None -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : i32 ; + None -> ⊥ : test1::List<i32> ; + None -> false ; + None -> false ; + None -> () ; + None -> ⊥ : isize ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> 0: i32 ; + Some (tl) -> test1::List::Nil ; + Some (var@6) -> (0: i32, ⊥ : test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; + None -> ⊥ : (i32, test1::List<i32>) ; + None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + None -> ⊥ : isize ; + None -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : i32 ; + None -> ⊥ : test1::List<i32> ; + None -> false ; + None -> false ; + None -> () ; + None -> ⊥ : isize ; } +- op: +move var@8 [[32mDebug[39m] **About to evaluate statement**: [ @@ -10633,17 +16031,30 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> 0: i32 ; - tl -> test1::List::Nil ; - var@6 -> (0: i32, ⊥ : test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> 0: i32 ; + Some (tl) -> test1::List::Nil ; + Some (var@6) -> (0: i32, ⊥ : test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; + None -> ⊥ : (i32, test1::List<i32>) ; + None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + None -> ⊥ : isize ; + None -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : i32 ; + None -> ⊥ : test1::List<i32> ; + None -> false ; + None -> false ; + None -> () ; + None -> ⊥ : isize ; } @@ -10659,17 +16070,30 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> 0: i32 ; - tl -> test1::List::Nil ; - var@6 -> (0: i32, ⊥ : test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> 0: i32 ; + Some (tl) -> test1::List::Nil ; + Some (var@6) -> (0: i32, ⊥ : test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; + None -> ⊥ : (i32, test1::List<i32>) ; + None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + None -> ⊥ : isize ; + None -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : i32 ; + None -> ⊥ : test1::List<i32> ; + None -> false ; + None -> false ; + None -> () ; + None -> ⊥ : isize ; } @@ -10686,17 +16110,30 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> 0: i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> (0: i32, ⊥ : test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> 0: i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> (0: i32, ⊥ : test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : test1::List<i32> ; + None -> ⊥ : (i32, test1::List<i32>) ; + None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + None -> ⊥ : isize ; + None -> ⊥ : i32 ; + None -> ⊥ : std::boxed::Box<test1::List<i32>> ; + None -> ⊥ : i32 ; + None -> ⊥ : test1::List<i32> ; + None -> false ; + None -> false ; + None -> () ; + None -> ⊥ : isize ; } @@ -10734,25 +16171,25 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : i32 ; - y -> ⊥ : i32 ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> ⊥ : &'_ mut (i32) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (y) -> ⊥ : i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -10768,28 +16205,60 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : i32 ; - y -> ⊥ : i32 ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> ⊥ : &'_ mut (i32) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (y) -> ⊥ : i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (y) -> ⊥ : i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +- op: +0: i32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -10822,25 +16291,25 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⊥ : i32 ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> ⊥ : &'_ mut (i32) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⊥ : i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -10856,29 +16325,61 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⊥ : i32 ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> ⊥ : &'_ mut (i32) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⊥ : i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⊥ : i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +- op: +0: i32 + [[32mDebug[39m] **About to evaluate statement**: [ var@5 := &mut x; @@ -10909,25 +16410,25 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> 0: i32 ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> ⊥ : &'_ mut (i32) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> 0: i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -10943,25 +16444,25 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> 0: i32 ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> ⊥ : &'_ mut (i32) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> 0: i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -10995,25 +16496,25 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> 0: i32 ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> &mut@0 (0: i32) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> 0: i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (0: i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -11029,25 +16530,25 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> 0: i32 ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> &mut@0 (0: i32) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> 0: i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (0: i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -11080,25 +16581,25 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> 0: i32 ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⌊inactivated_mut@1⌋ ; - var@5 -> &mut@0 (@shared_loan({1}, 0: i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> 0: i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⌊inactivated_mut@1⌋ ; + Some (var@5) -> &mut@0 (@shared_loan({1}, 0: i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -11114,25 +16615,25 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> 0: i32 ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⌊inactivated_mut@1⌋ ; - var@5 -> &mut@0 (@shared_loan({1}, 0: i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> 0: i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⌊inactivated_mut@1⌋ ; + Some (var@5) -> &mut@0 (@shared_loan({1}, 0: i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -11164,25 +16665,25 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⌊inactivated_mut@1⌋ ; - var@5 -> &mut@0 (@shared_loan({1}, 0: i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (0: i32) ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⌊inactivated_mut@1⌋ ; + Some (var@5) -> &mut@0 (@shared_loan({1}, 0: i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (0: i32) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -11198,25 +16699,25 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⌊inactivated_mut@1⌋ ; - var@5 -> &mut@0 (@shared_loan({1}, 0: i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (0: i32) ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⌊inactivated_mut@1⌋ ; + Some (var@5) -> &mut@0 (@shared_loan({1}, 0: i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (0: i32) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -11247,25 +16748,25 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⌊inactivated_mut@1⌋ ; - var@5 -> &mut@0 (@shared_loan({1}, 0: i32)) ; - var@6 -> ⌊inactivated_mut@3⌋ ; - var@7 -> &mut@2 (@shared_loan({3}, 0: i32)) ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⌊inactivated_mut@1⌋ ; + Some (var@5) -> &mut@0 (@shared_loan({1}, 0: i32)) ; + Some (var@6) -> ⌊inactivated_mut@3⌋ ; + Some (var@7) -> &mut@2 (@shared_loan({3}, 0: i32)) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -11281,37 +16782,129 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⌊inactivated_mut@1⌋ ; - var@5 -> &mut@0 (@shared_loan({1}, 0: i32)) ; - var@6 -> ⌊inactivated_mut@3⌋ ; - var@7 -> &mut@2 (@shared_loan({3}, 0: i32)) ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⌊inactivated_mut@1⌋ ; + Some (var@5) -> &mut@0 (@shared_loan({1}, 0: i32)) ; + Some (var@6) -> ⌊inactivated_mut@3⌋ ; + Some (var@7) -> &mut@2 (@shared_loan({3}, 0: i32)) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } [[32mDebug[39m] activate_inactivated_mut_borrow: resulting value: -{ Values.value = - (Values.Concrete (Values.Scalar { Values.value = 0; int_ty = Types.I32 })); - ty = (Types.Integer Types.I32) } +0: i32 [[32mDebug[39m] activate_inactivated_mut_borrow: resulting value: -{ Values.value = - (Values.Concrete (Values.Scalar { Values.value = 0; int_ty = Types.I32 })); - ty = (Types.Integer Types.I32) } +0: i32 +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> &mut@1 (0: i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> &mut@3 (0: i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +- op: +true + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> &mut@1 (0: i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> &mut@3 (0: i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +- op: +move var@4 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> &mut@3 (0: i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +- op: +move var@6 + [[32mDebug[39m] **About to evaluate statement**: [ var@4 := copy b; @@ -11330,34 +16923,34 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> &mut@0 (⌊mut@1⌋) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (⌊mut@3⌋) ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } # Frame 1: { - var@0 -> ⊥ : &'_ mut (i32) ; - b -> true ; - x -> &mut@1 (0: i32) ; - y -> &mut@3 (0: i32) ; - var@4 -> ⊥ : bool ; + Some (var@0) -> ⊥ : &'_ mut (i32) ; + Some (b) -> true ; + Some (x) -> &mut@1 (0: i32) ; + Some (y) -> &mut@3 (0: i32) ; + Some (var@4) -> ⊥ : bool ; } @@ -11373,37 +16966,78 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> &mut@0 (⌊mut@1⌋) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (⌊mut@3⌋) ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + +# Frame 1: +{ + Some (var@0) -> ⊥ : &'_ mut (i32) ; + Some (b) -> true ; + Some (x) -> &mut@1 (0: i32) ; + Some (y) -> &mut@3 (0: i32) ; + Some (var@4) -> ⊥ : bool ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } # Frame 1: { - var@0 -> ⊥ : &'_ mut (i32) ; - b -> true ; - x -> &mut@1 (0: i32) ; - y -> &mut@3 (0: i32) ; - var@4 -> ⊥ : bool ; + Some (var@0) -> ⊥ : &'_ mut (i32) ; + Some (b) -> true ; + Some (x) -> &mut@1 (0: i32) ; + Some (y) -> &mut@3 (0: i32) ; + Some (var@4) -> ⊥ : bool ; } +- op: +copy b [[32mDebug[39m] **About to evaluate statement**: [ @@ -11422,34 +17056,34 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> &mut@0 (⌊mut@1⌋) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (⌊mut@3⌋) ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } # Frame 1: { - var@0 -> ⊥ : &'_ mut (i32) ; - b -> true ; - x -> &mut@1 (0: i32) ; - y -> &mut@3 (0: i32) ; - var@4 -> true ; + Some (var@0) -> ⊥ : &'_ mut (i32) ; + Some (b) -> true ; + Some (x) -> &mut@1 (0: i32) ; + Some (y) -> &mut@3 (0: i32) ; + Some (var@4) -> true ; } @@ -11470,37 +17104,78 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> &mut@0 (⌊mut@1⌋) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (⌊mut@3⌋) ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + +# Frame 1: +{ + Some (var@0) -> ⊥ : &'_ mut (i32) ; + Some (b) -> true ; + Some (x) -> &mut@1 (0: i32) ; + Some (y) -> &mut@3 (0: i32) ; + Some (var@4) -> true ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } # Frame 1: { - var@0 -> ⊥ : &'_ mut (i32) ; - b -> true ; - x -> &mut@1 (0: i32) ; - y -> &mut@3 (0: i32) ; - var@4 -> true ; + Some (var@0) -> ⊥ : &'_ mut (i32) ; + Some (b) -> true ; + Some (x) -> &mut@1 (0: i32) ; + Some (y) -> &mut@3 (0: i32) ; + Some (var@4) -> true ; } +- op: +move var@4 [[32mDebug[39m] **About to evaluate statement**: [ @@ -11513,34 +17188,34 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> &mut@0 (⌊mut@1⌋) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (⌊mut@3⌋) ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } # Frame 1: { - var@0 -> ⊥ : &'_ mut (i32) ; - b -> true ; - x -> &mut@1 (0: i32) ; - y -> &mut@3 (0: i32) ; - var@4 -> ⊥ : bool ; + Some (var@0) -> ⊥ : &'_ mut (i32) ; + Some (b) -> true ; + Some (x) -> &mut@1 (0: i32) ; + Some (y) -> &mut@3 (0: i32) ; + Some (var@4) -> ⊥ : bool ; } @@ -11556,34 +17231,34 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> &mut@0 (⌊mut@1⌋) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (⌊mut@3⌋) ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } # Frame 1: { - var@0 -> &mut@4 (0: i32) ; - b -> true ; - x -> &mut@1 (⌊mut@4⌋) ; - y -> &mut@3 (0: i32) ; - var@4 -> ⊥ : bool ; + Some (var@0) -> &mut@4 (0: i32) ; + Some (b) -> true ; + Some (x) -> &mut@1 (⌊mut@4⌋) ; + Some (y) -> &mut@3 (0: i32) ; + Some (var@4) -> ⊥ : bool ; } @@ -11594,77 +17269,77 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> &mut@0 (⌊mut@1⌋) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (⌊mut@3⌋) ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } # Frame 1: { - var@0 -> &mut@4 (0: i32) ; - b -> true ; - x -> &mut@1 (⌊mut@4⌋) ; - y -> &mut@3 (0: i32) ; - var@4 -> ⊥ : bool ; + Some (var@0) -> &mut@4 (0: i32) ; + Some (b) -> true ; + Some (x) -> &mut@1 (⌊mut@4⌋) ; + Some (y) -> &mut@3 (0: i32) ; + Some (var@4) -> ⊥ : bool ; } -[[32mDebug[39m] ctx_pop_frame: locals to drop: [4,3,2,1] -[[32mDebug[39m] drop_value: place: var@4 -[[32mDebug[39m] drop_value: place: y -[[32mDebug[39m] drop_value: place: x -[[32mDebug[39m] drop_value: place: b -[[32mDebug[39m] ctx_pop_frame: after dropping local variables: +[[32mDebug[39m] eval_operand: +- ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> &mut@0 (⌊mut@4⌋) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (0: i32) ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } # Frame 1: { - var@0 -> &mut@4 (0: i32) ; - b -> ⊥ : bool ; - x -> ⊥ : &'_ mut (i32) ; - y -> ⊥ : &'_ mut (i32) ; - var@4 -> ⊥ : bool ; + Some (var@0) -> &mut@4 (0: i32) ; + Some (b) -> true ; + Some (x) -> &mut@1 (⌊mut@4⌋) ; + Some (y) -> &mut@3 (0: i32) ; + Some (var@4) -> ⊥ : bool ; } + +- op: +move var@0 + [[32mDebug[39m] **About to evaluate statement**: [ var@8 := copy *(z); @@ -11690,25 +17365,30 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - z -> &mut@4 (0: i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> &mut@0 (⌊mut@4⌋) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (0: i32) ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (0: i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> &mut@1 (⌊mut@4⌋) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; } @@ -11724,28 +17404,70 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - z -> &mut@4 (0: i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> &mut@0 (⌊mut@4⌋) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (0: i32) ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (0: i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> &mut@1 (⌊mut@4⌋) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (0: i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> &mut@1 (⌊mut@4⌋) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; } +- op: +copy *(z) [[32mDebug[39m] **About to evaluate statement**: [ @@ -11771,25 +17493,30 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - z -> &mut@4 (0: i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> &mut@0 (⌊mut@4⌋) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (0: i32) ; - var@8 -> 0: i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (0: i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> &mut@1 (⌊mut@4⌋) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; } @@ -11805,29 +17532,108 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - z -> &mut@4 (0: i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> &mut@0 (⌊mut@4⌋) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (0: i32) ; - var@8 -> 0: i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (0: i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> &mut@1 (⌊mut@4⌋) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (0: i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> &mut@1 (⌊mut@4⌋) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; +} + + +- op: +copy var@8 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (0: i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> &mut@1 (⌊mut@4⌋) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; +} + + +- op: +1: i32 + [[32mDebug[39m] **About to evaluate statement**: [ var@12 := copy *(z); @@ -11851,25 +17657,30 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - z -> &mut@4 (1: i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> &mut@0 (⌊mut@4⌋) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (0: i32) ; - var@8 -> 0: i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (1: i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> &mut@1 (⌊mut@4⌋) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; } @@ -11885,29 +17696,71 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - z -> &mut@4 (1: i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> &mut@0 (⌊mut@4⌋) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (0: i32) ; - var@8 -> 0: i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (1: i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> &mut@1 (⌊mut@4⌋) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (1: i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> &mut@1 (⌊mut@4⌋) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; +} + + +- op: +copy *(z) + [[32mDebug[39m] **About to evaluate statement**: [ var@11 := move var@12 == 1: i32; @@ -11930,25 +17783,30 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - z -> &mut@4 (1: i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> &mut@0 (⌊mut@4⌋) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (0: i32) ; - var@8 -> 0: i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> 1: i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (1: i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> 1: i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> &mut@1 (⌊mut@4⌋) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; } @@ -11964,29 +17822,108 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - z -> &mut@4 (1: i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> &mut@0 (⌊mut@4⌋) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (0: i32) ; - var@8 -> 0: i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> 1: i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (1: i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> 1: i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> &mut@1 (⌊mut@4⌋) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (1: i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> 1: i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> &mut@1 (⌊mut@4⌋) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; +} + + +- op: +move var@12 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (1: i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> &mut@1 (⌊mut@4⌋) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; +} + + +- op: +1: i32 + [[32mDebug[39m] **About to evaluate statement**: [ var@10 := ¬ move var@11; @@ -12008,25 +17945,30 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - z -> &mut@4 (1: i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> &mut@0 (⌊mut@4⌋) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (0: i32) ; - var@8 -> 0: i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> true ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (1: i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> true ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> &mut@1 (⌊mut@4⌋) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; } @@ -12042,29 +17984,71 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - z -> &mut@4 (1: i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> &mut@0 (⌊mut@4⌋) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (0: i32) ; - var@8 -> 0: i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> true ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (1: i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> true ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> &mut@1 (⌊mut@4⌋) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (1: i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> true ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> &mut@1 (⌊mut@4⌋) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; +} + + +- op: +move var@11 + [[32mDebug[39m] **About to evaluate statement**: [ assert(¬move var@10); @@ -12085,25 +18069,30 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - z -> &mut@4 (1: i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> &mut@0 (⌊mut@4⌋) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (0: i32) ; - var@8 -> 0: i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> false ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (1: i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> false ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> &mut@1 (⌊mut@4⌋) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; } @@ -12119,29 +18108,71 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - z -> &mut@4 (1: i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> &mut@0 (⌊mut@4⌋) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (0: i32) ; - var@8 -> 0: i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> false ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (1: i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> false ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> &mut@1 (⌊mut@4⌋) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (1: i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> false ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> &mut@1 (⌊mut@4⌋) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; +} + + +- op: +move var@10 + [[32mDebug[39m] **About to evaluate statement**: [ var@15 := copy x; @@ -12161,25 +18192,30 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - z -> &mut@4 (1: i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> &mut@0 (⌊mut@4⌋) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (0: i32) ; - var@8 -> 0: i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (1: i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> &mut@1 (⌊mut@4⌋) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; } @@ -12195,29 +18231,454 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - z -> &mut@4 (1: i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> &mut@0 (⌊mut@4⌋) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (0: i32) ; - var@8 -> 0: i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (1: i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> &mut@1 (⌊mut@4⌋) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (1: i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> &mut@1 (⌊mut@4⌋) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; +} + + +- op: +copy x + +[[32mDebug[39m] end borrow: 0: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (1: i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> &mut@1 (⌊mut@4⌋) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; +} + +[[32mDebug[39m] end borrow: 0: found outer borrows/abs:(InterpreterBorrowsCore.InnerLoans (InterpreterBorrowsCore.Borrow 1)) +[[32mDebug[39m] end borrow: 1: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (1: i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> &mut@1 (⌊mut@4⌋) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; +} + +[[32mDebug[39m] end borrow: 1: found outer borrows/abs:(InterpreterBorrowsCore.InnerLoans (InterpreterBorrowsCore.Borrow 4)) +[[32mDebug[39m] end borrow: 4: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (1: i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> &mut@1 (⌊mut@4⌋) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; +} + +[[32mDebug[39m] give_back: +- bid: 4 +- content: &mut@4 (1: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> &mut@1 (⌊mut@4⌋) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; +} + + +[[32mDebug[39m] give_back_value: +- bid: 4 +- value: 1: i32 +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> &mut@1 (⌊mut@4⌋) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; +} + + +[[32mDebug[39m] end borrow: 1: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> &mut@1 (1: i32) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; +} + +[[32mDebug[39m] give_back: +- bid: 1 +- content: &mut@1 (1: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> ⊥ : &'_ mut (i32) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; +} + + +[[32mDebug[39m] give_back_value: +- bid: 1 +- value: 1: i32 +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> ⊥ : &'_ mut (i32) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; +} + + +[[32mDebug[39m] end borrow: 0: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (1: i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> ⊥ : &'_ mut (i32) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; +} + +[[32mDebug[39m] give_back: +- bid: 0 +- content: &mut@0 (1: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> ⊥ : &'_ mut (i32) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; +} + + +[[32mDebug[39m] give_back_value: +- bid: 0 +- value: 1: i32 +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> ⊥ : &'_ mut (i32) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; +} + + [[32mDebug[39m] **About to evaluate statement**: [ var@14 := move var@15 == 1: i32; @@ -12236,25 +18697,30 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - y -> ⌊mut@2⌋ ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> ⊥ : &'_ mut (i32) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (0: i32) ; - var@8 -> 0: i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> 1: i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> 1: i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> ⊥ : &'_ mut (i32) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; } @@ -12270,29 +18736,108 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - y -> ⌊mut@2⌋ ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> ⊥ : &'_ mut (i32) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (0: i32) ; - var@8 -> 0: i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> 1: i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> 1: i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> ⊥ : &'_ mut (i32) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> 1: i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> ⊥ : &'_ mut (i32) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; +} + + +- op: +move var@15 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> ⊥ : &'_ mut (i32) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; +} + + +- op: +1: i32 + [[32mDebug[39m] **About to evaluate statement**: [ var@13 := ¬ move var@14; @@ -12310,25 +18855,30 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - y -> ⌊mut@2⌋ ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> ⊥ : &'_ mut (i32) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (0: i32) ; - var@8 -> 0: i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> true ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> true ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> ⊥ : &'_ mut (i32) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; } @@ -12344,29 +18894,71 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - y -> ⌊mut@2⌋ ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> ⊥ : &'_ mut (i32) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (0: i32) ; - var@8 -> 0: i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> true ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> true ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> ⊥ : &'_ mut (i32) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> true ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> ⊥ : &'_ mut (i32) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; +} + + +- op: +move var@14 + [[32mDebug[39m] **About to evaluate statement**: [ assert(¬move var@13); @@ -12383,25 +18975,30 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - y -> ⌊mut@2⌋ ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> ⊥ : &'_ mut (i32) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (0: i32) ; - var@8 -> 0: i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> false ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> false ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> ⊥ : &'_ mut (i32) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; } @@ -12417,28 +19014,70 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - y -> ⌊mut@2⌋ ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> ⊥ : &'_ mut (i32) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (0: i32) ; - var@8 -> 0: i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> false ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> false ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> ⊥ : &'_ mut (i32) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> false ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> ⊥ : &'_ mut (i32) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; } +- op: +move var@13 [[32mDebug[39m] **About to evaluate statement**: [ @@ -12455,25 +19094,30 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - y -> ⌊mut@2⌋ ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> ⊥ : &'_ mut (i32) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (0: i32) ; - var@8 -> 0: i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> ⊥ : &'_ mut (i32) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; } @@ -12489,28 +19133,314 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - y -> ⌊mut@2⌋ ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> ⊥ : &'_ mut (i32) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (0: i32) ; - var@8 -> 0: i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> ⊥ : &'_ mut (i32) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> ⊥ : &'_ mut (i32) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; } +- op: +copy y + +[[32mDebug[39m] end borrow: 2: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> ⊥ : &'_ mut (i32) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; +} + +[[32mDebug[39m] end borrow: 2: found outer borrows/abs:(InterpreterBorrowsCore.InnerLoans (InterpreterBorrowsCore.Borrow 3)) +[[32mDebug[39m] end borrow: 3: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> ⊥ : &'_ mut (i32) ; + None -> &mut@3 (0: i32) ; + None -> ⊥ : bool ; +} + +[[32mDebug[39m] give_back: +- bid: 3 +- content: &mut@3 (0: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : bool ; +} + + +[[32mDebug[39m] give_back_value: +- bid: 3 +- value: 0: i32 +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : bool ; +} + + +[[32mDebug[39m] end borrow: 2: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (0: i32) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : bool ; +} + +[[32mDebug[39m] give_back: +- bid: 2 +- content: &mut@2 (0: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : bool ; +} + + +[[32mDebug[39m] give_back_value: +- bid: 2 +- value: 0: i32 +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : bool ; +} + [[32mDebug[39m] **About to evaluate statement**: [ @@ -12526,25 +19456,30 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - y -> 0: i32 ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> ⊥ : &'_ mut (i32) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : &'_ mut (i32) ; - var@8 -> 0: i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> 0: i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (y) -> 0: i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> 0: i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : bool ; } @@ -12560,28 +19495,107 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - y -> 0: i32 ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> ⊥ : &'_ mut (i32) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : &'_ mut (i32) ; - var@8 -> 0: i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> 0: i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (y) -> 0: i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> 0: i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : bool ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (y) -> 0: i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> 0: i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : bool ; } +- op: +move var@18 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (y) -> 0: i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : bool ; +} + + +- op: +0: i32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -12596,25 +19610,30 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - y -> 0: i32 ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> ⊥ : &'_ mut (i32) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : &'_ mut (i32) ; - var@8 -> 0: i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> true ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (y) -> 0: i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> true ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : bool ; } @@ -12630,29 +19649,71 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - y -> 0: i32 ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> ⊥ : &'_ mut (i32) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : &'_ mut (i32) ; - var@8 -> 0: i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> true ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (y) -> 0: i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> true ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : bool ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (y) -> 0: i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> true ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : bool ; +} + + +- op: +move var@17 + [[32mDebug[39m] **About to evaluate statement**: [ assert(¬move var@16); @@ -12665,25 +19726,30 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - y -> 0: i32 ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> ⊥ : &'_ mut (i32) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : &'_ mut (i32) ; - var@8 -> 0: i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> false ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (y) -> 0: i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> false ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : bool ; } @@ -12699,29 +19765,71 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - y -> 0: i32 ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> ⊥ : &'_ mut (i32) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : &'_ mut (i32) ; - var@8 -> 0: i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> false ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (y) -> 0: i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> false ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : bool ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (y) -> 0: i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> false ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : bool ; +} + + +- op: +move var@16 + [[32mDebug[39m] **About to evaluate statement**: [ return @@ -12733,25 +19841,30 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - y -> 0: i32 ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> ⊥ : &'_ mut (i32) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : &'_ mut (i32) ; - var@8 -> 0: i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (y) -> 0: i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> 0: i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (i32) ; + None -> true ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : &'_ mut (i32) ; + None -> ⊥ : bool ; } @@ -12781,17 +19894,17 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⊥ : (&'_ mut (u32), u32) ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - pp1 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⊥ : (&'_ mut (u32), u32) ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; } @@ -12807,21 +19920,45 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⊥ : (&'_ mut (u32), u32) ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - pp1 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⊥ : (&'_ mut (u32), u32) ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⊥ : (&'_ mut (u32), u32) ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; +} + + +- op: +0: u32 + [[32mDebug[39m] **About to evaluate statement**: [ px := &mut x; @@ -12845,17 +19982,17 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: u32 ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⊥ : (&'_ mut (u32), u32) ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - pp1 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: u32 ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⊥ : (&'_ mut (u32), u32) ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; } @@ -12871,17 +20008,17 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: u32 ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⊥ : (&'_ mut (u32), u32) ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - pp1 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: u32 ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⊥ : (&'_ mut (u32), u32) ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; } @@ -12908,17 +20045,17 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@0 (0: u32) ; - p -> ⊥ : (&'_ mut (u32), u32) ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - pp1 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (0: u32) ; + Some (p) -> ⊥ : (&'_ mut (u32), u32) ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; } @@ -12934,21 +20071,45 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@0 (0: u32) ; - p -> ⊥ : (&'_ mut (u32), u32) ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - pp1 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (0: u32) ; + Some (p) -> ⊥ : (&'_ mut (u32), u32) ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (0: u32) ; + Some (p) -> ⊥ : (&'_ mut (u32), u32) ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; +} + + +- op: +move px + [[32mDebug[39m] **About to evaluate statement**: [ (p).0 := move var@4; @@ -12970,17 +20131,17 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⊥ : (&'_ mut (u32), u32) ; - var@4 -> &mut@0 (0: u32) ; - pp0 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - pp1 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⊥ : (&'_ mut (u32), u32) ; + Some (var@4) -> &mut@0 (0: u32) ; + Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; } @@ -12996,20 +20157,44 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⊥ : (&'_ mut (u32), u32) ; - var@4 -> &mut@0 (0: u32) ; - pp0 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - pp1 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⊥ : (&'_ mut (u32), u32) ; + Some (var@4) -> &mut@0 (0: u32) ; + Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⊥ : (&'_ mut (u32), u32) ; + Some (var@4) -> &mut@0 (0: u32) ; + Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; } +- op: +move var@4 [[32mDebug[39m] expand_bottom_value_from_projection: pe: (Expressions.Field ((Expressions.ProjTuple 2), 0)) @@ -13037,17 +20222,17 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> (&mut@0 (0: u32), ⊥ : u32) ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - pp1 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> (&mut@0 (0: u32), ⊥ : u32) ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; } @@ -13063,21 +20248,45 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> (&mut@0 (0: u32), ⊥ : u32) ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - pp1 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> (&mut@0 (0: u32), ⊥ : u32) ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> (&mut@0 (0: u32), ⊥ : u32) ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; +} + + +- op: +1: u32 + [[32mDebug[39m] **About to evaluate statement**: [ pp0 := &mut p; @@ -13097,17 +20306,17 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> (&mut@0 (0: u32), 1: u32) ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - pp1 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> (&mut@0 (0: u32), 1: u32) ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; } @@ -13123,17 +20332,17 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> (&mut@0 (0: u32), 1: u32) ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - pp1 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> (&mut@0 (0: u32), 1: u32) ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; } @@ -13156,17 +20365,17 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⌊mut@1⌋ ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> &mut@1 ((&mut@0 (0: u32), 1: u32)) ; - pp1 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 ((&mut@0 (0: u32), 1: u32)) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; } @@ -13182,17 +20391,17 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⌊mut@1⌋ ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> &mut@1 ((&mut@0 (0: u32), 1: u32)) ; - pp1 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 ((&mut@0 (0: u32), 1: u32)) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; } @@ -13214,17 +20423,17 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⌊mut@1⌋ ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> &mut@1 (@shared_loan({2}, (&mut@0 (0: u32), 1: u32))) ; - pp1 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - var@7 -> ⌊inactivated_mut@2⌋ ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (@shared_loan({2}, (&mut@0 (0: u32), 1: u32))) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⌊inactivated_mut@2⌋ ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; } @@ -13240,48 +20449,47 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⌊mut@1⌋ ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> &mut@1 (@shared_loan({2}, (&mut@0 (0: u32), 1: u32))) ; - pp1 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - var@7 -> ⌊inactivated_mut@2⌋ ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (@shared_loan({2}, (&mut@0 (0: u32), 1: u32))) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⌊inactivated_mut@2⌋ ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; } [[32mDebug[39m] activate_inactivated_mut_borrow: resulting value: -{ Values.value = - (Values.Adt - { Values.variant_id = <opaque>; - field_values = - [{ Values.value = - (Values.Borrow - (Values.MutBorrow (<opaque>, - { Values.value = - (Values.Concrete - (Values.Scalar { Values.value = 0; int_ty = Types.U32 })); - ty = (Types.Integer Types.U32) } - ))); - ty = - (Types.Ref (Types.Erased, (Types.Integer Types.U32), Types.Mut)) }; - { Values.value = - (Values.Concrete - (Values.Scalar { Values.value = 1; int_ty = Types.U32 })); - ty = (Types.Integer Types.U32) } - ] - }); - ty = - (Types.Adt (Types.Tuple, [], - [(Types.Ref (Types.Erased, (Types.Integer Types.U32), Types.Mut)); - (Types.Integer Types.U32)] - )) - } +(&mut@0 (0: u32), 1: u32) +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> &mut@2 ((&mut@0 (0: u32), 1: u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; +} + + +- op: +move var@7 + [[32mDebug[39m] **About to evaluate statement**: [ var@2 := &mut *(x); @@ -13295,24 +20503,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⌊mut@1⌋ ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> &mut@1 (⌊mut@2⌋) ; - pp1 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; } # Frame 1: { - var@0 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - x -> &mut@2 ((&mut@0 (0: u32), 1: u32)) ; - var@2 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (x) -> &mut@2 ((&mut@0 (0: u32), 1: u32)) ; + Some (var@2) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; } @@ -13328,24 +20536,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⌊mut@1⌋ ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> &mut@1 (⌊mut@2⌋) ; - pp1 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; } # Frame 1: { - var@0 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - x -> &mut@2 ((&mut@0 (0: u32), 1: u32)) ; - var@2 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (x) -> &mut@2 ((&mut@0 (0: u32), 1: u32)) ; + Some (var@2) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; } @@ -13362,24 +20570,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⌊mut@1⌋ ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> &mut@1 (⌊mut@2⌋) ; - pp1 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; } # Frame 1: { - var@0 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - x -> &mut@2 (⌊mut@3⌋) ; - var@2 -> &mut@3 ((&mut@0 (0: u32), 1: u32)) ; + Some (var@0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (x) -> &mut@2 (⌊mut@3⌋) ; + Some (var@2) -> &mut@3 ((&mut@0 (0: u32), 1: u32)) ; } @@ -13395,24 +20603,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⌊mut@1⌋ ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> &mut@1 (⌊mut@2⌋) ; - pp1 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; } # Frame 1: { - var@0 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - x -> &mut@2 (⌊mut@3⌋) ; - var@2 -> &mut@3 ((&mut@0 (0: u32), 1: u32)) ; + Some (var@0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (x) -> &mut@2 (⌊mut@3⌋) ; + Some (var@2) -> &mut@3 ((&mut@0 (0: u32), 1: u32)) ; } @@ -13428,24 +20636,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⌊mut@1⌋ ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> &mut@1 (⌊mut@2⌋) ; - pp1 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; } # Frame 1: { - var@0 -> &mut@4 ((&mut@0 (0: u32), 1: u32)) ; - x -> &mut@2 (⌊mut@3⌋) ; - var@2 -> &mut@3 (⌊mut@4⌋) ; + Some (var@0) -> &mut@4 ((&mut@0 (0: u32), 1: u32)) ; + Some (x) -> &mut@2 (⌊mut@3⌋) ; + Some (var@2) -> &mut@3 (⌊mut@4⌋) ; } @@ -13456,55 +20664,57 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⌊mut@1⌋ ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> &mut@1 (⌊mut@2⌋) ; - pp1 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; } # Frame 1: { - var@0 -> &mut@4 ((&mut@0 (0: u32), 1: u32)) ; - x -> &mut@2 (⌊mut@3⌋) ; - var@2 -> &mut@3 (⌊mut@4⌋) ; + Some (var@0) -> &mut@4 ((&mut@0 (0: u32), 1: u32)) ; + Some (x) -> &mut@2 (⌊mut@3⌋) ; + Some (var@2) -> &mut@3 (⌊mut@4⌋) ; } -[[32mDebug[39m] ctx_pop_frame: locals to drop: [2,1] -[[32mDebug[39m] drop_value: place: var@2 -[[32mDebug[39m] drop_value: place: x -[[32mDebug[39m] ctx_pop_frame: after dropping local variables: +[[32mDebug[39m] eval_operand: +- ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⌊mut@1⌋ ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> &mut@1 (⌊mut@4⌋) ; - pp1 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; } # Frame 1: { - var@0 -> &mut@4 ((&mut@0 (0: u32), 1: u32)) ; - x -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - var@2 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@0) -> &mut@4 ((&mut@0 (0: u32), 1: u32)) ; + Some (x) -> &mut@2 (⌊mut@3⌋) ; + Some (var@2) -> &mut@3 (⌊mut@4⌋) ; } + +- op: +move var@0 + [[32mDebug[39m] **About to evaluate statement**: [ y := 2: u32; @@ -13521,17 +20731,20 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⌊mut@1⌋ ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> &mut@1 (⌊mut@4⌋) ; - pp1 -> &mut@4 ((&mut@0 (0: u32), 1: u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> &mut@4 ((&mut@0 (0: u32), 1: u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; + None -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; } @@ -13547,21 +20760,51 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⌊mut@1⌋ ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> &mut@1 (⌊mut@4⌋) ; - pp1 -> &mut@4 ((&mut@0 (0: u32), 1: u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> &mut@4 ((&mut@0 (0: u32), 1: u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; + None -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> &mut@4 ((&mut@0 (0: u32), 1: u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; + None -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; +} + + +- op: +2: u32 + [[32mDebug[39m] **About to evaluate statement**: [ var@10 := &mut y; @@ -13577,17 +20820,20 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⌊mut@1⌋ ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> &mut@1 (⌊mut@4⌋) ; - pp1 -> &mut@4 ((&mut@0 (0: u32), 1: u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> 2: u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> &mut@4 ((&mut@0 (0: u32), 1: u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> 2: u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; + None -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; } @@ -13603,17 +20849,20 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⌊mut@1⌋ ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> &mut@1 (⌊mut@4⌋) ; - pp1 -> &mut@4 ((&mut@0 (0: u32), 1: u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> 2: u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> &mut@4 ((&mut@0 (0: u32), 1: u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> 2: u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; + None -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; } @@ -13632,17 +20881,20 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⌊mut@1⌋ ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> &mut@1 (⌊mut@4⌋) ; - pp1 -> &mut@4 ((&mut@0 (0: u32), 1: u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⌊mut@5⌋ ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> &mut@5 (2: u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> &mut@4 ((&mut@0 (0: u32), 1: u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> &mut@5 (2: u32) ; + None -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; } @@ -13658,17 +20910,20 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⌊mut@1⌋ ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> &mut@1 (⌊mut@4⌋) ; - pp1 -> &mut@4 ((&mut@0 (0: u32), 1: u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⌊mut@5⌋ ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> &mut@5 (2: u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> &mut@4 ((&mut@0 (0: u32), 1: u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> &mut@5 (2: u32) ; + None -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; } @@ -13686,17 +20941,20 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⌊mut@1⌋ ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> &mut@1 (⌊mut@4⌋) ; - pp1 -> &mut@4 ((&mut@0 (0: u32), 1: u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⌊mut@5⌋ ; - var@9 -> &mut@6 (2: u32) ; - var@10 -> &mut@5 (⌊mut@6⌋) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> &mut@4 ((&mut@0 (0: u32), 1: u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (var@9) -> &mut@6 (2: u32) ; + Some (var@10) -> &mut@5 (⌊mut@6⌋) ; + None -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; } @@ -13712,20 +20970,131 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⌊mut@1⌋ ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> &mut@1 (⌊mut@4⌋) ; - pp1 -> &mut@4 ((&mut@0 (0: u32), 1: u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⌊mut@5⌋ ; - var@9 -> &mut@6 (2: u32) ; - var@10 -> &mut@5 (⌊mut@6⌋) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> &mut@4 ((&mut@0 (0: u32), 1: u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (var@9) -> &mut@6 (2: u32) ; + Some (var@10) -> &mut@5 (⌊mut@6⌋) ; + None -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> &mut@4 ((&mut@0 (0: u32), 1: u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (var@9) -> &mut@6 (2: u32) ; + Some (var@10) -> &mut@5 (⌊mut@6⌋) ; + None -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; +} + + +- op: +move var@9 + +[[32mDebug[39m] end borrow: 0: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> &mut@4 ((⊥ : &'_ mut (u32), 1: u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> &mut@5 (⌊mut@6⌋) ; + None -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; + None -> &mut@6 (2: u32) ; + None -> &mut@0 (0: u32) ; +} + +[[32mDebug[39m] give_back: +- bid: 0 +- content: &mut@0 (0: u32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> &mut@4 ((⊥ : &'_ mut (u32), 1: u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> &mut@5 (⌊mut@6⌋) ; + None -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; + None -> &mut@6 (2: u32) ; + None -> ⊥ : &'_ mut (u32) ; } +[[32mDebug[39m] give_back_value: +- bid: 0 +- value: 0: u32 +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> &mut@4 ((⊥ : &'_ mut (u32), 1: u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> &mut@5 (⌊mut@6⌋) ; + None -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; + None -> &mut@6 (2: u32) ; + None -> ⊥ : &'_ mut (u32) ; +} + [[32mDebug[39m] **About to evaluate statement**: [ @@ -13739,17 +21108,20 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: u32 ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⌊mut@1⌋ ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> &mut@1 (⌊mut@4⌋) ; - pp1 -> &mut@4 ((&mut@6 (2: u32), 1: u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⌊mut@5⌋ ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> &mut@5 (⌊mut@6⌋) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: u32 ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> &mut@4 ((&mut@6 (2: u32), 1: u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> &mut@5 (⌊mut@6⌋) ; + None -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; } @@ -13765,21 +21137,51 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: u32 ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⌊mut@1⌋ ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> &mut@1 (⌊mut@4⌋) ; - pp1 -> &mut@4 ((&mut@6 (2: u32), 1: u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⌊mut@5⌋ ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> &mut@5 (⌊mut@6⌋) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: u32 ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> &mut@4 ((&mut@6 (2: u32), 1: u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> &mut@5 (⌊mut@6⌋) ; + None -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: u32 ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> &mut@4 ((&mut@6 (2: u32), 1: u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> &mut@5 (⌊mut@6⌋) ; + None -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; +} + + +- op: +3: u32 + [[32mDebug[39m] **About to evaluate statement**: [ return @@ -13791,17 +21193,20 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: u32 ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⌊mut@1⌋ ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> &mut@1 (⌊mut@4⌋) ; - pp1 -> &mut@4 ((&mut@6 (2: u32), 3: u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⌊mut@5⌋ ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> &mut@5 (⌊mut@6⌋) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: u32 ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> &mut@4 ((&mut@6 (2: u32), 3: u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> &mut@5 (⌊mut@6⌋) ; + None -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; } @@ -13819,7 +21224,7 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : char ; + Some (var@0) -> ⊥ : char ; } @@ -13835,11 +21240,25 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : char ; + Some (var@0) -> ⊥ : char ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : char ; +} + + +- op: +a + [[32mDebug[39m] **About to evaluate statement**: [ return @@ -13851,7 +21270,7 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> a ; + Some (var@0) -> a ; } @@ -13898,31 +21317,31 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } @@ -13938,34 +21357,72 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } +- op: +2: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -13995,45 +21452,45 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> ⊥ : u32 ; - max -> 2: u32 ; - i -> ⊥ : u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> ⊥ : u32 ; + Some (max) -> 2: u32 ; + Some (i) -> ⊥ : u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -14049,48 +21506,100 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + +# Frame 1: +{ + Some (s) -> ⊥ : u32 ; + Some (max) -> 2: u32 ; + Some (i) -> ⊥ : u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> ⊥ : u32 ; - max -> 2: u32 ; - i -> ⊥ : u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> ⊥ : u32 ; + Some (max) -> 2: u32 ; + Some (i) -> ⊥ : u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } +- op: +0: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -14119,45 +21628,45 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> ⊥ : u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> ⊥ : u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -14173,48 +21682,100 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + +# Frame 1: +{ + Some (s) -> ⊥ : u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> ⊥ : u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> ⊥ : u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } +- op: +0: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -14242,45 +21803,45 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -14309,45 +21870,45 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -14374,45 +21935,45 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -14428,49 +21989,101 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i + [[32mDebug[39m] **About to evaluate statement**: [ var@5 := copy max; @@ -14492,45 +22105,45 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 0: u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 0: u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -14546,49 +22159,101 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 0: u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 0: u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 0: u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +copy max + [[32mDebug[39m] **About to evaluate statement**: [ var@3 := move var@4 < move var@5; @@ -14609,45 +22274,45 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 0: u32 ; - var@5 -> 2: u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 0: u32 ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -14663,49 +22328,153 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 0: u32 ; - var@5 -> 2: u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 0: u32 ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 0: u32 ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@4 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@5 + [[32mDebug[39m] **About to evaluate statement**: [ if (move var@3) { @@ -14725,48 +22494,100 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> true ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> true ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> true ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } +- op: +move var@3 [[32mDebug[39m] **About to evaluate statement**: [ @@ -14782,45 +22603,45 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -14836,49 +22657,101 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i + [[32mDebug[39m] **About to evaluate statement**: [ s := copy s + copy var@6; @@ -14892,45 +22765,45 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> 0: u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 0: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -14946,49 +22819,153 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> 0: u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 0: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 0: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +copy s + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 0: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +copy var@6 + [[32mDebug[39m] **About to evaluate statement**: [ i := copy i + 1: u32; @@ -15001,45 +22978,45 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> 0: u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 0: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -15055,48 +23032,152 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 0: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> 0: u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 0: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } +- op: +copy i + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 0: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +1: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -15109,45 +23190,45 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> 0: u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 0: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -15174,45 +23255,45 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> 0: u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 0: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -15228,49 +23309,101 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> 0: u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 0: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 0: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i + [[32mDebug[39m] **About to evaluate statement**: [ var@5 := copy max; @@ -15292,45 +23425,45 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 1: u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> 0: u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 1: u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 0: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -15346,48 +23479,100 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 1: u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 0: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 1: u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> 0: u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 1: u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 0: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } +- op: +copy max [[32mDebug[39m] **About to evaluate statement**: [ @@ -15409,45 +23594,45 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 1: u32 ; - var@5 -> 2: u32 ; - var@6 -> 0: u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 1: u32 ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> 0: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -15463,48 +23648,152 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 1: u32 ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> 0: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 1: u32 ; - var@5 -> 2: u32 ; - var@6 -> 0: u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 1: u32 ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> 0: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } +- op: +move var@4 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> 0: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@5 [[32mDebug[39m] **About to evaluate statement**: [ @@ -15525,48 +23814,100 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> true ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 0: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> true ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> 0: u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> true ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 0: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } +- op: +move var@3 [[32mDebug[39m] **About to evaluate statement**: [ @@ -15582,45 +23923,45 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> 0: u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 0: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -15636,49 +23977,101 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> 0: u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 0: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 0: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i + [[32mDebug[39m] **About to evaluate statement**: [ s := copy s + copy var@6; @@ -15692,45 +24085,45 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> 1: u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 1: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -15746,49 +24139,153 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> 1: u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 1: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 1: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +copy s + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 1: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +copy var@6 + [[32mDebug[39m] **About to evaluate statement**: [ i := copy i + 1: u32; @@ -15801,45 +24298,45 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> 1: u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 1: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -15855,49 +24352,153 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> 1: u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 1: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 1: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 1: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +1: u32 + [[32mDebug[39m] **About to evaluate statement**: [ continue 0 @@ -15909,45 +24510,45 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> 1: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> 1: u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 1: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -15974,45 +24575,45 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> 1: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> 1: u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 1: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -16028,49 +24629,101 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> 1: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> 1: u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 1: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 1: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i + [[32mDebug[39m] **About to evaluate statement**: [ var@5 := copy max; @@ -16092,45 +24745,45 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> 1: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 2: u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> 1: u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 2: u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 1: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -16146,49 +24799,101 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> 1: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 2: u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> 1: u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 2: u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 1: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 2: u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 1: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +copy max + [[32mDebug[39m] **About to evaluate statement**: [ var@3 := move var@4 < move var@5; @@ -16209,45 +24914,45 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> 1: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 2: u32 ; - var@5 -> 2: u32 ; - var@6 -> 1: u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 2: u32 ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> 1: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -16263,48 +24968,152 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 2: u32 ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> 1: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 2: u32 ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> 1: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@4 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> 1: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 2: u32 ; - var@5 -> 2: u32 ; - var@6 -> 1: u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> 1: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } +- op: +move var@5 [[32mDebug[39m] **About to evaluate statement**: [ @@ -16325,49 +25134,101 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> 1: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - var@3 -> false ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> 1: u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> false ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 1: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> false ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 1: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@3 + [[32mDebug[39m] **About to evaluate statement**: [ break 0 @@ -16379,45 +25240,45 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> 1: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> 1: u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 1: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -16434,45 +25295,45 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> 1: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> 1: u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 1: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -16488,49 +25349,153 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> 1: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> 1: u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 1: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 1: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +copy s + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 1: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +2: u32 + [[32mDebug[39m] **About to evaluate statement**: [ return @@ -16542,45 +25507,45 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } # Frame 1: { - s -> 2: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> 1: u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 1: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -16591,104 +25556,99 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> 1: u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; -} - -[[32mDebug[39m] ctx_pop_frame: locals to drop: [9,8,7,6,5,4,3,2,1] -[[32mDebug[39m] drop_value: place: var@9 -[[32mDebug[39m] drop_value: place: var@8 -[[32mDebug[39m] drop_value: place: var@7 -[[32mDebug[39m] drop_value: place: var@6 -[[32mDebug[39m] drop_value: place: var@5 -[[32mDebug[39m] drop_value: place: var@4 -[[32mDebug[39m] drop_value: place: var@3 -[[32mDebug[39m] drop_value: place: i -[[32mDebug[39m] drop_value: place: max -[[32mDebug[39m] ctx_pop_frame: after dropping local variables: -# Ended regions: {} -# 2 frame(s) - -# Frame 0: -{ - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> ⊥ : u32 ; - i -> ⊥ : u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : (u32, bool) ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 1: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 1: u32 ; + Some (var@7) -> ⊥ : (u32, bool) ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +move s + [[32mDebug[39m] **About to evaluate statement**: [ var@4 := copy x; @@ -16729,31 +25689,41 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } @@ -16769,34 +25739,92 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + +- op: +copy x [[32mDebug[39m] **About to evaluate statement**: [ @@ -16837,31 +25865,41 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> 2: u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 2: u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } @@ -16877,34 +25915,140 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> 2: u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 2: u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 2: u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + +- op: +move var@4 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + +- op: +2: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -16944,31 +26088,41 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> true ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> true ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } @@ -16984,34 +26138,92 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> true ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> true ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> true ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + +- op: +move var@3 [[32mDebug[39m] **About to evaluate statement**: [ @@ -17050,31 +26262,41 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> false ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> false ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } @@ -17090,34 +26312,92 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> false ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> false ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> false ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + +- op: +move var@2 [[32mDebug[39m] **About to evaluate statement**: [ @@ -17155,31 +26435,41 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } @@ -17195,34 +26485,92 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + +- op: +2: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -17259,45 +26607,55 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } # Frame 1: { - s -> ⊥ : u32 ; - max -> 2: u32 ; - i -> ⊥ : u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> ⊥ : u32 ; + Some (max) -> 2: u32 ; + Some (i) -> ⊥ : u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -17313,49 +26671,121 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } # Frame 1: { - s -> ⊥ : u32 ; - max -> 2: u32 ; - i -> ⊥ : u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> ⊥ : u32 ; + Some (max) -> 2: u32 ; + Some (i) -> ⊥ : u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> ⊥ : u32 ; + Some (max) -> 2: u32 ; + Some (i) -> ⊥ : u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +0: u32 + [[32mDebug[39m] **About to evaluate statement**: [ s := 0: u32; @@ -17390,45 +26820,55 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } # Frame 1: { - s -> ⊥ : u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> ⊥ : u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -17444,49 +26884,121 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } # Frame 1: { - s -> ⊥ : u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> ⊥ : u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> ⊥ : u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +0: u32 + [[32mDebug[39m] **About to evaluate statement**: [ loop { @@ -17520,45 +27032,55 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -17595,45 +27117,55 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -17668,45 +27200,55 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -17722,49 +27264,121 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i + [[32mDebug[39m] **About to evaluate statement**: [ var@5 := copy max; @@ -17794,45 +27408,55 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 0: u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 0: u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -17848,49 +27472,121 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 0: u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 0: u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 0: u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +copy max + [[32mDebug[39m] **About to evaluate statement**: [ var@3 := move var@4 < move var@5; @@ -17919,45 +27615,55 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 0: u32 ; - var@5 -> 2: u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 0: u32 ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -17973,48 +27679,182 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 0: u32 ; - var@5 -> 2: u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 0: u32 ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 0: u32 ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@4 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@5 [[32mDebug[39m] **About to evaluate statement**: [ @@ -18043,49 +27883,121 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> true ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> true ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> true ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@3 + [[32mDebug[39m] **About to evaluate statement**: [ var@6 := copy i; @@ -18108,45 +28020,55 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -18162,49 +28084,121 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i + [[32mDebug[39m] **About to evaluate statement**: [ switch (move var@6) { @@ -18226,49 +28220,121 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> 0: u32 ; - var@7 -> ⊥ : u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 0: u32 ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 0: u32 ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@6 + [[32mDebug[39m] **About to evaluate statement**: [ var@7 := copy i; @@ -18283,45 +28349,55 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -18337,49 +28413,121 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i + [[32mDebug[39m] **About to evaluate statement**: [ s := copy s + copy var@7; @@ -18393,45 +28541,55 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> 0: u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 0: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -18447,48 +28605,182 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> 0: u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 0: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 0: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +copy s + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 0: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +copy var@7 [[32mDebug[39m] **About to evaluate statement**: [ @@ -18502,45 +28794,55 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> 0: u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 0: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -18556,48 +28858,182 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> 0: u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 0: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 0: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 0: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +1: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -18610,45 +29046,55 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> 0: u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 0: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -18683,45 +29129,55 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> 0: u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 0: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -18737,49 +29193,121 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> 0: u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 0: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 0: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i + [[32mDebug[39m] **About to evaluate statement**: [ var@5 := copy max; @@ -18809,45 +29337,55 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 1: u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> 0: u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 1: u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 0: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -18863,49 +29401,121 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 1: u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> 0: u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 1: u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 0: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 1: u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 0: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +copy max + [[32mDebug[39m] **About to evaluate statement**: [ var@3 := move var@4 < move var@5; @@ -18934,45 +29544,55 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 1: u32 ; - var@5 -> 2: u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> 0: u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 1: u32 ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 0: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -18988,48 +29608,182 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 1: u32 ; - var@5 -> 2: u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> 0: u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 1: u32 ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 0: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 1: u32 ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 0: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@4 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 0: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@5 [[32mDebug[39m] **About to evaluate statement**: [ @@ -19058,49 +29812,121 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> true ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> 0: u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> true ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 0: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> true ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 0: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@3 + [[32mDebug[39m] **About to evaluate statement**: [ var@6 := copy i; @@ -19123,45 +29949,55 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> 0: u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 0: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -19177,49 +30013,121 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> 0: u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 0: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 0: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i + [[32mDebug[39m] **About to evaluate statement**: [ switch (move var@6) { @@ -19241,49 +30149,121 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> 1: u32 ; - var@7 -> 0: u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 1: u32 ; + Some (var@7) -> 0: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 1: u32 ; + Some (var@7) -> 0: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@6 + [[32mDebug[39m] **About to evaluate statement**: [ var@7 := copy i; @@ -19298,45 +30278,55 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> 0: u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 0: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -19352,49 +30342,121 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> 0: u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 0: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 0: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i + [[32mDebug[39m] **About to evaluate statement**: [ s := copy s + copy var@7; @@ -19408,45 +30470,55 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } # Frame 1: { - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> 1: u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 1: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -19462,48 +30534,182 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> 1: u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 1: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 1: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +copy s + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 1: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +copy var@7 [[32mDebug[39m] **About to evaluate statement**: [ @@ -19517,45 +30723,55 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } # Frame 1: { - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> 1: u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 1: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -19571,48 +30787,182 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> 1: u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 1: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 1: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 1: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +1: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -19625,45 +30975,55 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } # Frame 1: { - s -> 1: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> 1: u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 1: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -19698,45 +31058,55 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } # Frame 1: { - s -> 1: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> 1: u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 1: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -19752,49 +31122,121 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } # Frame 1: { - s -> 1: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> 1: u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 1: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 1: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i + [[32mDebug[39m] **About to evaluate statement**: [ var@5 := copy max; @@ -19824,45 +31266,55 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } # Frame 1: { - s -> 1: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 2: u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> 1: u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 2: u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 1: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -19878,49 +31330,121 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } # Frame 1: { - s -> 1: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 2: u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> 1: u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 2: u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 1: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 2: u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 1: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +copy max + [[32mDebug[39m] **About to evaluate statement**: [ var@3 := move var@4 < move var@5; @@ -19949,45 +31473,55 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } # Frame 1: { - s -> 1: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 2: u32 ; - var@5 -> 2: u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> 1: u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 2: u32 ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 1: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -20003,48 +31537,182 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 2: u32 ; - var@5 -> 2: u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> 1: u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 2: u32 ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 1: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 2: u32 ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 1: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@4 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 1: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@5 [[32mDebug[39m] **About to evaluate statement**: [ @@ -20073,49 +31741,121 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } # Frame 1: { - s -> 1: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - var@3 -> false ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> 1: u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> false ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 1: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> false ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 1: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@3 + [[32mDebug[39m] **About to evaluate statement**: [ break 0 @@ -20127,45 +31867,55 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } # Frame 1: { - s -> 1: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> 1: u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 1: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -20181,45 +31931,55 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> 1: u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 1: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; } @@ -20230,103 +31990,118 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> 1: u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; -} - -[[32mDebug[39m] ctx_pop_frame: locals to drop: [9,8,7,6,5,4,3,2,1] -[[32mDebug[39m] drop_value: place: var@9 -[[32mDebug[39m] drop_value: place: var@8 -[[32mDebug[39m] drop_value: place: var@7 -[[32mDebug[39m] drop_value: place: var@6 -[[32mDebug[39m] drop_value: place: var@5 -[[32mDebug[39m] drop_value: place: var@4 -[[32mDebug[39m] drop_value: place: var@3 -[[32mDebug[39m] drop_value: place: i -[[32mDebug[39m] drop_value: place: max -[[32mDebug[39m] ctx_pop_frame: after dropping local variables: -# Ended regions: {} -# 2 frame(s) - -# Frame 0: -{ - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> ⊥ : u32 ; - i -> ⊥ : u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : u32 ; - var@8 -> ⊥ : (u32, bool) ; - var@9 -> ⊥ : (u32, bool) ; -} + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 1: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> 1: u32 ; + Some (var@8) -> ⊥ : (u32, bool) ; + Some (var@9) -> ⊥ : (u32, bool) ; +} + + +- op: +move s [[32mDebug[39m] **About to evaluate statement**: [ @@ -20363,31 +32138,51 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } @@ -20403,34 +32198,112 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + +- op: +copy x [[32mDebug[39m] **About to evaluate statement**: [ @@ -20466,31 +32339,51 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> 1: u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 1: u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } @@ -20506,34 +32399,170 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> 1: u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 1: u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 1: u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + +- op: +move var@8 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + +- op: +1: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -20568,31 +32597,51 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> true ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> true ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } @@ -20608,34 +32657,112 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> true ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> true ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> true ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + +- op: +move var@7 [[32mDebug[39m] **About to evaluate statement**: [ @@ -20669,31 +32796,51 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> false ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> false ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } @@ -20709,34 +32856,112 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> false ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> false ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> false ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + +- op: +move var@6 [[32mDebug[39m] **About to evaluate statement**: [ @@ -20769,31 +32994,51 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } @@ -20809,34 +33054,112 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + +- op: +2: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -20892,55 +33215,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> ⊥ : u32 ; - max -> 2: u32 ; - i -> ⊥ : u32 ; - j -> ⊥ : u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> ⊥ : u32 ; + Some (max) -> 2: u32 ; + Some (i) -> ⊥ : u32 ; + Some (j) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -20956,58 +33299,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> ⊥ : u32 ; - max -> 2: u32 ; - i -> ⊥ : u32 ; - j -> ⊥ : u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> ⊥ : u32 ; + Some (max) -> 2: u32 ; + Some (i) -> ⊥ : u32 ; + Some (j) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> ⊥ : u32 ; + Some (max) -> 2: u32 ; + Some (i) -> ⊥ : u32 ; + Some (j) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +0: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -21062,55 +33507,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> ⊥ : u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> ⊥ : u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> ⊥ : u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -21126,58 +33591,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> ⊥ : u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> ⊥ : u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> ⊥ : u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> ⊥ : u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +0: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -21231,55 +33798,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> ⊥ : u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> ⊥ : u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -21295,58 +33882,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> ⊥ : u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> ⊥ : u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> ⊥ : u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +0: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -21399,55 +34088,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -21502,55 +34211,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -21603,55 +34332,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -21667,58 +34416,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i [[32mDebug[39m] **About to evaluate statement**: [ @@ -21767,55 +34618,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 0: u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 0: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -21831,58 +34702,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 0: u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 0: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 0: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy max [[32mDebug[39m] **About to evaluate statement**: [ @@ -21930,55 +34903,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 0: u32 ; - var@6 -> 2: u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 0: u32 ; + Some (var@6) -> 2: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -21994,58 +34987,242 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 0: u32 ; - var@6 -> 2: u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 0: u32 ; + Some (var@6) -> 2: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 0: u32 ; + Some (var@6) -> 2: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@5 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 2: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@6 [[32mDebug[39m] **About to evaluate statement**: [ @@ -22092,58 +35269,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> true ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> true ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> true ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@4 [[32mDebug[39m] **About to evaluate statement**: [ @@ -22185,55 +35464,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -22273,55 +35572,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -22359,55 +35678,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -22423,58 +35762,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy j [[32mDebug[39m] **About to evaluate statement**: [ @@ -22508,55 +35949,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 0: u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -22572,58 +36033,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 0: u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy max [[32mDebug[39m] **About to evaluate statement**: [ @@ -22656,55 +36219,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 0: u32 ; - var@9 -> 2: u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> 2: u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -22720,58 +36303,242 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 0: u32 ; - var@9 -> 2: u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> 2: u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> 2: u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@8 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> 2: u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@9 [[32mDebug[39m] **About to evaluate statement**: [ @@ -22803,58 +36570,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> true ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> true ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> true ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@7 [[32mDebug[39m] **About to evaluate statement**: [ @@ -22881,55 +36750,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -22945,58 +36834,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i [[32mDebug[39m] **About to evaluate statement**: [ @@ -23022,55 +37013,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -23086,58 +37097,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy j [[32mDebug[39m] **About to evaluate statement**: [ @@ -23162,55 +37275,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -23226,58 +37359,242 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy var@11 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy var@12 [[32mDebug[39m] **About to evaluate statement**: [ @@ -23301,55 +37618,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 0: u32 ; - var@11 -> 0: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 0: u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -23372,58 +37709,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 0: u32 ; - var@11 -> 0: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 0: u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 0: u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@10 [[32mDebug[39m] **About to evaluate statement**: [ @@ -23436,55 +37875,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -23503,55 +37962,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -23567,58 +38046,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i [[32mDebug[39m] **About to evaluate statement**: [ @@ -23633,55 +38214,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -23697,58 +38298,242 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy s + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy var@14 [[32mDebug[39m] **About to evaluate statement**: [ @@ -23762,55 +38547,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -23826,58 +38631,242 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy j + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +1: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -23890,55 +38879,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -23991,55 +39000,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -24055,58 +39084,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i [[32mDebug[39m] **About to evaluate statement**: [ @@ -24155,55 +39286,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 0: u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 0: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -24219,58 +39370,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 0: u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 0: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 0: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy max [[32mDebug[39m] **About to evaluate statement**: [ @@ -24318,55 +39571,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 0: u32 ; - var@6 -> 2: u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 0: u32 ; + Some (var@6) -> 2: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -24382,58 +39655,242 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 0: u32 ; - var@6 -> 2: u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 0: u32 ; + Some (var@6) -> 2: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 0: u32 ; + Some (var@6) -> 2: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@5 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 2: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@6 [[32mDebug[39m] **About to evaluate statement**: [ @@ -24480,58 +39937,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> true ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> true ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> true ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@4 [[32mDebug[39m] **About to evaluate statement**: [ @@ -24573,55 +40132,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -24661,55 +40240,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -24747,55 +40346,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -24811,58 +40430,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy j [[32mDebug[39m] **About to evaluate statement**: [ @@ -24896,55 +40617,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 1: u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -24960,58 +40701,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 1: u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy max [[32mDebug[39m] **About to evaluate statement**: [ @@ -25044,55 +40887,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 1: u32 ; - var@9 -> 2: u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> 2: u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -25108,58 +40971,242 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 1: u32 ; - var@9 -> 2: u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> 2: u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> 2: u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@8 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> 2: u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@9 [[32mDebug[39m] **About to evaluate statement**: [ @@ -25191,58 +41238,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> true ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> true ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> true ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@7 [[32mDebug[39m] **About to evaluate statement**: [ @@ -25269,55 +41418,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -25333,58 +41502,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i [[32mDebug[39m] **About to evaluate statement**: [ @@ -25410,55 +41681,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -25474,58 +41765,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy j [[32mDebug[39m] **About to evaluate statement**: [ @@ -25550,55 +41943,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -25614,58 +42027,242 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy var@11 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy var@12 [[32mDebug[39m] **About to evaluate statement**: [ @@ -25689,55 +42286,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -25760,58 +42377,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@10 [[32mDebug[39m] **About to evaluate statement**: [ @@ -25824,55 +42543,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -25891,55 +42630,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -25955,58 +42714,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i [[32mDebug[39m] **About to evaluate statement**: [ @@ -26021,55 +42882,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -26085,58 +42966,242 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy s + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy var@14 [[32mDebug[39m] **About to evaluate statement**: [ @@ -26150,55 +43215,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -26214,58 +43299,242 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy j + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +1: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -26278,55 +43547,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -26379,55 +43668,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -26443,58 +43752,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i [[32mDebug[39m] **About to evaluate statement**: [ @@ -26543,55 +43954,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 0: u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 0: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -26607,58 +44038,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 0: u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 0: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 0: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy max [[32mDebug[39m] **About to evaluate statement**: [ @@ -26706,55 +44239,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 0: u32 ; - var@6 -> 2: u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 0: u32 ; + Some (var@6) -> 2: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -26770,58 +44323,242 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 0: u32 ; - var@6 -> 2: u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 0: u32 ; + Some (var@6) -> 2: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 0: u32 ; + Some (var@6) -> 2: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@5 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 2: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@6 [[32mDebug[39m] **About to evaluate statement**: [ @@ -26868,58 +44605,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 2: u32 ; - var@4 -> true ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> true ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> true ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@4 [[32mDebug[39m] **About to evaluate statement**: [ @@ -26961,55 +44800,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -27049,55 +44908,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -27135,55 +45014,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -27199,58 +45098,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy j [[32mDebug[39m] **About to evaluate statement**: [ @@ -27284,55 +45285,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 2: u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 2: u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -27348,58 +45369,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 2: u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 2: u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 2: u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy max [[32mDebug[39m] **About to evaluate statement**: [ @@ -27432,55 +45555,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 2: u32 ; - var@9 -> 2: u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 2: u32 ; + Some (var@9) -> 2: u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -27496,58 +45639,242 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 2: u32 ; - var@9 -> 2: u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 2: u32 ; + Some (var@9) -> 2: u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 2: u32 ; + Some (var@9) -> 2: u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@8 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> 2: u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@9 [[32mDebug[39m] **About to evaluate statement**: [ @@ -27579,58 +45906,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> false ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> false ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> false ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@7 [[32mDebug[39m] **About to evaluate statement**: [ @@ -27643,55 +46072,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -27711,55 +46160,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -27775,58 +46244,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +0: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -27842,55 +46413,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -27906,58 +46497,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i [[32mDebug[39m] **About to evaluate statement**: [ @@ -27972,55 +46665,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -28036,58 +46749,242 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy s + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy var@17 [[32mDebug[39m] **About to evaluate statement**: [ @@ -28101,55 +46998,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -28165,58 +47082,242 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +1: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -28229,55 +47330,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -28330,55 +47451,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -28394,58 +47535,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i [[32mDebug[39m] **About to evaluate statement**: [ @@ -28494,55 +47737,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 1: u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 1: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -28558,58 +47821,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 1: u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 1: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 1: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy max [[32mDebug[39m] **About to evaluate statement**: [ @@ -28657,55 +48022,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 1: u32 ; - var@6 -> 2: u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 1: u32 ; + Some (var@6) -> 2: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -28721,58 +48106,242 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 1: u32 ; - var@6 -> 2: u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 1: u32 ; + Some (var@6) -> 2: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 1: u32 ; + Some (var@6) -> 2: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@5 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 2: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@6 [[32mDebug[39m] **About to evaluate statement**: [ @@ -28819,58 +48388,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> true ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> true ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> true ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@4 [[32mDebug[39m] **About to evaluate statement**: [ @@ -28912,55 +48583,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -29000,55 +48691,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -29086,55 +48797,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -29150,58 +48881,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy j [[32mDebug[39m] **About to evaluate statement**: [ @@ -29235,55 +49068,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 0: u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -29299,58 +49152,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 0: u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy max [[32mDebug[39m] **About to evaluate statement**: [ @@ -29383,55 +49338,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 0: u32 ; - var@9 -> 2: u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> 2: u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -29447,58 +49422,242 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 0: u32 ; - var@9 -> 2: u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> 2: u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> 2: u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@8 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> 2: u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@9 [[32mDebug[39m] **About to evaluate statement**: [ @@ -29530,58 +49689,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> true ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> true ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> true ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@7 [[32mDebug[39m] **About to evaluate statement**: [ @@ -29608,55 +49869,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -29672,58 +49953,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 0: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 0: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i [[32mDebug[39m] **About to evaluate statement**: [ @@ -29749,55 +50132,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -29813,58 +50216,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy j [[32mDebug[39m] **About to evaluate statement**: [ @@ -29889,55 +50394,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -29953,58 +50478,242 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy var@11 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy var@12 [[32mDebug[39m] **About to evaluate statement**: [ @@ -30028,55 +50737,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -30099,58 +50828,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@10 [[32mDebug[39m] **About to evaluate statement**: [ @@ -30163,55 +50994,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -30230,55 +51081,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -30294,58 +51165,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 0: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 0: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i [[32mDebug[39m] **About to evaluate statement**: [ @@ -30360,55 +51333,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -30424,58 +51417,242 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy s + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy var@14 [[32mDebug[39m] **About to evaluate statement**: [ @@ -30489,55 +51666,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -30553,58 +51750,242 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy j + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +1: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -30617,55 +51998,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -30718,55 +52119,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -30782,58 +52203,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i [[32mDebug[39m] **About to evaluate statement**: [ @@ -30882,55 +52405,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 1: u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 1: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -30946,58 +52489,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 1: u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 1: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 1: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy max [[32mDebug[39m] **About to evaluate statement**: [ @@ -31045,55 +52690,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 1: u32 ; - var@6 -> 2: u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 1: u32 ; + Some (var@6) -> 2: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -31109,58 +52774,242 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 1: u32 ; - var@6 -> 2: u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 1: u32 ; + Some (var@6) -> 2: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 1: u32 ; + Some (var@6) -> 2: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@5 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 2: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@6 [[32mDebug[39m] **About to evaluate statement**: [ @@ -31207,58 +53056,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 1: u32 ; - var@4 -> true ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> true ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> true ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@4 [[32mDebug[39m] **About to evaluate statement**: [ @@ -31300,55 +53251,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -31388,55 +53359,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -31474,55 +53465,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -31538,58 +53549,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy j [[32mDebug[39m] **About to evaluate statement**: [ @@ -31623,55 +53736,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 1: u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -31687,58 +53820,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 1: u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy max [[32mDebug[39m] **About to evaluate statement**: [ @@ -31771,55 +54006,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 1: u32 ; - var@9 -> 2: u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> 2: u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -31835,58 +54090,242 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 1: u32 ; - var@9 -> 2: u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> 2: u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> 2: u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@8 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> 2: u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@9 [[32mDebug[39m] **About to evaluate statement**: [ @@ -31918,58 +54357,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> true ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> true ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> true ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@7 [[32mDebug[39m] **About to evaluate statement**: [ @@ -31996,55 +54537,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -32060,58 +54621,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i [[32mDebug[39m] **About to evaluate statement**: [ @@ -32137,55 +54800,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -32201,58 +54884,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy j [[32mDebug[39m] **About to evaluate statement**: [ @@ -32277,55 +55062,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -32341,58 +55146,242 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy var@11 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy var@12 [[32mDebug[39m] **About to evaluate statement**: [ @@ -32416,55 +55405,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 2: u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 2: u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -32487,58 +55496,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 2: u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 2: u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 2: u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@10 [[32mDebug[39m] **About to evaluate statement**: [ @@ -32551,55 +55662,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -32618,55 +55749,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -32682,58 +55833,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i [[32mDebug[39m] **About to evaluate statement**: [ @@ -32748,55 +56001,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -32812,58 +56085,242 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy s + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy var@14 [[32mDebug[39m] **About to evaluate statement**: [ @@ -32877,55 +56334,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -32941,58 +56418,242 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy j + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +1: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -33005,55 +56666,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -33106,55 +56787,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -33170,58 +56871,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i [[32mDebug[39m] **About to evaluate statement**: [ @@ -33270,55 +57073,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 1: u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 1: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -33334,58 +57157,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 1: u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 1: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 1: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy max [[32mDebug[39m] **About to evaluate statement**: [ @@ -33433,55 +57358,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 1: u32 ; - var@6 -> 2: u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 1: u32 ; + Some (var@6) -> 2: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -33497,58 +57442,242 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 1: u32 ; - var@6 -> 2: u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 1: u32 ; + Some (var@6) -> 2: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 1: u32 ; + Some (var@6) -> 2: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@5 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 2: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@6 [[32mDebug[39m] **About to evaluate statement**: [ @@ -33595,58 +57724,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> true ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> true ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> true ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@4 [[32mDebug[39m] **About to evaluate statement**: [ @@ -33688,55 +57919,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -33776,55 +58027,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -33862,55 +58133,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -33926,58 +58217,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy j [[32mDebug[39m] **About to evaluate statement**: [ @@ -34011,55 +58404,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 2: u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 2: u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -34075,58 +58488,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 2: u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 2: u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 2: u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy max [[32mDebug[39m] **About to evaluate statement**: [ @@ -34159,55 +58674,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 2: u32 ; - var@9 -> 2: u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 2: u32 ; + Some (var@9) -> 2: u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -34223,58 +58758,242 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 2: u32 ; - var@9 -> 2: u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 2: u32 ; + Some (var@9) -> 2: u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 2: u32 ; + Some (var@9) -> 2: u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@8 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> 2: u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@9 [[32mDebug[39m] **About to evaluate statement**: [ @@ -34306,58 +59025,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> false ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> false ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> false ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@7 [[32mDebug[39m] **About to evaluate statement**: [ @@ -34370,55 +59191,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -34438,55 +59279,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -34502,58 +59363,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +0: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -34569,55 +59532,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -34633,58 +59616,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 0: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 0: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i [[32mDebug[39m] **About to evaluate statement**: [ @@ -34699,55 +59784,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 1: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 1: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -34763,58 +59868,242 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 1: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 1: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 1: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy s + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 1: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy var@17 [[32mDebug[39m] **About to evaluate statement**: [ @@ -34828,55 +60117,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 3: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 1: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 3: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 1: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -34892,58 +60201,242 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 3: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 1: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 3: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 1: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 3: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 1: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 3: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 1: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +1: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -34956,55 +60449,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 3: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 1: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 3: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 1: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -35057,55 +60570,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 3: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 1: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 3: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 1: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -35121,58 +60654,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 3: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 1: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 3: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 1: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 3: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 1: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i [[32mDebug[39m] **About to evaluate statement**: [ @@ -35221,55 +60856,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 3: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 2: u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 1: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 3: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 1: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -35285,58 +60940,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 3: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 2: u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 1: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 3: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 1: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 3: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 1: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy max [[32mDebug[39m] **About to evaluate statement**: [ @@ -35384,55 +61141,75 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 3: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 2: u32 ; - var@6 -> 2: u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 1: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 3: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> 2: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 1: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -35448,58 +61225,242 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 3: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 2: u32 ; - var@6 -> 2: u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 1: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 3: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> 2: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 1: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 3: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> 2: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 1: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@5 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 3: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 2: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 1: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@6 [[32mDebug[39m] **About to evaluate statement**: [ @@ -35546,58 +61507,160 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 3: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - j -> 0: u32 ; - var@4 -> false ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 1: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 3: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> false ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 1: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 3: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> false ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 1: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@4 [[32mDebug[39m] **About to evaluate statement**: [ @@ -35610,119 +61673,159 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 3: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 1: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - - -[[32mDebug[39m] -**About to evaluate statement**: [ - return -] - -**Context**: -# Ended regions: {} -# 2 frame(s) - -# Frame 0: -{ - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 3: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 1: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 3: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 1: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + return +] + +**Context**: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 3: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 1: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -35733,133 +61836,158 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 3: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 1: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> 1: u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - -[[32mDebug[39m] ctx_pop_frame: locals to drop: [19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1] -[[32mDebug[39m] drop_value: place: var@19 -[[32mDebug[39m] drop_value: place: var@18 -[[32mDebug[39m] drop_value: place: var@17 -[[32mDebug[39m] drop_value: place: var@16 -[[32mDebug[39m] drop_value: place: var@15 -[[32mDebug[39m] drop_value: place: var@14 -[[32mDebug[39m] drop_value: place: var@13 -[[32mDebug[39m] drop_value: place: var@12 -[[32mDebug[39m] drop_value: place: var@11 -[[32mDebug[39m] drop_value: place: var@10 -[[32mDebug[39m] drop_value: place: var@9 -[[32mDebug[39m] drop_value: place: var@8 -[[32mDebug[39m] drop_value: place: var@7 -[[32mDebug[39m] drop_value: place: var@6 -[[32mDebug[39m] drop_value: place: var@5 -[[32mDebug[39m] drop_value: place: var@4 -[[32mDebug[39m] drop_value: place: j -[[32mDebug[39m] drop_value: place: i -[[32mDebug[39m] drop_value: place: max -[[32mDebug[39m] ctx_pop_frame: after dropping local variables: -# Ended regions: {} -# 2 frame(s) - -# Frame 0: -{ - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 3: u32 ; - max -> ⊥ : u32 ; - i -> ⊥ : u32 ; - j -> ⊥ : u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 3: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 1: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 3: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 1: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> 1: u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move s [[32mDebug[39m] **About to evaluate statement**: [ @@ -35891,31 +62019,71 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } @@ -35931,34 +62099,152 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + +- op: +copy x [[32mDebug[39m] **About to evaluate statement**: [ @@ -35989,31 +62275,71 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> 3: u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> 3: u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } @@ -36029,34 +62355,230 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> 3: u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> 3: u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> 3: u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + +- op: +move var@12 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + +- op: +3: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -36086,31 +62608,71 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> true ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> true ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } @@ -36126,34 +62688,152 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> true ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> true ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> true ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + +- op: +move var@11 [[32mDebug[39m] **About to evaluate statement**: [ @@ -36182,31 +62862,71 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> false ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> false ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } @@ -36222,34 +62942,152 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> false ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> false ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> false ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + +- op: +move var@10 [[32mDebug[39m] **About to evaluate statement**: [ @@ -36277,31 +63115,71 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } @@ -36317,34 +63195,152 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + +- op: +20: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -36400,55 +63396,95 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> ⊥ : u32 ; - max -> 20: u32 ; - i -> ⊥ : u32 ; - j -> ⊥ : u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> ⊥ : u32 ; + Some (max) -> 20: u32 ; + Some (i) -> ⊥ : u32 ; + Some (j) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -36464,58 +63500,200 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> ⊥ : u32 ; - max -> 20: u32 ; - i -> ⊥ : u32 ; - j -> ⊥ : u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> ⊥ : u32 ; + Some (max) -> 20: u32 ; + Some (i) -> ⊥ : u32 ; + Some (j) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> ⊥ : u32 ; + Some (max) -> 20: u32 ; + Some (i) -> ⊥ : u32 ; + Some (j) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +1: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -36570,55 +63748,95 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> ⊥ : u32 ; - max -> 20: u32 ; - i -> 1: u32 ; - j -> ⊥ : u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> ⊥ : u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -36634,58 +63852,200 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> ⊥ : u32 ; - max -> 20: u32 ; - i -> 1: u32 ; - j -> ⊥ : u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> ⊥ : u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> ⊥ : u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +0: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -36739,55 +64099,95 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> ⊥ : u32 ; - max -> 20: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> ⊥ : u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -36803,58 +64203,200 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> ⊥ : u32 ; - max -> 20: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> ⊥ : u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> ⊥ : u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +0: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -36907,55 +64449,95 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 20: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -37010,55 +64592,95 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 20: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -37111,55 +64733,95 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 20: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -37175,58 +64837,200 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 20: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i [[32mDebug[39m] **About to evaluate statement**: [ @@ -37275,55 +65079,95 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 20: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 1: u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 1: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -37339,58 +65183,200 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 20: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 1: u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 1: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 1: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy max [[32mDebug[39m] **About to evaluate statement**: [ @@ -37438,55 +65424,95 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 20: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 1: u32 ; - var@6 -> 20: u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 1: u32 ; + Some (var@6) -> 20: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -37502,58 +65528,302 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 20: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 1: u32 ; - var@6 -> 20: u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 1: u32 ; + Some (var@6) -> 20: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 1: u32 ; + Some (var@6) -> 20: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@5 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 20: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@6 [[32mDebug[39m] **About to evaluate statement**: [ @@ -37600,58 +65870,200 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 20: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> true ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> true ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> true ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@4 [[32mDebug[39m] **About to evaluate statement**: [ @@ -37693,55 +66105,95 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 20: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -37781,55 +66233,95 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 20: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -37867,55 +66359,95 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 20: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -37931,58 +66463,200 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 20: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy j [[32mDebug[39m] **About to evaluate statement**: [ @@ -38016,55 +66690,95 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 20: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 0: u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -38080,58 +66794,200 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 20: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 0: u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy max [[32mDebug[39m] **About to evaluate statement**: [ @@ -38164,55 +67020,95 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 20: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 0: u32 ; - var@9 -> 20: u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> 20: u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -38228,58 +67124,302 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 20: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 0: u32 ; - var@9 -> 20: u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> 20: u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> 20: u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@8 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> 20: u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@9 [[32mDebug[39m] **About to evaluate statement**: [ @@ -38311,58 +67451,200 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 20: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> true ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> true ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> true ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@7 [[32mDebug[39m] **About to evaluate statement**: [ @@ -38389,55 +67671,95 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 20: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -38453,58 +67775,200 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 20: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i [[32mDebug[39m] **About to evaluate statement**: [ @@ -38530,55 +67994,95 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 20: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -38594,58 +68098,200 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 20: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> ⊥ : u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy j [[32mDebug[39m] **About to evaluate statement**: [ @@ -38670,55 +68316,95 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 20: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -38734,58 +68420,302 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 20: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy var@11 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy var@12 [[32mDebug[39m] **About to evaluate statement**: [ @@ -38809,55 +68739,95 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 20: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -38880,58 +68850,200 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 20: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@10 [[32mDebug[39m] **About to evaluate statement**: [ @@ -38944,55 +69056,95 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 20: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -39011,55 +69163,95 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 20: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -39075,58 +69267,200 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 20: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> ⊥ : u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i [[32mDebug[39m] **About to evaluate statement**: [ @@ -39141,55 +69475,95 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 20: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -39205,58 +69579,302 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 20: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy s + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy var@14 [[32mDebug[39m] **About to evaluate statement**: [ @@ -39270,55 +69888,95 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 20: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -39334,58 +69992,302 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 20: u32 ; - i -> 1: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +copy j + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +1: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -39398,119 +70300,199 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 20: u32 ; - i -> 1: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - - - -[[32mDebug[39m] -**About to evaluate statement**: [ - return -] - -**Context**: -# Ended regions: {} -# 2 frame(s) - -# Frame 0: -{ - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 20: u32 ; - i -> 1: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + return +] + +**Context**: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; } @@ -39521,133 +70503,198 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 20: u32 ; - i -> 1: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> 1: u32 ; - var@12 -> 0: u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> 1: u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} - -[[32mDebug[39m] ctx_pop_frame: locals to drop: [19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1] -[[32mDebug[39m] drop_value: place: var@19 -[[32mDebug[39m] drop_value: place: var@18 -[[32mDebug[39m] drop_value: place: var@17 -[[32mDebug[39m] drop_value: place: var@16 -[[32mDebug[39m] drop_value: place: var@15 -[[32mDebug[39m] drop_value: place: var@14 -[[32mDebug[39m] drop_value: place: var@13 -[[32mDebug[39m] drop_value: place: var@12 -[[32mDebug[39m] drop_value: place: var@11 -[[32mDebug[39m] drop_value: place: var@10 -[[32mDebug[39m] drop_value: place: var@9 -[[32mDebug[39m] drop_value: place: var@8 -[[32mDebug[39m] drop_value: place: var@7 -[[32mDebug[39m] drop_value: place: var@6 -[[32mDebug[39m] drop_value: place: var@5 -[[32mDebug[39m] drop_value: place: var@4 -[[32mDebug[39m] drop_value: place: j -[[32mDebug[39m] drop_value: place: i -[[32mDebug[39m] drop_value: place: max -[[32mDebug[39m] ctx_pop_frame: after dropping local variables: -# Ended regions: {} -# 2 frame(s) - -# Frame 0: -{ - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> ⊥ : u32 ; - i -> ⊥ : u32 ; - j -> ⊥ : u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : u32 ; - var@12 -> ⊥ : u32 ; - var@13 -> ⊥ : (u32, bool) ; - var@14 -> ⊥ : u32 ; - var@15 -> ⊥ : (u32, bool) ; - var@16 -> ⊥ : (u32, bool) ; - var@17 -> ⊥ : u32 ; - var@18 -> ⊥ : (u32, bool) ; - var@19 -> ⊥ : (u32, bool) ; -} + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 20: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> 1: u32 ; + Some (var@12) -> 0: u32 ; + Some (var@13) -> ⊥ : (u32, bool) ; + Some (var@14) -> 1: u32 ; + Some (var@15) -> ⊥ : (u32, bool) ; + Some (var@16) -> ⊥ : (u32, bool) ; + Some (var@17) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : (u32, bool) ; + Some (var@19) -> ⊥ : (u32, bool) ; +} + + +- op: +move s [[32mDebug[39m] **About to evaluate statement**: [ @@ -39674,31 +70721,91 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } @@ -39714,34 +70821,192 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + +- op: +copy x [[32mDebug[39m] **About to evaluate statement**: [ @@ -39767,31 +71032,91 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> 1: u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> 1: u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } @@ -39807,34 +71132,290 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> 1: u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> 1: u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> 1: u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + +- op: +move var@16 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + +- op: +1: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -39859,31 +71440,91 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> true ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> true ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } @@ -39899,34 +71540,192 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> true ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> true ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> true ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + +- op: +move var@15 [[32mDebug[39m] **About to evaluate statement**: [ @@ -39950,31 +71749,91 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> false ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> false ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } @@ -39990,34 +71849,192 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> false ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> false ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> false ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + +- op: +move var@14 [[32mDebug[39m] **About to evaluate statement**: [ @@ -40040,31 +72057,91 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } @@ -40080,34 +72157,192 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + +- op: +2: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -40151,51 +72386,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> ⊥ : u32 ; - max -> 2: u32 ; - i -> ⊥ : u32 ; - j -> ⊥ : u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> ⊥ : u32 ; + Some (max) -> 2: u32 ; + Some (i) -> ⊥ : u32 ; + Some (j) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -40211,54 +72506,232 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> ⊥ : u32 ; - max -> 2: u32 ; - i -> ⊥ : u32 ; - j -> ⊥ : u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> ⊥ : u32 ; + Some (max) -> 2: u32 ; + Some (i) -> ⊥ : u32 ; + Some (j) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> ⊥ : u32 ; + Some (max) -> 2: u32 ; + Some (i) -> ⊥ : u32 ; + Some (j) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +0: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -40301,51 +72774,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> ⊥ : u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> ⊥ : u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> ⊥ : u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -40361,54 +72894,232 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> ⊥ : u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> ⊥ : u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> ⊥ : u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> ⊥ : u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +0: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -40450,51 +73161,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> ⊥ : u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> ⊥ : u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -40510,54 +73281,232 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> ⊥ : u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> ⊥ : u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> ⊥ : u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +0: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -40598,51 +73547,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -40685,51 +73694,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -40770,51 +73839,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -40830,54 +73959,232 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i [[32mDebug[39m] **About to evaluate statement**: [ @@ -40914,51 +74221,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 0: u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 0: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -40974,54 +74341,232 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 0: u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 0: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 0: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +copy max [[32mDebug[39m] **About to evaluate statement**: [ @@ -41057,51 +74602,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 0: u32 ; - var@6 -> 2: u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 0: u32 ; + Some (var@6) -> 2: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -41117,54 +74722,350 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 0: u32 ; - var@6 -> 2: u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 0: u32 ; + Some (var@6) -> 2: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 0: u32 ; + Some (var@6) -> 2: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@5 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 2: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@6 [[32mDebug[39m] **About to evaluate statement**: [ @@ -41199,54 +75100,232 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> true ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> true ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> true ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@4 [[32mDebug[39m] **About to evaluate statement**: [ @@ -41276,51 +75355,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -41349,51 +75488,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -41420,51 +75619,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -41480,54 +75739,232 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +copy j [[32mDebug[39m] **About to evaluate statement**: [ @@ -41550,51 +75987,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 0: u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -41610,54 +76107,232 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 0: u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +copy max [[32mDebug[39m] **About to evaluate statement**: [ @@ -41679,51 +76354,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 0: u32 ; - var@9 -> 2: u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> 2: u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -41739,54 +76474,350 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 0: u32 ; - var@9 -> 2: u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> 2: u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> 2: u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@8 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> 2: u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@9 [[32mDebug[39m] **About to evaluate statement**: [ @@ -41807,54 +76838,232 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> true ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> true ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> true ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@7 [[32mDebug[39m] **About to evaluate statement**: [ @@ -41870,51 +77079,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -41930,54 +77199,232 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +copy j [[32mDebug[39m] **About to evaluate statement**: [ @@ -41992,51 +77439,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 0: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 0: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -42052,54 +77559,350 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 0: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 0: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 0: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +copy s + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 0: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +copy var@10 [[32mDebug[39m] **About to evaluate statement**: [ @@ -42113,51 +77916,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 0: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 0: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -42173,54 +78036,350 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 0: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 0: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 0: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 0: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +copy j + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 0: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 0: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +1: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -42233,51 +78392,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 0: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 0: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -42304,51 +78523,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 0: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 0: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -42364,54 +78643,232 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 0: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 0: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 0: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +copy j [[32mDebug[39m] **About to evaluate statement**: [ @@ -42434,51 +78891,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 1: u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 0: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 0: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -42494,54 +79011,232 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 1: u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 0: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 0: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 0: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +copy max [[32mDebug[39m] **About to evaluate statement**: [ @@ -42563,51 +79258,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 1: u32 ; - var@9 -> 2: u32 ; - var@10 -> 0: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> 2: u32 ; + Some (var@10) -> 0: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -42623,54 +79378,350 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 1: u32 ; - var@9 -> 2: u32 ; - var@10 -> 0: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> 2: u32 ; + Some (var@10) -> 0: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> 2: u32 ; + Some (var@10) -> 0: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@8 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> 2: u32 ; + Some (var@10) -> 0: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@9 [[32mDebug[39m] **About to evaluate statement**: [ @@ -42691,54 +79742,232 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> true ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 0: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> true ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 0: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> true ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 0: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@7 [[32mDebug[39m] **About to evaluate statement**: [ @@ -42754,51 +79983,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 0: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 0: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -42814,54 +80103,232 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 0: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 0: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 0: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +copy j [[32mDebug[39m] **About to evaluate statement**: [ @@ -42876,51 +80343,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -42936,54 +80463,350 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +copy s + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +copy var@10 [[32mDebug[39m] **About to evaluate statement**: [ @@ -42997,51 +80820,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -43057,54 +80940,350 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 1: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +copy j + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 1: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +1: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -43117,51 +81296,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -43188,51 +81427,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -43248,54 +81547,232 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +copy j [[32mDebug[39m] **About to evaluate statement**: [ @@ -43318,51 +81795,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 2: u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 2: u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -43378,54 +81915,232 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 2: u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 2: u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 2: u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +copy max [[32mDebug[39m] **About to evaluate statement**: [ @@ -43447,51 +82162,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 2: u32 ; - var@9 -> 2: u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 2: u32 ; + Some (var@9) -> 2: u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -43507,54 +82282,350 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 2: u32 ; - var@9 -> 2: u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 2: u32 ; + Some (var@9) -> 2: u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 2: u32 ; + Some (var@9) -> 2: u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@8 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> 2: u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@9 [[32mDebug[39m] **About to evaluate statement**: [ @@ -43575,54 +82646,232 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> false ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> false ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> false ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@7 [[32mDebug[39m] **About to evaluate statement**: [ @@ -43635,51 +82884,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -43698,51 +83007,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -43758,54 +83127,232 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i [[32mDebug[39m] **About to evaluate statement**: [ @@ -43820,51 +83367,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> 0: u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 0: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -43880,54 +83487,350 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> 0: u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 0: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 0: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +copy s + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 0: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +copy var@13 [[32mDebug[39m] **About to evaluate statement**: [ @@ -43941,51 +83844,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> 0: u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 0: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -44001,54 +83964,350 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> 0: u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 0: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 0: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 0: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +1: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -44061,51 +84320,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> 0: u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 0: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -44146,51 +84465,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> 0: u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 0: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -44206,54 +84585,232 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> 0: u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 0: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 0: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i [[32mDebug[39m] **About to evaluate statement**: [ @@ -44290,51 +84847,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 1: u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> 0: u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 1: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 0: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -44350,54 +84967,232 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 1: u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> 0: u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 1: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 0: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 1: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 0: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +copy max [[32mDebug[39m] **About to evaluate statement**: [ @@ -44433,51 +85228,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 1: u32 ; - var@6 -> 2: u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> 0: u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 1: u32 ; + Some (var@6) -> 2: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 0: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -44493,54 +85348,350 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 1: u32 ; - var@6 -> 2: u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> 0: u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 1: u32 ; + Some (var@6) -> 2: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 0: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 1: u32 ; + Some (var@6) -> 2: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 0: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@5 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 2: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 0: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@6 [[32mDebug[39m] **About to evaluate statement**: [ @@ -44575,54 +85726,232 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> true ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> 0: u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> true ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 0: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> true ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 0: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@4 [[32mDebug[39m] **About to evaluate statement**: [ @@ -44652,51 +85981,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> 0: u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 0: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -44725,51 +86114,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> 0: u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 0: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -44796,51 +86245,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> 0: u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 0: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -44856,54 +86365,232 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> 0: u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 0: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 0: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +copy j [[32mDebug[39m] **About to evaluate statement**: [ @@ -44926,51 +86613,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 2: u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> 0: u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 2: u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 0: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -44986,54 +86733,232 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 2: u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> 0: u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 2: u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 0: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 2: u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 0: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +copy max [[32mDebug[39m] **About to evaluate statement**: [ @@ -45055,51 +86980,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 2: u32 ; - var@9 -> 2: u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> 0: u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 2: u32 ; + Some (var@9) -> 2: u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 0: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -45115,54 +87100,350 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> 2: u32 ; - var@9 -> 2: u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> 0: u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 2: u32 ; + Some (var@9) -> 2: u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 0: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 2: u32 ; + Some (var@9) -> 2: u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 0: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@8 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> 2: u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 0: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@9 [[32mDebug[39m] **About to evaluate statement**: [ @@ -45183,54 +87464,232 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> false ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> 0: u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> false ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 0: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> false ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 0: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@7 [[32mDebug[39m] **About to evaluate statement**: [ @@ -45243,51 +87702,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> 0: u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 0: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -45306,51 +87825,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> 0: u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 0: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -45366,54 +87945,232 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> 0: u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 0: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 0: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i [[32mDebug[39m] **About to evaluate statement**: [ @@ -45428,51 +88185,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> 1: u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 1: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -45488,54 +88305,350 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> 1: u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 1: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 1: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +copy s + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 1: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +copy var@13 [[32mDebug[39m] **About to evaluate statement**: [ @@ -45549,51 +88662,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> 1: u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 1: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -45609,54 +88782,350 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> 1: u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 1: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 1: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 1: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +1: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -45669,51 +89138,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> 1: u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 1: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -45754,51 +89283,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> 1: u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 1: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -45814,54 +89403,232 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> 1: u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 1: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 1: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i [[32mDebug[39m] **About to evaluate statement**: [ @@ -45898,51 +89665,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 2: u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> 1: u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 1: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -45958,54 +89785,232 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 2: u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> 1: u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 1: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 1: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +copy max [[32mDebug[39m] **About to evaluate statement**: [ @@ -46041,51 +90046,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 2: u32 ; - var@6 -> 2: u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> 1: u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> 2: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 1: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -46101,54 +90166,350 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> 2: u32 ; - var@6 -> 2: u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> 1: u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> 2: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 1: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> 2: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 1: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@5 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> 2: u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 1: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@6 [[32mDebug[39m] **About to evaluate statement**: [ @@ -46183,54 +90544,232 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - j -> 2: u32 ; - var@4 -> false ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> 1: u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> false ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 1: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> false ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 1: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@4 [[32mDebug[39m] **About to evaluate statement**: [ @@ -46243,111 +90782,231 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> 1: u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - - - -[[32mDebug[39m] -**About to evaluate statement**: [ - return -] - -**Context**: -# Ended regions: {} -# 2 frame(s) - -# Frame 0: -{ - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> 1: u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 1: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + return +] + +**Context**: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 1: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; } @@ -46358,121 +91017,230 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - j -> 2: u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> 1: u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> 1: u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} - -[[32mDebug[39m] ctx_pop_frame: locals to drop: [15,14,13,12,11,10,9,8,7,6,5,4,3,2,1] -[[32mDebug[39m] drop_value: place: var@15 -[[32mDebug[39m] drop_value: place: var@14 -[[32mDebug[39m] drop_value: place: var@13 -[[32mDebug[39m] drop_value: place: var@12 -[[32mDebug[39m] drop_value: place: var@11 -[[32mDebug[39m] drop_value: place: var@10 -[[32mDebug[39m] drop_value: place: var@9 -[[32mDebug[39m] drop_value: place: var@8 -[[32mDebug[39m] drop_value: place: var@7 -[[32mDebug[39m] drop_value: place: var@6 -[[32mDebug[39m] drop_value: place: var@5 -[[32mDebug[39m] drop_value: place: var@4 -[[32mDebug[39m] drop_value: place: j -[[32mDebug[39m] drop_value: place: i -[[32mDebug[39m] drop_value: place: max -[[32mDebug[39m] ctx_pop_frame: after dropping local variables: -# Ended regions: {} -# 2 frame(s) - -# Frame 0: -{ - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> ⊥ : u32 ; - i -> ⊥ : u32 ; - j -> ⊥ : u32 ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : u32 ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : u32 ; - var@10 -> ⊥ : u32 ; - var@11 -> ⊥ : (u32, bool) ; - var@12 -> ⊥ : (u32, bool) ; - var@13 -> ⊥ : u32 ; - var@14 -> ⊥ : (u32, bool) ; - var@15 -> ⊥ : (u32, bool) ; -} + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 1: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (j) -> 2: u32 ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : u32 ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : u32 ; + Some (var@10) -> 1: u32 ; + Some (var@11) -> ⊥ : (u32, bool) ; + Some (var@12) -> ⊥ : (u32, bool) ; + Some (var@13) -> 1: u32 ; + Some (var@14) -> ⊥ : (u32, bool) ; + Some (var@15) -> ⊥ : (u32, bool) ; +} + + +- op: +move s [[32mDebug[39m] **About to evaluate statement**: [ @@ -46494,31 +91262,107 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } @@ -46534,34 +91378,224 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + +- op: +copy x [[32mDebug[39m] **About to evaluate statement**: [ @@ -46582,31 +91616,107 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> 2: u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> 2: u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } @@ -46622,34 +91732,338 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> 2: u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> 2: u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> 2: u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + +- op: +move var@20 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + +- op: +2: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -46669,31 +92083,107 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> true ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> true ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } @@ -46709,34 +92199,224 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> true ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> true ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> true ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + +- op: +move var@19 [[32mDebug[39m] **About to evaluate statement**: [ @@ -46755,31 +92435,107 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> false ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> false ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } @@ -46795,34 +92551,224 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> false ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> false ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> false ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + +- op: +move var@18 [[32mDebug[39m] **About to evaluate statement**: [ @@ -46840,31 +92786,107 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } @@ -46880,34 +92902,224 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + +- op: +2: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -46944,47 +93156,123 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> ⊥ : u32 ; - max -> 2: u32 ; - i -> ⊥ : u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> ⊥ : u32 ; + Some (max) -> 2: u32 ; + Some (i) -> ⊥ : u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; } @@ -47000,50 +93288,256 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> ⊥ : u32 ; - max -> 2: u32 ; - i -> ⊥ : u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> ⊥ : u32 ; + Some (max) -> 2: u32 ; + Some (i) -> ⊥ : u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> ⊥ : u32 ; + Some (max) -> 2: u32 ; + Some (i) -> ⊥ : u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + +- op: +0: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -47079,47 +93573,123 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> ⊥ : u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> ⊥ : u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; } @@ -47135,50 +93705,256 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> ⊥ : u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> ⊥ : u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> ⊥ : u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + +- op: +0: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -47213,47 +93989,123 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; } @@ -47289,47 +94141,123 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; } @@ -47363,47 +94291,123 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; } @@ -47419,50 +94423,256 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i [[32mDebug[39m] **About to evaluate statement**: [ @@ -47492,47 +94702,123 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 0: u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 0: u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; } @@ -47548,50 +94834,256 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 0: u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 0: u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 0: u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + +- op: +copy max [[32mDebug[39m] **About to evaluate statement**: [ @@ -47620,47 +95112,123 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 0: u32 ; - var@5 -> 2: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 0: u32 ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; } @@ -47676,50 +95244,386 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 0: u32 ; - var@5 -> 2: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 0: u32 ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 0: u32 ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@4 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@5 [[32mDebug[39m] **About to evaluate statement**: [ @@ -47747,50 +95651,256 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> true ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> true ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> true ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@3 [[32mDebug[39m] **About to evaluate statement**: [ @@ -47813,47 +95923,123 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; } @@ -47869,50 +96055,256 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i [[32mDebug[39m] **About to evaluate statement**: [ @@ -47934,47 +96326,123 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> 0: u32 ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> 0: u32 ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; } @@ -47990,50 +96458,386 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> 0: u32 ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> 0: u32 ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> 0: u32 ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@7 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + +- op: +3: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -48054,50 +96858,256 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> false ; - var@7 -> ⊥ : u32 ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> false ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> false ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@6 [[32mDebug[39m] **About to evaluate statement**: [ @@ -48113,47 +97123,123 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; } @@ -48169,50 +97255,256 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i [[32mDebug[39m] **About to evaluate statement**: [ @@ -48227,47 +97519,123 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> 0: u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; } @@ -48283,50 +97651,386 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> 0: u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + +- op: +copy s + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + +- op: +copy var@8 [[32mDebug[39m] **About to evaluate statement**: [ @@ -48340,47 +98044,123 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> 0: u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; } @@ -48396,50 +98176,386 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 0: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> 0: u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 0: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + +- op: +1: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -48452,47 +98568,123 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> 0: u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; } @@ -48526,47 +98718,123 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> 0: u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; } @@ -48582,50 +98850,256 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> 0: u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i [[32mDebug[39m] **About to evaluate statement**: [ @@ -48655,47 +99129,123 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 1: u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> 0: u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 1: u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; } @@ -48711,50 +99261,256 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 1: u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> 0: u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 1: u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 1: u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + +- op: +copy max [[32mDebug[39m] **About to evaluate statement**: [ @@ -48783,47 +99539,123 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 1: u32 ; - var@5 -> 2: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> 0: u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 1: u32 ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; } @@ -48839,50 +99671,386 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 1: u32 ; - var@5 -> 2: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> 0: u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 1: u32 ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 1: u32 ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@4 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@5 [[32mDebug[39m] **About to evaluate statement**: [ @@ -48910,50 +100078,256 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> true ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> 0: u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> true ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> true ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@3 [[32mDebug[39m] **About to evaluate statement**: [ @@ -48976,47 +100350,123 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> 0: u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; } @@ -49032,50 +100482,256 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> 0: u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i [[32mDebug[39m] **About to evaluate statement**: [ @@ -49097,47 +100753,123 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> 1: u32 ; - var@8 -> 0: u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> 1: u32 ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; } @@ -49153,50 +100885,386 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> 1: u32 ; - var@8 -> 0: u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> 1: u32 ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> 1: u32 ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@7 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + +- op: +3: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -49217,50 +101285,256 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> false ; - var@7 -> ⊥ : u32 ; - var@8 -> 0: u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> false ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> false ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@6 [[32mDebug[39m] **About to evaluate statement**: [ @@ -49276,47 +101550,123 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> 0: u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; } @@ -49332,50 +101682,256 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> 0: u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 0: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i [[32mDebug[39m] **About to evaluate statement**: [ @@ -49390,47 +101946,123 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> 1: u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; } @@ -49446,50 +102078,386 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 0: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> 1: u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + +- op: +copy s + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 0: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + +- op: +copy var@8 [[32mDebug[39m] **About to evaluate statement**: [ @@ -49503,47 +102471,123 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> 1: u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; } @@ -49559,50 +102603,386 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 1: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> 1: u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 1: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + +- op: +1: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -49615,47 +102995,123 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> 1: u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; } @@ -49689,47 +103145,123 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> 1: u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; } @@ -49745,50 +103277,256 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> 1: u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + +- op: +copy i [[32mDebug[39m] **About to evaluate statement**: [ @@ -49818,47 +103556,123 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 2: u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> 1: u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 2: u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; } @@ -49874,50 +103688,256 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 2: u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> 1: u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 2: u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 2: u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + +- op: +copy max [[32mDebug[39m] **About to evaluate statement**: [ @@ -49946,47 +103966,123 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 2: u32 ; - var@5 -> 2: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> 1: u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 2: u32 ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; } @@ -50002,50 +104098,386 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> 2: u32 ; - var@5 -> 2: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> 1: u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 2: u32 ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> 2: u32 ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@4 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> 2: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@5 [[32mDebug[39m] **About to evaluate statement**: [ @@ -50073,50 +104505,256 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - var@3 -> false ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> 1: u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> false ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> false ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + +- op: +move var@3 [[32mDebug[39m] **About to evaluate statement**: [ @@ -50129,47 +104767,123 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> 1: u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; } @@ -50186,47 +104900,123 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> 1: u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; } @@ -50242,103 +105032,515 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 1: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> 1: u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; -} - - - -[[32mDebug[39m] -**About to evaluate statement**: [ - return -] - -**Context**: -# Ended regions: {} -# 2 frame(s) - -# Frame 0: -{ - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> 1: u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + +- op: +copy s + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 1: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + +- op: +1: u32 + +[[32mDebug[39m] +**About to evaluate statement**: [ + return +] + +**Context**: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; } @@ -50349,109 +105551,254 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> 2: u32 ; - i -> 2: u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> 1: u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; -} - -[[32mDebug[39m] ctx_pop_frame: locals to drop: [11,10,9,8,7,6,5,4,3,2,1] -[[32mDebug[39m] drop_value: place: var@11 -[[32mDebug[39m] drop_value: place: var@10 -[[32mDebug[39m] drop_value: place: var@9 -[[32mDebug[39m] drop_value: place: var@8 -[[32mDebug[39m] drop_value: place: var@7 -[[32mDebug[39m] drop_value: place: var@6 -[[32mDebug[39m] drop_value: place: var@5 -[[32mDebug[39m] drop_value: place: var@4 -[[32mDebug[39m] drop_value: place: var@3 -[[32mDebug[39m] drop_value: place: i -[[32mDebug[39m] drop_value: place: max -[[32mDebug[39m] ctx_pop_frame: after dropping local variables: -# Ended regions: {} -# 2 frame(s) - -# Frame 0: -{ - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - -# Frame 1: -{ - s -> 2: u32 ; - max -> ⊥ : u32 ; - i -> ⊥ : u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : u32 ; - var@8 -> ⊥ : u32 ; - var@9 -> ⊥ : (u32, bool) ; - var@10 -> ⊥ : (u32, bool) ; - var@11 -> ⊥ : (u32, bool) ; -} + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + +# Frame 1: +{ + Some (s) -> 2: u32 ; + Some (max) -> 2: u32 ; + Some (i) -> 2: u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : u32 ; + Some (var@8) -> 1: u32 ; + Some (var@9) -> ⊥ : (u32, bool) ; + Some (var@10) -> ⊥ : (u32, bool) ; + Some (var@11) -> ⊥ : (u32, bool) ; +} + + +- op: +move s [[32mDebug[39m] **About to evaluate statement**: [ @@ -50468,31 +105815,119 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> 2: u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } @@ -50508,34 +105943,248 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> 2: u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + +- op: +copy x [[32mDebug[39m] **About to evaluate statement**: [ @@ -50551,31 +106200,119 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> 2: u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> 2: u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> 2: u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } @@ -50591,34 +106328,374 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> 2: u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> 2: u32 ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> 2: u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> 2: u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + +- op: +move var@24 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + +- op: +2: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -50633,31 +106710,119 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> 2: u32 ; - var@22 -> ⊥ : bool ; - var@23 -> true ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> true ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } @@ -50673,34 +106838,248 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> 2: u32 ; - var@22 -> ⊥ : bool ; - var@23 -> true ; - var@24 -> ⊥ : u32 ; -} - - + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> true ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> true ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + +- op: +move var@23 [[32mDebug[39m] **About to evaluate statement**: [ @@ -50714,31 +107093,119 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> 2: u32 ; - var@22 -> false ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@22) -> false ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } @@ -50754,71 +107221,373 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> 2: u32 ; - var@22 -> false ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; -} - - - -[[32mDebug[39m] -**About to evaluate statement**: [ - return -] - -**Context**: -# Ended regions: {} -# 1 frame(s) - -# Frame 0: -{ - var@0 -> ⊥ : () ; - x -> 2: u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> 1: u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> 3: u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> 1: u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> 2: u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> 2: u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@22) -> false ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@22) -> false ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; +} + + +- op: +move var@22 + +[[32mDebug[39m] +**About to evaluate statement**: [ + return +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> 3: u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> 1: u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> 2: u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 0: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 20: u32 ; + None -> 1: u32 ; + None -> 1: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> 0: u32 ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : u32 ; + None -> 2: u32 ; + None -> 2: u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> ⊥ : u32 ; + None -> ⊥ : bool ; + None -> ⊥ : u32 ; + None -> 1: u32 ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; + None -> ⊥ : (u32, bool) ; } @@ -50849,18 +107618,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; } @@ -50876,22 +107645,47 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; +} + + +- op: +0: i32 + [[32mDebug[39m] **About to evaluate statement**: [ px := &mut x; @@ -50916,18 +107710,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; } @@ -50943,18 +107737,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; } @@ -50982,18 +107776,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@0 (0: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (0: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; } @@ -51009,18 +107803,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@0 (0: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (0: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; } @@ -51047,18 +107841,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (&mut@0 (0: i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (&mut@0 (0: i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; } @@ -51074,18 +107868,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (&mut@0 (0: i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (&mut@0 (0: i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; } @@ -51111,18 +107905,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (@shared_loan({2}, &mut@0 (0: i32))) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⌊inactivated_mut@2⌋ ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (@shared_loan({2}, &mut@0 (0: i32))) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⌊inactivated_mut@2⌋ ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; } @@ -51138,32 +107932,49 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (@shared_loan({2}, &mut@0 (0: i32))) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⌊inactivated_mut@2⌋ ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (@shared_loan({2}, &mut@0 (0: i32))) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⌊inactivated_mut@2⌋ ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; } [[32mDebug[39m] activate_inactivated_mut_borrow: resulting value: -{ Values.value = - (Values.Borrow - (Values.MutBorrow (<opaque>, - { Values.value = - (Values.Concrete - (Values.Scalar { Values.value = 0; int_ty = Types.I32 })); - ty = (Types.Integer Types.I32) } - ))); - ty = (Types.Ref (Types.Erased, (Types.Integer Types.I32), Types.Mut)) } +&mut@0 (0: i32) +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> &mut@2 (&mut@0 (0: i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; +} + + +- op: +move var@5 + [[32mDebug[39m] **About to evaluate statement**: [ var@2 := &mut *(x); @@ -51177,25 +107988,25 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@2⌋) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; } # Frame 1: { - var@0 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - x -> &mut@2 (&mut@0 (0: i32)) ; - var@2 -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@0) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (x) -> &mut@2 (&mut@0 (0: i32)) ; + Some (var@2) -> ⊥ : &'_ mut (&'_ mut (i32)) ; } @@ -51211,25 +108022,25 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@2⌋) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; } # Frame 1: { - var@0 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - x -> &mut@2 (&mut@0 (0: i32)) ; - var@2 -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@0) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (x) -> &mut@2 (&mut@0 (0: i32)) ; + Some (var@2) -> ⊥ : &'_ mut (&'_ mut (i32)) ; } @@ -51246,25 +108057,25 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@2⌋) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; } # Frame 1: { - var@0 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - x -> &mut@2 (⌊mut@3⌋) ; - var@2 -> &mut@3 (&mut@0 (0: i32)) ; + Some (var@0) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (x) -> &mut@2 (⌊mut@3⌋) ; + Some (var@2) -> &mut@3 (&mut@0 (0: i32)) ; } @@ -51280,25 +108091,25 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@2⌋) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; } # Frame 1: { - var@0 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - x -> &mut@2 (⌊mut@3⌋) ; - var@2 -> &mut@3 (&mut@0 (0: i32)) ; + Some (var@0) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (x) -> &mut@2 (⌊mut@3⌋) ; + Some (var@2) -> &mut@3 (&mut@0 (0: i32)) ; } @@ -51314,25 +108125,25 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@2⌋) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; } # Frame 1: { - var@0 -> &mut@4 (&mut@0 (0: i32)) ; - x -> &mut@2 (⌊mut@3⌋) ; - var@2 -> &mut@3 (⌊mut@4⌋) ; + Some (var@0) -> &mut@4 (&mut@0 (0: i32)) ; + Some (x) -> &mut@2 (⌊mut@3⌋) ; + Some (var@2) -> &mut@3 (⌊mut@4⌋) ; } @@ -51343,57 +108154,59 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@2⌋) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; } # Frame 1: { - var@0 -> &mut@4 (&mut@0 (0: i32)) ; - x -> &mut@2 (⌊mut@3⌋) ; - var@2 -> &mut@3 (⌊mut@4⌋) ; + Some (var@0) -> &mut@4 (&mut@0 (0: i32)) ; + Some (x) -> &mut@2 (⌊mut@3⌋) ; + Some (var@2) -> &mut@3 (⌊mut@4⌋) ; } -[[32mDebug[39m] ctx_pop_frame: locals to drop: [2,1] -[[32mDebug[39m] drop_value: place: var@2 -[[32mDebug[39m] drop_value: place: x -[[32mDebug[39m] ctx_pop_frame: after dropping local variables: +[[32mDebug[39m] eval_operand: +- ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@4⌋) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; } # Frame 1: { - var@0 -> &mut@4 (&mut@0 (0: i32)) ; - x -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@2 -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@0) -> &mut@4 (&mut@0 (0: i32)) ; + Some (x) -> &mut@2 (⌊mut@3⌋) ; + Some (var@2) -> &mut@3 (⌊mut@4⌋) ; } + +- op: +move var@0 + [[32mDebug[39m] **About to evaluate statement**: [ *(*(ppy)) := 1: i32; @@ -51414,18 +108227,21 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@4⌋) ; - ppy -> &mut@4 (&mut@0 (0: i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (&mut@0 (0: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; } @@ -51441,21 +108257,52 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@4⌋) ; - ppy -> &mut@4 (&mut@0 (0: i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (&mut@0 (0: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (&mut@0 (0: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; } +- op: +1: i32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -51476,18 +108323,21 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@4⌋) ; - ppy -> &mut@4 (&mut@0 (1: i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (&mut@0 (1: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; } @@ -51503,21 +108353,439 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@4⌋) ; - ppy -> &mut@4 (&mut@0 (1: i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (&mut@0 (1: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (&mut@0 (1: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; +} + + +- op: +copy *(px) + +[[32mDebug[39m] end borrow: 1: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (&mut@0 (1: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; +} + +[[32mDebug[39m] end borrow: 1: found outer borrows/abs:(InterpreterBorrowsCore.InnerLoans (InterpreterBorrowsCore.Borrow 2)) +[[32mDebug[39m] end borrow: 2: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (&mut@0 (1: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; +} + +[[32mDebug[39m] end borrow: 2: found outer borrows/abs:(InterpreterBorrowsCore.InnerLoans (InterpreterBorrowsCore.Borrow 3)) +[[32mDebug[39m] end borrow: 3: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (&mut@0 (1: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; +} + +[[32mDebug[39m] end borrow: 3: found outer borrows/abs:(InterpreterBorrowsCore.InnerLoans (InterpreterBorrowsCore.Borrow 4)) +[[32mDebug[39m] end borrow: 4: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (&mut@0 (1: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; +} + +[[32mDebug[39m] give_back: +- bid: 4 +- content: &mut@4 (&mut@0 (1: i32)) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; +} + + +[[32mDebug[39m] give_back_value: +- bid: 4 +- value: &mut@0 (1: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; +} + + +[[32mDebug[39m] end borrow: 3: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (&mut@0 (1: i32)) ; +} + +[[32mDebug[39m] give_back: +- bid: 3 +- content: &mut@3 (&mut@0 (1: i32)) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +[[32mDebug[39m] give_back_value: +- bid: 3 +- value: &mut@0 (1: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +[[32mDebug[39m] end borrow: 2: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (&mut@0 (1: i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + +[[32mDebug[39m] give_back: +- bid: 2 +- content: &mut@2 (&mut@0 (1: i32)) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +[[32mDebug[39m] give_back_value: +- bid: 2 +- value: &mut@0 (1: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +[[32mDebug[39m] end borrow: 1: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (&mut@0 (1: i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + +[[32mDebug[39m] give_back: +- bid: 1 +- content: &mut@1 (&mut@0 (1: i32)) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } +[[32mDebug[39m] give_back_value: +- bid: 1 +- value: &mut@0 (1: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + [[32mDebug[39m] **About to evaluate statement**: [ @@ -51537,18 +108805,21 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@0 (1: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> 1: i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (1: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 1: i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } @@ -51564,22 +108835,81 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@0 (1: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> 1: i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (1: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 1: i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (1: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> 1: i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +- op: +move var@8 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (1: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +- op: +1: i32 + [[32mDebug[39m] **About to evaluate statement**: [ var@6 := ¬ move var@7; @@ -51597,18 +108927,21 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@0 (1: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> true ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (1: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> true ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } @@ -51624,22 +108957,53 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@0 (1: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> true ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (1: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> true ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (1: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> true ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +- op: +move var@7 + [[32mDebug[39m] **About to evaluate statement**: [ assert(¬move var@6); @@ -51656,18 +109020,21 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@0 (1: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> false ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (1: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> false ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } @@ -51683,22 +109050,53 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@0 (1: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> false ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (1: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> false ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (1: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> false ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +- op: +move var@6 + [[32mDebug[39m] **About to evaluate statement**: [ var@11 := copy x; @@ -51714,18 +109112,21 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@0 (1: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (1: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } @@ -51741,21 +109142,130 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@0 (1: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (1: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (1: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } +- op: +copy x + +[[32mDebug[39m] end borrow: 0: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (1: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + +[[32mDebug[39m] give_back: +- bid: 0 +- content: &mut@0 (1: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +[[32mDebug[39m] give_back_value: +- bid: 0 +- value: 1: i32 +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + [[32mDebug[39m] **About to evaluate statement**: [ @@ -51771,18 +109281,21 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> 1: i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> 1: i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } @@ -51798,22 +109311,81 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> 1: i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> 1: i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> 1: i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +- op: +move var@11 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +- op: +1: i32 + [[32mDebug[39m] **About to evaluate statement**: [ var@9 := ¬ move var@10; @@ -51827,18 +109399,21 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> true ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> true ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } @@ -51854,21 +109429,52 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> true ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> true ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> true ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } +- op: +move var@10 [[32mDebug[39m] **About to evaluate statement**: [ @@ -51882,18 +109488,21 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> false ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> false ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } @@ -51909,21 +109518,52 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> false ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> false ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> false ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } +- op: +move var@9 [[32mDebug[39m] **About to evaluate statement**: [ @@ -51936,18 +109576,21 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } @@ -51987,24 +109630,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⊥ : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; } @@ -52020,28 +109663,59 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⊥ : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; +} + + +- op: +0: i32 + [[32mDebug[39m] **About to evaluate statement**: [ px := &mut x; @@ -52075,24 +109749,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⊥ : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; } @@ -52108,24 +109782,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⊥ : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; } @@ -52162,24 +109836,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@0 (0: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⊥ : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (0: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; } @@ -52195,24 +109869,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@0 (0: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⊥ : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (0: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; } @@ -52248,24 +109922,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (&mut@0 (0: i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⊥ : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (&mut@0 (0: i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; } @@ -52281,24 +109955,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (&mut@0 (0: i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⊥ : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (&mut@0 (0: i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; } @@ -52333,24 +110007,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (@shared_loan({2}, &mut@0 (0: i32))) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⌊inactivated_mut@2⌋ ; - y -> ⊥ : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (@shared_loan({2}, &mut@0 (0: i32))) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⌊inactivated_mut@2⌋ ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; } @@ -52366,38 +110040,61 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (@shared_loan({2}, &mut@0 (0: i32))) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⌊inactivated_mut@2⌋ ; - y -> ⊥ : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (@shared_loan({2}, &mut@0 (0: i32))) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⌊inactivated_mut@2⌋ ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; } [[32mDebug[39m] activate_inactivated_mut_borrow: resulting value: -{ Values.value = - (Values.Borrow - (Values.MutBorrow (<opaque>, - { Values.value = - (Values.Concrete - (Values.Scalar { Values.value = 0; int_ty = Types.I32 })); - ty = (Types.Integer Types.I32) } - ))); - ty = (Types.Ref (Types.Erased, (Types.Integer Types.I32), Types.Mut)) } +&mut@0 (0: i32) +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> &mut@2 (&mut@0 (0: i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; +} + + +- op: +move var@5 + [[32mDebug[39m] **About to evaluate statement**: [ var@2 := &mut *(x); @@ -52411,31 +110108,31 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@2⌋) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⊥ : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; } # Frame 1: { - var@0 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - x -> &mut@2 (&mut@0 (0: i32)) ; - var@2 -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@0) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (x) -> &mut@2 (&mut@0 (0: i32)) ; + Some (var@2) -> ⊥ : &'_ mut (&'_ mut (i32)) ; } @@ -52451,31 +110148,31 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@2⌋) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⊥ : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; } # Frame 1: { - var@0 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - x -> &mut@2 (&mut@0 (0: i32)) ; - var@2 -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@0) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (x) -> &mut@2 (&mut@0 (0: i32)) ; + Some (var@2) -> ⊥ : &'_ mut (&'_ mut (i32)) ; } @@ -52492,31 +110189,31 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@2⌋) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⊥ : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; } # Frame 1: { - var@0 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - x -> &mut@2 (⌊mut@3⌋) ; - var@2 -> &mut@3 (&mut@0 (0: i32)) ; + Some (var@0) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (x) -> &mut@2 (⌊mut@3⌋) ; + Some (var@2) -> &mut@3 (&mut@0 (0: i32)) ; } @@ -52532,31 +110229,31 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@2⌋) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⊥ : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; } # Frame 1: { - var@0 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - x -> &mut@2 (⌊mut@3⌋) ; - var@2 -> &mut@3 (&mut@0 (0: i32)) ; + Some (var@0) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (x) -> &mut@2 (⌊mut@3⌋) ; + Some (var@2) -> &mut@3 (&mut@0 (0: i32)) ; } @@ -52572,31 +110269,31 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@2⌋) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⊥ : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; } # Frame 1: { - var@0 -> &mut@4 (&mut@0 (0: i32)) ; - x -> &mut@2 (⌊mut@3⌋) ; - var@2 -> &mut@3 (⌊mut@4⌋) ; + Some (var@0) -> &mut@4 (&mut@0 (0: i32)) ; + Some (x) -> &mut@2 (⌊mut@3⌋) ; + Some (var@2) -> &mut@3 (⌊mut@4⌋) ; } @@ -52607,69 +110304,71 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@2⌋) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⊥ : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; } # Frame 1: { - var@0 -> &mut@4 (&mut@0 (0: i32)) ; - x -> &mut@2 (⌊mut@3⌋) ; - var@2 -> &mut@3 (⌊mut@4⌋) ; + Some (var@0) -> &mut@4 (&mut@0 (0: i32)) ; + Some (x) -> &mut@2 (⌊mut@3⌋) ; + Some (var@2) -> &mut@3 (⌊mut@4⌋) ; } -[[32mDebug[39m] ctx_pop_frame: locals to drop: [2,1] -[[32mDebug[39m] drop_value: place: var@2 -[[32mDebug[39m] drop_value: place: x -[[32mDebug[39m] ctx_pop_frame: after dropping local variables: +[[32mDebug[39m] eval_operand: +- ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@4⌋) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⊥ : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; } # Frame 1: { - var@0 -> &mut@4 (&mut@0 (0: i32)) ; - x -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@2 -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@0) -> &mut@4 (&mut@0 (0: i32)) ; + Some (x) -> &mut@2 (⌊mut@3⌋) ; + Some (var@2) -> &mut@3 (⌊mut@4⌋) ; } + +- op: +move var@0 + [[32mDebug[39m] **About to evaluate statement**: [ *(*(ppy)) := 1: i32; @@ -52699,24 +110398,27 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@4⌋) ; - ppy -> &mut@4 (&mut@0 (0: i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⊥ : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (&mut@0 (0: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; } @@ -52732,28 +110434,65 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@4⌋) ; - ppy -> &mut@4 (&mut@0 (0: i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⊥ : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (&mut@0 (0: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (&mut@0 (0: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; +} + + +- op: +1: i32 + [[32mDebug[39m] **About to evaluate statement**: [ y := 2: i32; @@ -52782,24 +110521,27 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@4⌋) ; - ppy -> &mut@4 (&mut@0 (1: i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⊥ : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (&mut@0 (1: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; } @@ -52815,27 +110557,64 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@4⌋) ; - ppy -> &mut@4 (&mut@0 (1: i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⊥ : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (&mut@0 (1: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (&mut@0 (1: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; } +- op: +2: i32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -52864,24 +110643,27 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@4⌋) ; - ppy -> &mut@4 (&mut@0 (1: i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> 2: i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (&mut@0 (1: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> 2: i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; } @@ -52897,24 +110679,27 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@4⌋) ; - ppy -> &mut@4 (&mut@0 (1: i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> 2: i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (&mut@0 (1: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> 2: i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; } @@ -52945,24 +110730,27 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@4⌋) ; - ppy -> &mut@4 (&mut@0 (1: i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (2: i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (&mut@0 (1: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (2: i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; } @@ -52978,24 +110766,27 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@4⌋) ; - ppy -> &mut@4 (&mut@0 (1: i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (2: i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (&mut@0 (1: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (2: i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; } @@ -53025,24 +110816,27 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@4⌋) ; - ppy -> &mut@4 (&mut@0 (1: i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> &mut@6 (2: i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (&mut@0 (1: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> &mut@6 (2: i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; } @@ -53058,27 +110852,166 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@4⌋) ; - ppy -> &mut@4 (&mut@0 (1: i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> &mut@6 (2: i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (&mut@0 (1: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> &mut@6 (2: i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (&mut@0 (1: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> &mut@6 (2: i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; +} + + +- op: +move var@8 + +[[32mDebug[39m] end borrow: 0: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (⊥ : &'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; + None -> &mut@6 (2: i32) ; + None -> &mut@0 (1: i32) ; +} + +[[32mDebug[39m] give_back: +- bid: 0 +- content: &mut@0 (1: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (⊥ : &'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; + None -> &mut@6 (2: i32) ; + None -> ⊥ : &'_ mut (i32) ; } +[[32mDebug[39m] give_back_value: +- bid: 0 +- value: 1: i32 +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (⊥ : &'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; + None -> &mut@6 (2: i32) ; + None -> ⊥ : &'_ mut (i32) ; +} + [[32mDebug[39m] **About to evaluate statement**: [ @@ -53104,24 +111037,27 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@4⌋) ; - ppy -> &mut@4 (&mut@6 (2: i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (&mut@6 (2: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; } @@ -53137,28 +111073,542 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@4⌋) ; - ppy -> &mut@4 (&mut@6 (2: i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (&mut@6 (2: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (&mut@6 (2: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; +} + + +- op: +copy *(px) + +[[32mDebug[39m] end borrow: 1: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (&mut@6 (2: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; +} + +[[32mDebug[39m] end borrow: 1: found outer borrows/abs:(InterpreterBorrowsCore.InnerLoans (InterpreterBorrowsCore.Borrow 2)) +[[32mDebug[39m] end borrow: 2: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (&mut@6 (2: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; +} + +[[32mDebug[39m] end borrow: 2: found outer borrows/abs:(InterpreterBorrowsCore.InnerLoans (InterpreterBorrowsCore.Borrow 3)) +[[32mDebug[39m] end borrow: 3: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (&mut@6 (2: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; +} + +[[32mDebug[39m] end borrow: 3: found outer borrows/abs:(InterpreterBorrowsCore.InnerLoans (InterpreterBorrowsCore.Borrow 4)) +[[32mDebug[39m] end borrow: 4: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (&mut@6 (2: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; +} + +[[32mDebug[39m] give_back: +- bid: 4 +- content: &mut@4 (&mut@6 (2: i32)) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; +} + + +[[32mDebug[39m] give_back_value: +- bid: 4 +- value: &mut@6 (2: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; +} + + +[[32mDebug[39m] end borrow: 3: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (&mut@6 (2: i32)) ; +} + +[[32mDebug[39m] give_back: +- bid: 3 +- content: &mut@3 (&mut@6 (2: i32)) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +[[32mDebug[39m] give_back_value: +- bid: 3 +- value: &mut@6 (2: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +[[32mDebug[39m] end borrow: 2: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (&mut@6 (2: i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + +[[32mDebug[39m] give_back: +- bid: 2 +- content: &mut@2 (&mut@6 (2: i32)) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +[[32mDebug[39m] give_back_value: +- bid: 2 +- value: &mut@6 (2: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +[[32mDebug[39m] end borrow: 1: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (&mut@6 (2: i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + +[[32mDebug[39m] give_back: +- bid: 1 +- content: &mut@1 (&mut@6 (2: i32)) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +[[32mDebug[39m] give_back_value: +- bid: 1 +- value: &mut@6 (2: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + [[32mDebug[39m] **About to evaluate statement**: [ var@10 := move var@11 == 2: i32; @@ -53182,24 +111632,27 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> &mut@6 (2: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> 2: i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> &mut@6 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> 2: i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } @@ -53215,28 +111668,99 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> &mut@6 (2: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> 2: i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> &mut@6 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> 2: i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> &mut@6 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> 2: i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +- op: +move var@11 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> &mut@6 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +- op: +2: i32 + [[32mDebug[39m] **About to evaluate statement**: [ var@9 := ¬ move var@10; @@ -53259,24 +111783,27 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> &mut@6 (2: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> true ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> &mut@6 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> true ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } @@ -53292,27 +111819,64 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> &mut@6 (2: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> true ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> &mut@6 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> true ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> &mut@6 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> true ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } +- op: +move var@10 [[32mDebug[39m] **About to evaluate statement**: [ @@ -53335,24 +111899,27 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> &mut@6 (2: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> false ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> &mut@6 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> false ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } @@ -53368,28 +111935,65 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> &mut@6 (2: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> false ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> &mut@6 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> false ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> &mut@6 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> false ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +- op: +move var@9 + [[32mDebug[39m] **About to evaluate statement**: [ *(px) := 3: i32; @@ -53410,24 +112014,27 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> &mut@6 (2: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> &mut@6 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } @@ -53443,27 +112050,64 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> &mut@6 (2: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> &mut@6 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> &mut@6 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } +- op: +3: i32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -53484,24 +112128,27 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> &mut@6 (3: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> &mut@6 (3: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } @@ -53517,28 +112164,65 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> &mut@6 (3: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> &mut@6 (3: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> &mut@6 (3: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +- op: +copy x + [[32mDebug[39m] **About to evaluate statement**: [ var@13 := move var@14 == 1: i32; @@ -53557,24 +112241,27 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> &mut@6 (3: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> 1: i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> &mut@6 (3: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> 1: i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } @@ -53590,28 +112277,99 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> &mut@6 (3: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> 1: i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> &mut@6 (3: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> 1: i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> &mut@6 (3: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> 1: i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +- op: +move var@14 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> &mut@6 (3: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +- op: +1: i32 + [[32mDebug[39m] **About to evaluate statement**: [ var@12 := ¬ move var@13; @@ -53629,24 +112387,27 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> &mut@6 (3: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> true ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> &mut@6 (3: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> true ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } @@ -53662,28 +112423,65 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> &mut@6 (3: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> true ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> &mut@6 (3: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> true ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> &mut@6 (3: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> true ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +- op: +move var@13 + [[32mDebug[39m] **About to evaluate statement**: [ assert(¬move var@12); @@ -53700,24 +112498,27 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> &mut@6 (3: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> false ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> &mut@6 (3: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> false ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } @@ -53733,28 +112534,65 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> &mut@6 (3: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> false ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> &mut@6 (3: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> false ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> &mut@6 (3: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> false ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +- op: +move var@12 + [[32mDebug[39m] **About to evaluate statement**: [ var@17 := copy y; @@ -53770,24 +112608,27 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> &mut@6 (3: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> &mut@6 (3: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } @@ -53803,28 +112644,288 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> &mut@6 (3: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> &mut@6 (3: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> &mut@6 (3: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +- op: +copy y + +[[32mDebug[39m] end borrow: 5: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> &mut@6 (3: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + +[[32mDebug[39m] end borrow: 5: found outer borrows/abs:(InterpreterBorrowsCore.InnerLoans (InterpreterBorrowsCore.Borrow 6)) +[[32mDebug[39m] end borrow: 6: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> &mut@6 (3: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + +[[32mDebug[39m] give_back: +- bid: 6 +- content: &mut@6 (3: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +[[32mDebug[39m] give_back_value: +- bid: 6 +- value: 3: i32 +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +[[32mDebug[39m] end borrow: 5: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (3: i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + +[[32mDebug[39m] give_back: +- bid: 5 +- content: &mut@5 (3: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +[[32mDebug[39m] give_back_value: +- bid: 5 +- value: 3: i32 +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + [[32mDebug[39m] **About to evaluate statement**: [ var@16 := move var@17 == 3: i32; @@ -53839,24 +112940,27 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> 3: i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> 3: i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> 3: i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> 3: i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } @@ -53872,27 +112976,98 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> 3: i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> 3: i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> 3: i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> 3: i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> 3: i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> 3: i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } +- op: +move var@17 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> 3: i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +- op: +3: i32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -53907,24 +113082,27 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> 3: i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> true ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> 3: i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> true ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } @@ -53940,28 +113118,65 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> 3: i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> true ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> 3: i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> true ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> 3: i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> true ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +- op: +move var@16 + [[32mDebug[39m] **About to evaluate statement**: [ assert(¬move var@15); @@ -53974,24 +113189,27 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> 3: i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> false ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> 3: i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> false ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } @@ -54007,30 +113225,783 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> 3: i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> false ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> 3: i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> false ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> 3: i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> false ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +- op: +move var@15 + +[[32mDebug[39m] +**About to evaluate statement**: [ + return +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> 3: i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + + +[[32mDebug[39m] test_unit_function: id_mut_mut_test3 +[[32mDebug[39m] +**About to evaluate statement**: [ + x := 0: i32; + px := &mut x; + ppx := &mut px; + var@5 := &two-phase *(ppx); + ppy := move id_mut_mut<i32>(move var@5); + *(*(ppy)) := 1: i32; + var@7 := &two-phase *(ppy); + ppz := move id_mut_mut<i32>(move var@7); + *(*(ppz)) := 2: i32; + var@10 := copy *(px); + var@9 := move var@10 == 2: i32; + var@8 := ¬ move var@9; + assert(¬move var@8); + var@13 := copy x; + var@12 := move var@13 == 2: i32; + var@11 := ¬ move var@12; + assert(¬move var@11); + return +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + x := 0: i32 +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; +} + + +- op: +0: i32 + +[[32mDebug[39m] +**About to evaluate statement**: [ + px := &mut x; + ppx := &mut px; + var@5 := &two-phase *(ppx); + ppy := move id_mut_mut<i32>(move var@5); + *(*(ppy)) := 1: i32; + var@7 := &two-phase *(ppy); + ppz := move id_mut_mut<i32>(move var@7); + *(*(ppz)) := 2: i32; + var@10 := copy *(px); + var@9 := move var@10 == 2: i32; + var@8 := ¬ move var@9; + assert(¬move var@8); + var@13 := copy x; + var@12 := move var@13 == 2: i32; + var@11 := ¬ move var@12; + assert(¬move var@11); + return +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + px := &mut x +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + ppx := &mut px; + var@5 := &two-phase *(ppx); + ppy := move id_mut_mut<i32>(move var@5); + *(*(ppy)) := 1: i32; + var@7 := &two-phase *(ppy); + ppz := move id_mut_mut<i32>(move var@7); + *(*(ppz)) := 2: i32; + var@10 := copy *(px); + var@9 := move var@10 == 2: i32; + var@8 := ¬ move var@9; + assert(¬move var@8); + var@13 := copy x; + var@12 := move var@13 == 2: i32; + var@11 := ¬ move var@12; + assert(¬move var@11); + return +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (0: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + ppx := &mut px +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (0: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + var@5 := &two-phase *(ppx); + ppy := move id_mut_mut<i32>(move var@5); + *(*(ppy)) := 1: i32; + var@7 := &two-phase *(ppy); + ppz := move id_mut_mut<i32>(move var@7); + *(*(ppz)) := 2: i32; + var@10 := copy *(px); + var@9 := move var@10 == 2: i32; + var@8 := ¬ move var@9; + assert(¬move var@8); + var@13 := copy x; + var@12 := move var@13 == 2: i32; + var@11 := ¬ move var@12; + assert(¬move var@11); + return +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (&mut@0 (0: i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + var@5 := &two-phase *(ppx) +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (&mut@0 (0: i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + ppy := move id_mut_mut<i32>(move var@5); + *(*(ppy)) := 1: i32; + var@7 := &two-phase *(ppy); + ppz := move id_mut_mut<i32>(move var@7); + *(*(ppz)) := 2: i32; + var@10 := copy *(px); + var@9 := move var@10 == 2: i32; + var@8 := ¬ move var@9; + assert(¬move var@8); + var@13 := copy x; + var@12 := move var@13 == 2: i32; + var@11 := ¬ move var@12; + assert(¬move var@11); + return +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (@shared_loan({2}, &mut@0 (0: i32))) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⌊inactivated_mut@2⌋ ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + ppy := move id_mut_mut<i32>(move var@5) +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (@shared_loan({2}, &mut@0 (0: i32))) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⌊inactivated_mut@2⌋ ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; } +[[32mDebug[39m] activate_inactivated_mut_borrow: resulting value: +&mut@0 (0: i32) +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> &mut@2 (&mut@0 (0: i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; +} + + +- op: +move var@5 + [[32mDebug[39m] **About to evaluate statement**: [ + var@2 := &mut *(x); + var@0 := &mut *(var@2); + return +] + +**Context**: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; +} + +# Frame 1: +{ + Some (var@0) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (x) -> &mut@2 (&mut@0 (0: i32)) ; + Some (var@2) -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + var@2 := &mut *(x) +] + +**Context**: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; +} + +# Frame 1: +{ + Some (var@0) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (x) -> &mut@2 (&mut@0 (0: i32)) ; + Some (var@2) -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + var@0 := &mut *(var@2); + return +] + +**Context**: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; +} + +# Frame 1: +{ + Some (var@0) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (x) -> &mut@2 (⌊mut@3⌋) ; + Some (var@2) -> &mut@3 (&mut@0 (0: i32)) ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + var@0 := &mut *(var@2) +] + +**Context**: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; +} + +# Frame 1: +{ + Some (var@0) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (x) -> &mut@2 (⌊mut@3⌋) ; + Some (var@2) -> &mut@3 (&mut@0 (0: i32)) ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + return +] + +**Context**: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; +} + +# Frame 1: +{ + Some (var@0) -> &mut@4 (&mut@0 (0: i32)) ; + Some (x) -> &mut@2 (⌊mut@3⌋) ; + Some (var@2) -> &mut@3 (⌊mut@4⌋) ; +} + + + +[[32mDebug[39m] ctx_pop_frame: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; +} + +# Frame 1: +{ + Some (var@0) -> &mut@4 (&mut@0 (0: i32)) ; + Some (x) -> &mut@2 (⌊mut@3⌋) ; + Some (var@2) -> &mut@3 (⌊mut@4⌋) ; +} + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; +} + +# Frame 1: +{ + Some (var@0) -> &mut@4 (&mut@0 (0: i32)) ; + Some (x) -> &mut@2 (⌊mut@3⌋) ; + Some (var@2) -> &mut@3 (⌊mut@4⌋) ; +} + + +- op: +move var@0 + +[[32mDebug[39m] +**About to evaluate statement**: [ + *(*(ppy)) := 1: i32; + var@7 := &two-phase *(ppy); + ppz := move id_mut_mut<i32>(move var@7); + *(*(ppz)) := 2: i32; + var@10 := copy *(px); + var@9 := move var@10 == 2: i32; + var@8 := ¬ move var@9; + assert(¬move var@8); + var@13 := copy x; + var@12 := move var@13 == 2: i32; + var@11 := ¬ move var@12; + assert(¬move var@11); return ] @@ -54040,24 +114011,2530 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> 3: i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (&mut@0 (0: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + *(*(ppy)) := 1: i32 +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (&mut@0 (0: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (&mut@0 (0: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; +} + + +- op: +1: i32 + +[[32mDebug[39m] +**About to evaluate statement**: [ + var@7 := &two-phase *(ppy); + ppz := move id_mut_mut<i32>(move var@7); + *(*(ppz)) := 2: i32; + var@10 := copy *(px); + var@9 := move var@10 == 2: i32; + var@8 := ¬ move var@9; + assert(¬move var@8); + var@13 := copy x; + var@12 := move var@13 == 2: i32; + var@11 := ¬ move var@12; + assert(¬move var@11); + return +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (&mut@0 (1: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + var@7 := &two-phase *(ppy) +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (&mut@0 (1: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + ppz := move id_mut_mut<i32>(move var@7); + *(*(ppz)) := 2: i32; + var@10 := copy *(px); + var@9 := move var@10 == 2: i32; + var@8 := ¬ move var@9; + assert(¬move var@8); + var@13 := copy x; + var@12 := move var@13 == 2: i32; + var@11 := ¬ move var@12; + assert(¬move var@11); + return +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (@shared_loan({5}, &mut@0 (1: i32))) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⌊inactivated_mut@5⌋ ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + ppz := move id_mut_mut<i32>(move var@7) +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (@shared_loan({5}, &mut@0 (1: i32))) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⌊inactivated_mut@5⌋ ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; +} + + + +[[32mDebug[39m] activate_inactivated_mut_borrow: resulting value: +&mut@0 (1: i32) +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> &mut@5 (&mut@0 (1: i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; +} + + +- op: +move var@7 + +[[32mDebug[39m] +**About to evaluate statement**: [ + var@2 := &mut *(x); + var@0 := &mut *(var@2); + return +] + +**Context**: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; +} + +# Frame 1: +{ + Some (var@0) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (x) -> &mut@5 (&mut@0 (1: i32)) ; + Some (var@2) -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + var@2 := &mut *(x) +] + +**Context**: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; +} + +# Frame 1: +{ + Some (var@0) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (x) -> &mut@5 (&mut@0 (1: i32)) ; + Some (var@2) -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + var@0 := &mut *(var@2); + return +] + +**Context**: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; +} + +# Frame 1: +{ + Some (var@0) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (x) -> &mut@5 (⌊mut@6⌋) ; + Some (var@2) -> &mut@6 (&mut@0 (1: i32)) ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + var@0 := &mut *(var@2) +] + +**Context**: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; +} + +# Frame 1: +{ + Some (var@0) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (x) -> &mut@5 (⌊mut@6⌋) ; + Some (var@2) -> &mut@6 (&mut@0 (1: i32)) ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + return +] + +**Context**: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; +} + +# Frame 1: +{ + Some (var@0) -> &mut@7 (&mut@0 (1: i32)) ; + Some (x) -> &mut@5 (⌊mut@6⌋) ; + Some (var@2) -> &mut@6 (⌊mut@7⌋) ; +} + + + +[[32mDebug[39m] ctx_pop_frame: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; +} + +# Frame 1: +{ + Some (var@0) -> &mut@7 (&mut@0 (1: i32)) ; + Some (x) -> &mut@5 (⌊mut@6⌋) ; + Some (var@2) -> &mut@6 (⌊mut@7⌋) ; +} + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 2 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; +} + +# Frame 1: +{ + Some (var@0) -> &mut@7 (&mut@0 (1: i32)) ; + Some (x) -> &mut@5 (⌊mut@6⌋) ; + Some (var@2) -> &mut@6 (⌊mut@7⌋) ; +} + + +- op: +move var@0 + +[[32mDebug[39m] +**About to evaluate statement**: [ + *(*(ppz)) := 2: i32; + var@10 := copy *(px); + var@9 := move var@10 == 2: i32; + var@8 := ¬ move var@9; + assert(¬move var@8); + var@13 := copy x; + var@12 := move var@13 == 2: i32; + var@11 := ¬ move var@12; + assert(¬move var@11); + return +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> &mut@7 (&mut@0 (1: i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@5 (⌊mut@6⌋) ; + None -> &mut@6 (⌊mut@7⌋) ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + *(*(ppz)) := 2: i32 +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> &mut@7 (&mut@0 (1: i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@5 (⌊mut@6⌋) ; + None -> &mut@6 (⌊mut@7⌋) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> &mut@7 (&mut@0 (1: i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@5 (⌊mut@6⌋) ; + None -> &mut@6 (⌊mut@7⌋) ; +} + + +- op: +2: i32 + +[[32mDebug[39m] +**About to evaluate statement**: [ + var@10 := copy *(px); + var@9 := move var@10 == 2: i32; + var@8 := ¬ move var@9; + assert(¬move var@8); + var@13 := copy x; + var@12 := move var@13 == 2: i32; + var@11 := ¬ move var@12; + assert(¬move var@11); + return +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> &mut@7 (&mut@0 (2: i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@5 (⌊mut@6⌋) ; + None -> &mut@6 (⌊mut@7⌋) ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + var@10 := copy *(px) +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> &mut@7 (&mut@0 (2: i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@5 (⌊mut@6⌋) ; + None -> &mut@6 (⌊mut@7⌋) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> &mut@7 (&mut@0 (2: i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@5 (⌊mut@6⌋) ; + None -> &mut@6 (⌊mut@7⌋) ; +} + + +- op: +copy *(px) + +[[32mDebug[39m] end borrow: 1: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> &mut@7 (&mut@0 (2: i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@5 (⌊mut@6⌋) ; + None -> &mut@6 (⌊mut@7⌋) ; +} + +[[32mDebug[39m] end borrow: 1: found outer borrows/abs:(InterpreterBorrowsCore.InnerLoans (InterpreterBorrowsCore.Borrow 2)) +[[32mDebug[39m] end borrow: 2: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> &mut@7 (&mut@0 (2: i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@5 (⌊mut@6⌋) ; + None -> &mut@6 (⌊mut@7⌋) ; +} + +[[32mDebug[39m] end borrow: 2: found outer borrows/abs:(InterpreterBorrowsCore.InnerLoans (InterpreterBorrowsCore.Borrow 3)) +[[32mDebug[39m] end borrow: 3: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> &mut@7 (&mut@0 (2: i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@5 (⌊mut@6⌋) ; + None -> &mut@6 (⌊mut@7⌋) ; +} + +[[32mDebug[39m] end borrow: 3: found outer borrows/abs:(InterpreterBorrowsCore.InnerLoans (InterpreterBorrowsCore.Borrow 4)) +[[32mDebug[39m] end borrow: 4: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> &mut@7 (&mut@0 (2: i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@5 (⌊mut@6⌋) ; + None -> &mut@6 (⌊mut@7⌋) ; +} + +[[32mDebug[39m] end borrow: 4: found outer borrows/abs:(InterpreterBorrowsCore.InnerLoans (InterpreterBorrowsCore.Borrow 5)) +[[32mDebug[39m] end borrow: 5: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> &mut@7 (&mut@0 (2: i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@5 (⌊mut@6⌋) ; + None -> &mut@6 (⌊mut@7⌋) ; +} + +[[32mDebug[39m] end borrow: 5: found outer borrows/abs:(InterpreterBorrowsCore.InnerLoans (InterpreterBorrowsCore.Borrow 6)) +[[32mDebug[39m] end borrow: 6: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> &mut@7 (&mut@0 (2: i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@5 (⌊mut@6⌋) ; + None -> &mut@6 (⌊mut@7⌋) ; +} + +[[32mDebug[39m] end borrow: 6: found outer borrows/abs:(InterpreterBorrowsCore.InnerLoans (InterpreterBorrowsCore.Borrow 7)) +[[32mDebug[39m] end borrow: 7: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> &mut@7 (&mut@0 (2: i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@5 (⌊mut@6⌋) ; + None -> &mut@6 (⌊mut@7⌋) ; +} + +[[32mDebug[39m] give_back: +- bid: 7 +- content: &mut@7 (&mut@0 (2: i32)) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@5 (⌊mut@6⌋) ; + None -> &mut@6 (⌊mut@7⌋) ; +} + + +[[32mDebug[39m] give_back_value: +- bid: 7 +- value: &mut@0 (2: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@5 (⌊mut@6⌋) ; + None -> &mut@6 (⌊mut@7⌋) ; +} + + +[[32mDebug[39m] end borrow: 6: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@5 (⌊mut@6⌋) ; + None -> &mut@6 (&mut@0 (2: i32)) ; +} + +[[32mDebug[39m] give_back: +- bid: 6 +- content: &mut@6 (&mut@0 (2: i32)) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@5 (⌊mut@6⌋) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +[[32mDebug[39m] give_back_value: +- bid: 6 +- value: &mut@0 (2: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@5 (⌊mut@6⌋) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +[[32mDebug[39m] end borrow: 5: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@5 (&mut@0 (2: i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + +[[32mDebug[39m] give_back: +- bid: 5 +- content: &mut@5 (&mut@0 (2: i32)) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +[[32mDebug[39m] give_back_value: +- bid: 5 +- value: &mut@0 (2: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +[[32mDebug[39m] end borrow: 4: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@4 (&mut@0 (2: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + +[[32mDebug[39m] give_back: +- bid: 4 +- content: &mut@4 (&mut@0 (2: i32)) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +[[32mDebug[39m] give_back_value: +- bid: 4 +- value: &mut@0 (2: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (⌊mut@4⌋) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +[[32mDebug[39m] end borrow: 3: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> &mut@3 (&mut@0 (2: i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + +[[32mDebug[39m] give_back: +- bid: 3 +- content: &mut@3 (&mut@0 (2: i32)) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +[[32mDebug[39m] give_back_value: +- bid: 3 +- value: &mut@0 (2: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (⌊mut@3⌋) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +[[32mDebug[39m] end borrow: 2: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> &mut@2 (&mut@0 (2: i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + +[[32mDebug[39m] give_back: +- bid: 2 +- content: &mut@2 (&mut@0 (2: i32)) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +[[32mDebug[39m] give_back_value: +- bid: 2 +- value: &mut@0 (2: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +[[32mDebug[39m] end borrow: 1: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (&mut@0 (2: i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + +[[32mDebug[39m] give_back: +- bid: 1 +- content: &mut@1 (&mut@0 (2: i32)) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +[[32mDebug[39m] give_back_value: +- bid: 1 +- value: &mut@0 (2: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +[[32mDebug[39m] +**About to evaluate statement**: [ + var@9 := move var@10 == 2: i32; + var@8 := ¬ move var@9; + assert(¬move var@8); + var@13 := copy x; + var@12 := move var@13 == 2: i32; + var@11 := ¬ move var@12; + assert(¬move var@11); + return +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> 2: i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + var@9 := move var@10 == 2: i32 +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> 2: i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> 2: i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +- op: +move var@10 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +- op: +2: i32 + +[[32mDebug[39m] +**About to evaluate statement**: [ + var@8 := ¬ move var@9; + assert(¬move var@8); + var@13 := copy x; + var@12 := move var@13 == 2: i32; + var@11 := ¬ move var@12; + assert(¬move var@11); + return +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> true ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + var@8 := ¬ move var@9 +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> true ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> true ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +- op: +move var@9 + +[[32mDebug[39m] +**About to evaluate statement**: [ + assert(¬move var@8); + var@13 := copy x; + var@12 := move var@13 == 2: i32; + var@11 := ¬ move var@12; + assert(¬move var@11); + return +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + assert(¬move var@8) +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +- op: +move var@8 + +[[32mDebug[39m] +**About to evaluate statement**: [ + var@13 := copy x; + var@12 := move var@13 == 2: i32; + var@11 := ¬ move var@12; + assert(¬move var@11); + return +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + var@13 := copy x +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +- op: +copy x + +[[32mDebug[39m] end borrow: 0: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + +[[32mDebug[39m] give_back: +- bid: 0 +- content: &mut@0 (2: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +[[32mDebug[39m] give_back_value: +- bid: 0 +- value: 2: i32 +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +[[32mDebug[39m] +**About to evaluate statement**: [ + var@12 := move var@13 == 2: i32; + var@11 := ¬ move var@12; + assert(¬move var@11); + return +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> 2: i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + var@12 := move var@13 == 2: i32 +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> 2: i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> 2: i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +- op: +move var@13 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +- op: +2: i32 + +[[32mDebug[39m] +**About to evaluate statement**: [ + var@11 := ¬ move var@12; + assert(¬move var@11); + return +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> true ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + var@11 := ¬ move var@12 +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> true ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> true ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +- op: +move var@12 + +[[32mDebug[39m] +**About to evaluate statement**: [ + assert(¬move var@11); + return +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> false ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + assert(¬move var@11) +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> false ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> false ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; +} + + +- op: +move var@11 + +[[32mDebug[39m] +**About to evaluate statement**: [ + return +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 2: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; + None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } @@ -54077,12 +116554,12 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : u32 ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - var@3 -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : (u32, bool) ; } @@ -54098,16 +116575,35 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : u32 ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - var@3 -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : (u32, bool) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : (u32, bool) ; +} + + +- op: +copy x + [[32mDebug[39m] **About to evaluate statement**: [ var@4 := copy y; @@ -54121,12 +116617,12 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : u32 ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - var@3 -> s@0 : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> s@0 : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : (u32, bool) ; } @@ -54142,16 +116638,35 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : u32 ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - var@3 -> s@0 : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> s@0 : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : (u32, bool) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> s@0 : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : (u32, bool) ; +} + + +- op: +copy y + [[32mDebug[39m] **About to evaluate statement**: [ var@0 := copy var@3 + copy var@4; @@ -54164,12 +116679,12 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : u32 ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - var@3 -> s@0 : u32 ; - var@4 -> s@1 : u32 ; - var@5 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> s@0 : u32 ; + Some (var@4) -> s@1 : u32 ; + Some (var@5) -> ⊥ : (u32, bool) ; } @@ -54185,16 +116700,54 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : u32 ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - var@3 -> s@0 : u32 ; - var@4 -> s@1 : u32 ; - var@5 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> s@0 : u32 ; + Some (var@4) -> s@1 : u32 ; + Some (var@5) -> ⊥ : (u32, bool) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> s@0 : u32 ; + Some (var@4) -> s@1 : u32 ; + Some (var@5) -> ⊥ : (u32, bool) ; +} + + +- op: +copy var@3 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> s@0 : u32 ; + Some (var@4) -> s@1 : u32 ; + Some (var@5) -> ⊥ : (u32, bool) ; +} + + +- op: +copy var@4 + [[32mDebug[39m] **About to evaluate statement**: [ return @@ -54206,12 +116759,12 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - 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) ; + Some (var@0) -> s@2 : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> s@0 : u32 ; + Some (var@4) -> s@1 : u32 ; + Some (var@5) -> ⊥ : (u32, bool) ; } @@ -54231,12 +116784,12 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : u32 ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - var@3 -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : (u32, bool) ; } @@ -54252,15 +116805,34 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : u32 ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - var@3 -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : (u32, bool) ; } +- op: +copy x [[32mDebug[39m] **About to evaluate statement**: [ @@ -54275,12 +116847,12 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : u32 ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - var@3 -> s@0 : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> s@0 : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : (u32, bool) ; } @@ -54296,15 +116868,34 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : u32 ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - var@3 -> s@0 : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> s@0 : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : (u32, bool) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> s@0 : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : (u32, bool) ; } +- op: +copy y [[32mDebug[39m] **About to evaluate statement**: [ @@ -54318,12 +116909,12 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : u32 ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - var@3 -> s@0 : u32 ; - var@4 -> s@1 : u32 ; - var@5 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> s@0 : u32 ; + Some (var@4) -> s@1 : u32 ; + Some (var@5) -> ⊥ : (u32, bool) ; } @@ -54339,16 +116930,54 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : u32 ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - var@3 -> s@0 : u32 ; - var@4 -> s@1 : u32 ; - var@5 -> ⊥ : (u32, bool) ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> s@0 : u32 ; + Some (var@4) -> s@1 : u32 ; + Some (var@5) -> ⊥ : (u32, bool) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> s@0 : u32 ; + Some (var@4) -> s@1 : u32 ; + Some (var@5) -> ⊥ : (u32, bool) ; +} + + +- op: +copy var@3 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> s@0 : u32 ; + Some (var@4) -> s@1 : u32 ; + Some (var@5) -> ⊥ : (u32, bool) ; +} + + +- op: +copy var@4 + [[32mDebug[39m] **About to evaluate statement**: [ return @@ -54360,12 +116989,12 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - 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) ; + Some (var@0) -> s@2 : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> s@0 : u32 ; + Some (var@4) -> s@1 : u32 ; + Some (var@5) -> ⊥ : (u32, bool) ; } @@ -54385,12 +117014,12 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : u32 ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - var@3 -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : bool ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : bool ; } @@ -54406,16 +117035,35 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : u32 ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - var@3 -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : bool ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : bool ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : bool ; +} + + +- op: +copy x + [[32mDebug[39m] **About to evaluate statement**: [ var@4 := copy y; @@ -54429,12 +117077,12 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : u32 ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - var@3 -> s@0 : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : bool ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> s@0 : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : bool ; } @@ -54450,15 +117098,34 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : u32 ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - var@3 -> s@0 : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : bool ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> s@0 : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : bool ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> s@0 : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : bool ; } +- op: +copy y [[32mDebug[39m] **About to evaluate statement**: [ @@ -54472,12 +117139,12 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : u32 ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - var@3 -> s@0 : u32 ; - var@4 -> s@1 : u32 ; - var@5 -> ⊥ : bool ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> s@0 : u32 ; + Some (var@4) -> s@1 : u32 ; + Some (var@5) -> ⊥ : bool ; } @@ -54493,15 +117160,53 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : u32 ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - var@3 -> s@0 : u32 ; - var@4 -> s@1 : u32 ; - var@5 -> ⊥ : bool ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> s@0 : u32 ; + Some (var@4) -> s@1 : u32 ; + Some (var@5) -> ⊥ : bool ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> s@0 : u32 ; + Some (var@4) -> s@1 : u32 ; + Some (var@5) -> ⊥ : bool ; } +- op: +move var@3 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> ⊥ : u32 ; + Some (var@4) -> s@1 : u32 ; + Some (var@5) -> ⊥ : bool ; +} + + +- op: +move var@4 [[32mDebug[39m] **About to evaluate statement**: [ @@ -54514,12 +117219,12 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> s@2 : u32 ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - var@3 -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : bool ; + Some (var@0) -> s@2 : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : bool ; } @@ -54539,12 +117244,12 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : u32 ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - var@3 -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : bool ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : bool ; } @@ -54560,16 +117265,35 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : u32 ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - var@3 -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : bool ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : bool ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : bool ; +} + + +- op: +copy x + [[32mDebug[39m] **About to evaluate statement**: [ var@4 := copy y; @@ -54583,12 +117307,12 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : u32 ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - var@3 -> s@0 : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : bool ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> s@0 : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : bool ; } @@ -54604,15 +117328,34 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : u32 ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - var@3 -> s@0 : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : bool ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> s@0 : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : bool ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> s@0 : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : bool ; } +- op: +copy y [[32mDebug[39m] **About to evaluate statement**: [ @@ -54626,12 +117369,12 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : u32 ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - var@3 -> s@0 : u32 ; - var@4 -> s@1 : u32 ; - var@5 -> ⊥ : bool ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> s@0 : u32 ; + Some (var@4) -> s@1 : u32 ; + Some (var@5) -> ⊥ : bool ; } @@ -54647,16 +117390,54 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : u32 ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - var@3 -> s@0 : u32 ; - var@4 -> s@1 : u32 ; - var@5 -> ⊥ : bool ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> s@0 : u32 ; + Some (var@4) -> s@1 : u32 ; + Some (var@5) -> ⊥ : bool ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> s@0 : u32 ; + Some (var@4) -> s@1 : u32 ; + Some (var@5) -> ⊥ : bool ; +} + + +- op: +move var@3 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> ⊥ : u32 ; + Some (var@4) -> s@1 : u32 ; + Some (var@5) -> ⊥ : bool ; +} + + +- op: +move var@4 + [[32mDebug[39m] **About to evaluate statement**: [ return @@ -54668,12 +117449,12 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> s@2 : u32 ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - var@3 -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : bool ; + Some (var@0) -> s@2 : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : bool ; } @@ -54702,17 +117483,17 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - y -> ⊥ : u32 ; - z -> ⊥ : u32 ; - p -> ⊥ : test1::Pair<u32, u32> ; - var@5 -> ⊥ : u32 ; - s -> ⊥ : test1::Sum<u32, bool> ; - o -> ⊥ : test1::One<u64> ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (p) -> ⊥ : test1::Pair<u32, u32> ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> ⊥ : test1::Sum<u32, bool> ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } @@ -54728,20 +117509,44 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - y -> ⊥ : u32 ; - z -> ⊥ : u32 ; - p -> ⊥ : test1::Pair<u32, u32> ; - var@5 -> ⊥ : u32 ; - s -> ⊥ : test1::Sum<u32, bool> ; - o -> ⊥ : test1::One<u64> ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (p) -> ⊥ : test1::Pair<u32, u32> ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> ⊥ : test1::Sum<u32, bool> ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (p) -> ⊥ : test1::Pair<u32, u32> ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> ⊥ : test1::Sum<u32, bool> ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } +- op: +23: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -54765,17 +117570,17 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> ⊥ : u32 ; - z -> ⊥ : u32 ; - p -> ⊥ : test1::Pair<u32, u32> ; - var@5 -> ⊥ : u32 ; - s -> ⊥ : test1::Sum<u32, bool> ; - o -> ⊥ : test1::One<u64> ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (p) -> ⊥ : test1::Pair<u32, u32> ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> ⊥ : test1::Sum<u32, bool> ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } @@ -54791,21 +117596,45 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> ⊥ : u32 ; - z -> ⊥ : u32 ; - p -> ⊥ : test1::Pair<u32, u32> ; - var@5 -> ⊥ : u32 ; - s -> ⊥ : test1::Sum<u32, bool> ; - o -> ⊥ : test1::One<u64> ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (p) -> ⊥ : test1::Pair<u32, u32> ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> ⊥ : test1::Sum<u32, bool> ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (p) -> ⊥ : test1::Pair<u32, u32> ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> ⊥ : test1::Sum<u32, bool> ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; +} + + +- op: +44: u32 + [[32mDebug[39m] **About to evaluate statement**: [ z := 67: u32; @@ -54827,17 +117656,17 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> 44: u32 ; - z -> ⊥ : u32 ; - p -> ⊥ : test1::Pair<u32, u32> ; - var@5 -> ⊥ : u32 ; - s -> ⊥ : test1::Sum<u32, bool> ; - o -> ⊥ : test1::One<u64> ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> ⊥ : u32 ; + Some (p) -> ⊥ : test1::Pair<u32, u32> ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> ⊥ : test1::Sum<u32, bool> ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } @@ -54853,21 +117682,45 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> 44: u32 ; - z -> ⊥ : u32 ; - p -> ⊥ : test1::Pair<u32, u32> ; - var@5 -> ⊥ : u32 ; - s -> ⊥ : test1::Sum<u32, bool> ; - o -> ⊥ : test1::One<u64> ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> ⊥ : u32 ; + Some (p) -> ⊥ : test1::Pair<u32, u32> ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> ⊥ : test1::Sum<u32, bool> ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> ⊥ : u32 ; + Some (p) -> ⊥ : test1::Pair<u32, u32> ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> ⊥ : test1::Sum<u32, bool> ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; +} + + +- op: +67: u32 + [[32mDebug[39m] **About to evaluate statement**: [ var@5 := copy x; @@ -54888,17 +117741,17 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> 44: u32 ; - z -> 67: u32 ; - p -> ⊥ : test1::Pair<u32, u32> ; - var@5 -> ⊥ : u32 ; - s -> ⊥ : test1::Sum<u32, bool> ; - o -> ⊥ : test1::One<u64> ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> ⊥ : test1::Pair<u32, u32> ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> ⊥ : test1::Sum<u32, bool> ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } @@ -54914,20 +117767,44 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> 44: u32 ; - z -> 67: u32 ; - p -> ⊥ : test1::Pair<u32, u32> ; - var@5 -> ⊥ : u32 ; - s -> ⊥ : test1::Sum<u32, bool> ; - o -> ⊥ : test1::One<u64> ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> ⊥ : test1::Pair<u32, u32> ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> ⊥ : test1::Sum<u32, bool> ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> ⊥ : test1::Pair<u32, u32> ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> ⊥ : test1::Sum<u32, bool> ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } +- op: +copy x [[32mDebug[39m] **About to evaluate statement**: [ @@ -54948,17 +117825,17 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> 44: u32 ; - z -> 67: u32 ; - p -> ⊥ : test1::Pair<u32, u32> ; - var@5 -> 23: u32 ; - s -> ⊥ : test1::Sum<u32, bool> ; - o -> ⊥ : test1::One<u64> ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> ⊥ : test1::Pair<u32, u32> ; + Some (var@5) -> 23: u32 ; + Some (s) -> ⊥ : test1::Sum<u32, bool> ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } @@ -54974,21 +117851,45 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> 44: u32 ; - z -> 67: u32 ; - p -> ⊥ : test1::Pair<u32, u32> ; - var@5 -> 23: u32 ; - s -> ⊥ : test1::Sum<u32, bool> ; - o -> ⊥ : test1::One<u64> ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> ⊥ : test1::Pair<u32, u32> ; + Some (var@5) -> 23: u32 ; + Some (s) -> ⊥ : test1::Sum<u32, bool> ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> ⊥ : test1::Pair<u32, u32> ; + Some (var@5) -> 23: u32 ; + Some (s) -> ⊥ : test1::Sum<u32, bool> ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; +} + + +- op: +move var@5 + [[32mDebug[39m] expand_bottom_value_from_projection: pe: (Expressions.Field ((Expressions.ProjAdt (0, None)), 0)) ty: (Types.Adt ((Types.AdtId 0), [], @@ -55011,17 +117912,17 @@ ty: (Types.Adt ((Types.AdtId 0), [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> 44: u32 ; - z -> 67: u32 ; - p -> test1::Pair { x = 23: u32; y = ⊥ : u32; } ; - var@5 -> ⊥ : u32 ; - s -> ⊥ : test1::Sum<u32, bool> ; - o -> ⊥ : test1::One<u64> ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> test1::Pair { x = 23: u32; y = ⊥ : u32; } ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> ⊥ : test1::Sum<u32, bool> ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } @@ -55037,20 +117938,44 @@ ty: (Types.Adt ((Types.AdtId 0), [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> 44: u32 ; - z -> 67: u32 ; - p -> test1::Pair { x = 23: u32; y = ⊥ : u32; } ; - var@5 -> ⊥ : u32 ; - s -> ⊥ : test1::Sum<u32, bool> ; - o -> ⊥ : test1::One<u64> ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> test1::Pair { x = 23: u32; y = ⊥ : u32; } ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> ⊥ : test1::Sum<u32, bool> ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> test1::Pair { x = 23: u32; y = ⊥ : u32; } ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> ⊥ : test1::Sum<u32, bool> ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } +- op: +67: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -55069,17 +117994,17 @@ ty: (Types.Adt ((Types.AdtId 0), [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> 44: u32 ; - z -> 67: u32 ; - p -> test1::Pair { x = 23: u32; y = 67: u32; } ; - var@5 -> ⊥ : u32 ; - s -> ⊥ : test1::Sum<u32, bool> ; - o -> ⊥ : test1::One<u64> ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> ⊥ : test1::Sum<u32, bool> ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } @@ -55095,21 +118020,45 @@ ty: (Types.Adt ((Types.AdtId 0), [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> 44: u32 ; - z -> 67: u32 ; - p -> test1::Pair { x = 23: u32; y = 67: u32; } ; - var@5 -> ⊥ : u32 ; - s -> ⊥ : test1::Sum<u32, bool> ; - o -> ⊥ : test1::One<u64> ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> ⊥ : test1::Sum<u32, bool> ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> ⊥ : test1::Sum<u32, bool> ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; +} + + +- op: +true + [[32mDebug[39m] expand_bottom_value_from_projection: pe: (Expressions.Field ((Expressions.ProjAdt (6, (Some 1))), 0)) ty: (Types.Adt ((Types.AdtId 6), [], [(Types.Integer Types.U32); Types.Bool])) @@ -55129,17 +118078,17 @@ ty: (Types.Adt ((Types.AdtId 6), [], [(Types.Integer Types.U32); Types.Bool])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> 44: u32 ; - z -> 67: u32 ; - p -> test1::Pair { x = 23: u32; y = 67: u32; } ; - var@5 -> ⊥ : u32 ; - s -> test1::Sum::Right { 0 = true; } ; - o -> ⊥ : test1::One<u64> ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> test1::Sum::Right { 0 = true; } ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } @@ -55155,17 +118104,17 @@ ty: (Types.Adt ((Types.AdtId 6), [], [(Types.Integer Types.U32); Types.Bool])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> 44: u32 ; - z -> 67: u32 ; - p -> test1::Pair { x = 23: u32; y = 67: u32; } ; - var@5 -> ⊥ : u32 ; - s -> test1::Sum::Right { 0 = true; } ; - o -> ⊥ : test1::One<u64> ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> test1::Sum::Right { 0 = true; } ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } @@ -55185,17 +118134,17 @@ ty: (Types.Adt ((Types.AdtId 6), [], [(Types.Integer Types.U32); Types.Bool])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> 44: u32 ; - z -> 67: u32 ; - p -> test1::Pair { x = 23: u32; y = 67: u32; } ; - var@5 -> ⊥ : u32 ; - s -> test1::Sum::Right { 0 = true; } ; - o -> ⊥ : test1::One<u64> ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> test1::Sum::Right { 0 = true; } ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } @@ -55211,21 +118160,45 @@ ty: (Types.Adt ((Types.AdtId 6), [], [(Types.Integer Types.U32); Types.Bool])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> 44: u32 ; - z -> 67: u32 ; - p -> test1::Pair { x = 23: u32; y = 67: u32; } ; - var@5 -> ⊥ : u32 ; - s -> test1::Sum::Right { 0 = true; } ; - o -> ⊥ : test1::One<u64> ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> test1::Sum::Right { 0 = true; } ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> test1::Sum::Right { 0 = true; } ; + Some (o) -> ⊥ : test1::One<u64> ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; +} + + +- op: +3: u64 + [[32mDebug[39m] expand_bottom_value_from_projection: pe: (Expressions.Field ((Expressions.ProjAdt (2, (Some 0))), 0)) ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) @@ -55243,17 +118216,17 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> 44: u32 ; - z -> 67: u32 ; - p -> test1::Pair { x = 23: u32; y = 67: u32; } ; - var@5 -> ⊥ : u32 ; - s -> test1::Sum::Right { 0 = true; } ; - o -> test1::One::One { 0 = 3: u64; } ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> test1::Sum::Right { 0 = true; } ; + Some (o) -> test1::One::One { 0 = 3: u64; } ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } @@ -55269,17 +118242,17 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> 44: u32 ; - z -> 67: u32 ; - p -> test1::Pair { x = 23: u32; y = 67: u32; } ; - var@5 -> ⊥ : u32 ; - s -> test1::Sum::Right { 0 = true; } ; - o -> test1::One::One { 0 = 3: u64; } ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> test1::Sum::Right { 0 = true; } ; + Some (o) -> test1::One::One { 0 = 3: u64; } ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } @@ -55297,17 +118270,17 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> 44: u32 ; - z -> 67: u32 ; - p -> test1::Pair { x = 23: u32; y = 67: u32; } ; - var@5 -> ⊥ : u32 ; - s -> test1::Sum::Right { 0 = true; } ; - o -> test1::One::One { 0 = 3: u64; } ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> test1::Sum::Right { 0 = true; } ; + Some (o) -> test1::One::One { 0 = 3: u64; } ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } @@ -55323,17 +118296,17 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> 44: u32 ; - z -> 67: u32 ; - p -> test1::Pair { x = 23: u32; y = 67: u32; } ; - var@5 -> ⊥ : u32 ; - s -> test1::Sum::Right { 0 = true; } ; - o -> test1::One::One { 0 = 3: u64; } ; - e0 -> ⊥ : test1::EmptyEnum ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> test1::Sum::Right { 0 = true; } ; + Some (o) -> test1::One::One { 0 = 3: u64; } ; + Some (e0) -> ⊥ : test1::EmptyEnum ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } @@ -55350,17 +118323,17 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> 44: u32 ; - z -> 67: u32 ; - p -> test1::Pair { x = 23: u32; y = 67: u32; } ; - var@5 -> ⊥ : u32 ; - s -> test1::Sum::Right { 0 = true; } ; - o -> test1::One::One { 0 = 3: u64; } ; - e0 -> test1::EmptyEnum::Empty ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> test1::Sum::Right { 0 = true; } ; + Some (o) -> test1::One::One { 0 = 3: u64; } ; + Some (e0) -> test1::EmptyEnum::Empty ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } @@ -55376,17 +118349,17 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> 44: u32 ; - z -> 67: u32 ; - p -> test1::Pair { x = 23: u32; y = 67: u32; } ; - var@5 -> ⊥ : u32 ; - s -> test1::Sum::Right { 0 = true; } ; - o -> test1::One::One { 0 = 3: u64; } ; - e0 -> test1::EmptyEnum::Empty ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> ⊥ : test1::Enum ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> test1::Sum::Right { 0 = true; } ; + Some (o) -> test1::One::One { 0 = 3: u64; } ; + Some (e0) -> test1::EmptyEnum::Empty ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> ⊥ : test1::Enum ; } @@ -55402,17 +118375,17 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 23: u32 ; - y -> 44: u32 ; - z -> 67: u32 ; - p -> test1::Pair { x = 23: u32; y = 67: u32; } ; - var@5 -> ⊥ : u32 ; - s -> test1::Sum::Right { 0 = true; } ; - o -> test1::One::One { 0 = 3: u64; } ; - e0 -> test1::EmptyEnum::Empty ; - e1 -> ⊥ : test1::EmptyEnum ; - enum0 -> test1::Enum::Variant1 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 23: u32 ; + Some (y) -> 44: u32 ; + Some (z) -> 67: u32 ; + Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; + Some (var@5) -> ⊥ : u32 ; + Some (s) -> test1::Sum::Right { 0 = true; } ; + Some (o) -> test1::One::One { 0 = 3: u64; } ; + Some (e0) -> test1::EmptyEnum::Empty ; + Some (e1) -> ⊥ : test1::EmptyEnum ; + Some (enum0) -> test1::Enum::Variant1 ; } @@ -55438,12 +118411,12 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : u32 ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; } @@ -55459,15 +118432,34 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : u32 ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; } +- op: +copy x [[32mDebug[39m] **About to evaluate statement**: [ @@ -55488,12 +118480,12 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : u32 ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - var@3 -> ⊥ : bool ; - var@4 -> s@0 : u32 ; - var@5 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> s@0 : u32 ; + Some (var@5) -> ⊥ : u32 ; } @@ -55509,15 +118501,34 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : u32 ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - var@3 -> ⊥ : bool ; - var@4 -> s@0 : u32 ; - var@5 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> s@0 : u32 ; + Some (var@5) -> ⊥ : u32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> s@0 : u32 ; + Some (var@5) -> ⊥ : u32 ; } +- op: +copy y [[32mDebug[39m] **About to evaluate statement**: [ @@ -55537,12 +118548,12 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : u32 ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - var@3 -> ⊥ : bool ; - var@4 -> s@0 : u32 ; - var@5 -> s@1 : u32 ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> s@0 : u32 ; + Some (var@5) -> s@1 : u32 ; } @@ -55558,15 +118569,53 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : u32 ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - var@3 -> ⊥ : bool ; - var@4 -> s@0 : u32 ; - var@5 -> s@1 : u32 ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> s@0 : u32 ; + Some (var@5) -> s@1 : u32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> s@0 : u32 ; + Some (var@5) -> s@1 : u32 ; } +- op: +move var@4 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> s@1 : u32 ; +} + + +- op: +move var@5 [[32mDebug[39m] **About to evaluate statement**: [ @@ -55585,12 +118634,12 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : u32 ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - var@3 -> s@2 : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> s@2 : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; } @@ -55611,16 +118660,35 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : u32 ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - var@3 -> s@2 : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> s@2 : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> true ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; +} + + +- op: +move var@3 + [[32mDebug[39m] **About to evaluate statement**: [ var@0 := copy x @@ -55632,15 +118700,53 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : u32 ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; +} + + +- op: +copy x + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> false ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; } +- op: +move var@3 [[32mDebug[39m] **About to evaluate statement**: [ @@ -55653,15 +118759,34 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : u32 ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; } +- op: +copy y [[32mDebug[39m] **About to evaluate statement**: [ @@ -55674,12 +118799,12 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> s@0 : u32 ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; + Some (var@0) -> s@0 : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; } @@ -55695,12 +118820,12 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> s@1 : u32 ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; + Some (var@0) -> s@1 : u32 ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; } @@ -55726,16 +118851,16 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - y -> ⊥ : u32 ; - z -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; } @@ -55751,19 +118876,65 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - y -> ⊥ : u32 ; - z -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; +} + + +- op: +4: u32 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; } +- op: +3: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -55784,16 +118955,16 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - y -> ⊥ : u32 ; - z -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; } @@ -55809,20 +118980,66 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - y -> ⊥ : u32 ; - z -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; +} + + +- op: +10: u32 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (y) -> ⊥ : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; +} + + +- op: +11: u32 + [[32mDebug[39m] **About to evaluate statement**: [ var@4 := copy x; @@ -55841,16 +119058,16 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - z -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; } @@ -55866,19 +119083,42 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - z -> ⊥ : u32 ; - var@4 -> ⊥ : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> ⊥ : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; } +- op: +copy x [[32mDebug[39m] **About to evaluate statement**: [ @@ -55897,16 +119137,16 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - z -> ⊥ : u32 ; - var@4 -> s@0 : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> s@0 : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; } @@ -55922,20 +119162,43 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - z -> ⊥ : u32 ; - var@4 -> s@0 : u32 ; - var@5 -> ⊥ : u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> s@0 : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> s@0 : u32 ; + Some (var@5) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; +} + + +- op: +copy y + [[32mDebug[39m] **About to evaluate statement**: [ z := copy var@4 + copy var@5; @@ -55952,16 +119215,16 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - z -> ⊥ : u32 ; - var@4 -> s@0 : u32 ; - var@5 -> s@1 : u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> s@0 : u32 ; + Some (var@5) -> s@1 : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; } @@ -55977,20 +119240,66 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - y -> s@1 : u32 ; - z -> ⊥ : u32 ; - var@4 -> s@0 : u32 ; - var@5 -> s@1 : u32 ; - var@6 -> ⊥ : (u32, bool) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> s@0 : u32 ; + Some (var@5) -> s@1 : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> s@0 : u32 ; + Some (var@5) -> s@1 : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; +} + + +- op: +copy var@4 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (z) -> ⊥ : u32 ; + Some (var@4) -> s@0 : u32 ; + Some (var@5) -> s@1 : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; +} + + +- op: +copy var@5 + [[32mDebug[39m] **About to evaluate statement**: [ var@9 := copy z; @@ -56006,16 +119315,16 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (z) -> s@2 : u32 ; + Some (var@4) -> s@0 : u32 ; + Some (var@5) -> s@1 : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; } @@ -56031,20 +119340,43 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (z) -> s@2 : u32 ; + Some (var@4) -> s@0 : u32 ; + Some (var@5) -> s@1 : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (z) -> s@2 : u32 ; + Some (var@4) -> s@0 : u32 ; + Some (var@5) -> s@1 : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; +} + + +- op: +copy z + [[32mDebug[39m] **About to evaluate statement**: [ var@8 := move var@9 == 15: u32; @@ -56059,16 +119391,16 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 -> s@2 : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (z) -> s@2 : u32 ; + Some (var@4) -> s@0 : u32 ; + Some (var@5) -> s@1 : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> s@2 : u32 ; } @@ -56084,19 +119416,65 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 -> s@2 : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (z) -> s@2 : u32 ; + Some (var@4) -> s@0 : u32 ; + Some (var@5) -> s@1 : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> s@2 : u32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (z) -> s@2 : u32 ; + Some (var@4) -> s@0 : u32 ; + Some (var@5) -> s@1 : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> s@2 : u32 ; } +- op: +move var@9 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (z) -> s@2 : u32 ; + Some (var@4) -> s@0 : u32 ; + Some (var@5) -> s@1 : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; +} + + +- op: +15: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -56111,16 +119489,16 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 -> s@3 : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (z) -> s@2 : u32 ; + Some (var@4) -> s@0 : u32 ; + Some (var@5) -> s@1 : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> s@3 : bool ; + Some (var@9) -> ⊥ : u32 ; } @@ -56136,20 +119514,43 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 -> s@3 : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (z) -> s@2 : u32 ; + Some (var@4) -> s@0 : u32 ; + Some (var@5) -> s@1 : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> s@3 : bool ; + Some (var@9) -> ⊥ : u32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (z) -> s@2 : u32 ; + Some (var@4) -> s@0 : u32 ; + Some (var@5) -> s@1 : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> s@3 : bool ; + Some (var@9) -> ⊥ : u32 ; +} + + +- op: +move var@8 + [[32mDebug[39m] **About to evaluate statement**: [ assert(¬move var@7); @@ -56162,16 +119563,16 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 -> s@4 : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (z) -> s@2 : u32 ; + Some (var@4) -> s@0 : u32 ; + Some (var@5) -> s@1 : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> s@4 : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; } @@ -56187,19 +119588,42 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 -> s@4 : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (z) -> s@2 : u32 ; + Some (var@4) -> s@0 : u32 ; + Some (var@5) -> s@1 : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> s@4 : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (z) -> s@2 : u32 ; + Some (var@4) -> s@0 : u32 ; + Some (var@5) -> s@1 : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> true ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; } +- op: +move var@7 [[32mDebug[39m] **About to evaluate statement**: [ @@ -56212,16 +119636,16 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (y) -> s@1 : u32 ; + Some (z) -> s@2 : u32 ; + Some (var@4) -> s@0 : u32 ; + Some (var@5) -> s@1 : u32 ; + Some (var@6) -> ⊥ : (u32, bool) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : u32 ; } @@ -56242,10 +119666,10 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : i32 ; - x -> s@0 : i32 ; - var@2 -> ⊥ : i32 ; - var@3 -> ⊥ : bool ; + Some (var@0) -> ⊥ : i32 ; + Some (x) -> s@0 : i32 ; + Some (var@2) -> ⊥ : i32 ; + Some (var@3) -> ⊥ : bool ; } @@ -56261,13 +119685,30 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : i32 ; - x -> s@0 : i32 ; - var@2 -> ⊥ : i32 ; - var@3 -> ⊥ : bool ; + Some (var@0) -> ⊥ : i32 ; + Some (x) -> s@0 : i32 ; + Some (var@2) -> ⊥ : i32 ; + Some (var@3) -> ⊥ : bool ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : i32 ; + Some (x) -> s@0 : i32 ; + Some (var@2) -> ⊥ : i32 ; + Some (var@3) -> ⊥ : bool ; } +- op: +copy x [[32mDebug[39m] **About to evaluate statement**: [ @@ -56283,10 +119724,10 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : i32 ; - x -> s@0 : i32 ; - var@2 -> s@0 : i32 ; - var@3 -> ⊥ : bool ; + Some (var@0) -> ⊥ : i32 ; + Some (x) -> s@0 : i32 ; + Some (var@2) -> s@0 : i32 ; + Some (var@3) -> ⊥ : bool ; } @@ -56302,13 +119743,47 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : i32 ; - x -> s@0 : i32 ; - var@2 -> s@0 : i32 ; - var@3 -> ⊥ : bool ; + Some (var@0) -> ⊥ : i32 ; + Some (x) -> s@0 : i32 ; + Some (var@2) -> s@0 : i32 ; + Some (var@3) -> ⊥ : bool ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : i32 ; + Some (x) -> s@0 : i32 ; + Some (var@2) -> s@0 : i32 ; + Some (var@3) -> ⊥ : bool ; } +- op: +copy var@2 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : i32 ; + Some (x) -> s@0 : i32 ; + Some (var@2) -> s@0 : i32 ; + Some (var@3) -> ⊥ : bool ; +} + + +- op: +-2147483648: i32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -56323,10 +119798,10 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : i32 ; - x -> s@0 : i32 ; - var@2 -> s@0 : i32 ; - var@3 -> s@1 : bool ; + Some (var@0) -> ⊥ : i32 ; + Some (x) -> s@0 : i32 ; + Some (var@2) -> s@0 : i32 ; + Some (var@3) -> s@1 : bool ; } @@ -56342,14 +119817,31 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : i32 ; - x -> s@0 : i32 ; - var@2 -> s@0 : i32 ; - var@3 -> s@1 : bool ; + Some (var@0) -> ⊥ : i32 ; + Some (x) -> s@0 : i32 ; + Some (var@2) -> s@0 : i32 ; + Some (var@3) -> s@1 : bool ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : i32 ; + Some (x) -> s@0 : i32 ; + Some (var@2) -> s@0 : i32 ; + Some (var@3) -> true ; +} + + +- op: +move var@3 + [[32mDebug[39m] **About to evaluate statement**: [ var@0 := - move var@2; @@ -56362,10 +119854,10 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : i32 ; - x -> s@0 : i32 ; - var@2 -> s@0 : i32 ; - var@3 -> ⊥ : bool ; + Some (var@0) -> ⊥ : i32 ; + Some (x) -> s@0 : i32 ; + Some (var@2) -> s@0 : i32 ; + Some (var@3) -> ⊥ : bool ; } @@ -56381,13 +119873,30 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : i32 ; - x -> s@0 : i32 ; - var@2 -> s@0 : i32 ; - var@3 -> ⊥ : bool ; + Some (var@0) -> ⊥ : i32 ; + Some (x) -> s@0 : i32 ; + Some (var@2) -> s@0 : i32 ; + Some (var@3) -> ⊥ : bool ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : i32 ; + Some (x) -> s@0 : i32 ; + Some (var@2) -> s@0 : i32 ; + Some (var@3) -> ⊥ : bool ; } +- op: +move var@2 [[32mDebug[39m] **About to evaluate statement**: [ @@ -56400,10 +119909,10 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> s@2 : i32 ; - x -> s@0 : i32 ; - var@2 -> ⊥ : i32 ; - var@3 -> ⊥ : bool ; + Some (var@0) -> s@2 : i32 ; + Some (x) -> s@0 : i32 ; + Some (var@2) -> ⊥ : i32 ; + Some (var@3) -> ⊥ : bool ; } @@ -56422,9 +119931,9 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : i32 ; - y -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (y) -> ⊥ : i32 ; } @@ -56440,12 +119949,28 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : i32 ; - y -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (y) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (y) -> ⊥ : i32 ; } +- op: +3: i32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -56459,9 +119984,9 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 3: i32 ; - y -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 3: i32 ; + Some (y) -> ⊥ : i32 ; } @@ -56477,12 +120002,28 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 3: i32 ; - y -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 3: i32 ; + Some (y) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 3: i32 ; + Some (y) -> ⊥ : i32 ; } +- op: +-3: i32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -56495,9 +120036,9 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 3: i32 ; - y -> -3: i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 3: i32 ; + Some (y) -> -3: i32 ; } @@ -56522,13 +120063,13 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; } @@ -56544,17 +120085,37 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; +} + + +- op: +0: i32 + [[32mDebug[39m] **About to evaluate statement**: [ px := &mut x; @@ -56573,13 +120134,13 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; } @@ -56595,13 +120156,13 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; } @@ -56623,13 +120184,13 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@0 (0: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (0: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; } @@ -56645,13 +120206,13 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@0 (0: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (0: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; } @@ -56672,13 +120233,13 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (&mut@0 (0: i32)) ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (&mut@0 (0: i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; } @@ -56694,16 +120255,36 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (&mut@0 (0: i32)) ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (&mut@0 (0: i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (&mut@0 (0: i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; } +- op: +1: i32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -56720,13 +120301,13 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (&mut@0 (1: i32)) ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (&mut@0 (1: i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; } @@ -56742,17 +120323,162 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (&mut@0 (1: i32)) ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (&mut@0 (1: i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (&mut@0 (1: i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; +} + + +- op: +copy x + +[[32mDebug[39m] end borrow: 0: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (&mut@0 (1: i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; +} + +[[32mDebug[39m] end borrow: 0: found outer borrows/abs:(InterpreterBorrowsCore.OuterBorrows (InterpreterBorrowsCore.Borrow 1)) +[[32mDebug[39m] end borrow: 1: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (&mut@0 (1: i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; +} + +[[32mDebug[39m] give_back: +- bid: 1 +- content: &mut@1 (&mut@0 (1: i32)) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; +} + + +[[32mDebug[39m] give_back_value: +- bid: 1 +- value: &mut@0 (1: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; +} + + +[[32mDebug[39m] end borrow: 0: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (1: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; +} + +[[32mDebug[39m] give_back: +- bid: 0 +- content: &mut@0 (1: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; +} + + +[[32mDebug[39m] give_back_value: +- bid: 0 +- value: 1: i32 +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; +} + + [[32mDebug[39m] **About to evaluate statement**: [ var@5 := move var@6 == 1: i32; @@ -56767,13 +120493,13 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> 1: i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> 1: i32 ; } @@ -56789,16 +120515,56 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> 1: i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> 1: i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> 1: i32 ; } +- op: +move var@6 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; +} + + +- op: +1: i32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -56813,13 +120579,13 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@4 -> ⊥ : bool ; - var@5 -> s@0 : bool ; - var@6 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> s@0 : bool ; + Some (var@6) -> ⊥ : i32 ; } @@ -56835,17 +120601,37 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@4 -> ⊥ : bool ; - var@5 -> s@0 : bool ; - var@6 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> s@0 : bool ; + Some (var@6) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> s@0 : bool ; + Some (var@6) -> ⊥ : i32 ; +} + + +- op: +move var@5 + [[32mDebug[39m] **About to evaluate statement**: [ assert(¬move var@4); @@ -56858,13 +120644,13 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@4 -> s@1 : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> s@1 : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; } @@ -56880,16 +120666,36 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@4 -> s@1 : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> s@1 : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> true ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; } +- op: +move var@4 [[32mDebug[39m] **About to evaluate statement**: [ @@ -56902,13 +120708,13 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 1: i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : i32 ; } @@ -56949,25 +120755,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : i32 ; - y -> ⊥ : i32 ; - px -> ⊥ : &'_ mut (i32) ; - py -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (y) -> ⊥ : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -56983,28 +120789,60 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : i32 ; - y -> ⊥ : i32 ; - px -> ⊥ : &'_ mut (i32) ; - py -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (y) -> ⊥ : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (y) -> ⊥ : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +- op: +0: i32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -57040,25 +120878,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⊥ : i32 ; - px -> ⊥ : &'_ mut (i32) ; - py -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⊥ : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -57074,28 +120912,60 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⊥ : i32 ; - px -> ⊥ : &'_ mut (i32) ; - py -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⊥ : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⊥ : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +- op: +1: i32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -57130,25 +121000,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> 1: i32 ; - px -> ⊥ : &'_ mut (i32) ; - py -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -57164,25 +121034,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> 1: i32 ; - px -> ⊥ : &'_ mut (i32) ; - py -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> 1: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -57219,25 +121089,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> 1: i32 ; - px -> &mut@0 (0: i32) ; - py -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> 1: i32 ; + Some (px) -> &mut@0 (0: i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -57253,25 +121123,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> 1: i32 ; - px -> &mut@0 (0: i32) ; - py -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> 1: i32 ; + Some (px) -> &mut@0 (0: i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -57307,25 +121177,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@1⌋ ; - px -> &mut@0 (0: i32) ; - py -> &mut@1 (1: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@0 (0: i32) ; + Some (py) -> &mut@1 (1: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -57341,25 +121211,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@1⌋ ; - px -> &mut@0 (0: i32) ; - py -> &mut@1 (1: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@0 (0: i32) ; + Some (py) -> &mut@1 (1: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -57394,25 +121264,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@1⌋ ; - px -> ⌊mut@2⌋ ; - py -> &mut@1 (1: i32) ; - ppx -> &mut@2 (&mut@0 (0: i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⌊mut@2⌋ ; + Some (py) -> &mut@1 (1: i32) ; + Some (ppx) -> &mut@2 (&mut@0 (0: i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -57428,25 +121298,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@1⌋ ; - px -> ⌊mut@2⌋ ; - py -> &mut@1 (1: i32) ; - ppx -> &mut@2 (&mut@0 (0: i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⌊mut@2⌋ ; + Some (py) -> &mut@1 (1: i32) ; + Some (ppx) -> &mut@2 (&mut@0 (0: i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -57480,25 +121350,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@1⌋ ; - px -> ⌊mut@2⌋ ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> &mut@2 (&mut@0 (0: i32)) ; - var@6 -> &mut@3 (1: i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⌊mut@2⌋ ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> &mut@2 (&mut@0 (0: i32)) ; + Some (var@6) -> &mut@3 (1: i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -57514,29 +121384,157 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@1⌋ ; - px -> ⌊mut@2⌋ ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> &mut@2 (&mut@0 (0: i32)) ; - var@6 -> &mut@3 (1: i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⌊mut@2⌋ ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> &mut@2 (&mut@0 (0: i32)) ; + Some (var@6) -> &mut@3 (1: i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⌊mut@2⌋ ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> &mut@2 (&mut@0 (0: i32)) ; + Some (var@6) -> &mut@3 (1: i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +- op: +move var@6 + +[[32mDebug[39m] end borrow: 0: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⌊mut@2⌋ ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> &mut@2 (⊥ : &'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> &mut@3 (1: i32) ; + None -> &mut@0 (0: i32) ; +} + +[[32mDebug[39m] give_back: +- bid: 0 +- content: &mut@0 (0: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⌊mut@2⌋ ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> &mut@2 (⊥ : &'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> &mut@3 (1: i32) ; + None -> ⊥ : &'_ mut (i32) ; +} + + +[[32mDebug[39m] give_back_value: +- bid: 0 +- value: 0: i32 +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⌊mut@2⌋ ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> &mut@2 (⊥ : &'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + None -> &mut@3 (1: i32) ; + None -> ⊥ : &'_ mut (i32) ; +} + + [[32mDebug[39m] **About to evaluate statement**: [ *(*(ppx)) := 2: i32; @@ -57565,25 +121563,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> ⌊mut@2⌋ ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> &mut@2 (&mut@3 (1: i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⌊mut@2⌋ ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> &mut@2 (&mut@3 (1: i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -57599,29 +121597,61 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> ⌊mut@2⌋ ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> &mut@2 (&mut@3 (1: i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⌊mut@2⌋ ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> &mut@2 (&mut@3 (1: i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⌊mut@2⌋ ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> &mut@2 (&mut@3 (1: i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +- op: +2: i32 + [[32mDebug[39m] **About to evaluate statement**: [ var@9 := copy *(px); @@ -57649,25 +121679,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> ⌊mut@2⌋ ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> &mut@2 (&mut@3 (2: i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⌊mut@2⌋ ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> &mut@2 (&mut@3 (2: i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -57683,27 +121713,149 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> ⌊mut@2⌋ ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> &mut@2 (&mut@3 (2: i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⌊mut@2⌋ ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> &mut@2 (&mut@3 (2: i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⌊mut@2⌋ ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> &mut@2 (&mut@3 (2: i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +- op: +copy *(px) + +[[32mDebug[39m] end borrow: 2: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⌊mut@2⌋ ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> &mut@2 (&mut@3 (2: i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +[[32mDebug[39m] give_back: +- bid: 2 +- content: &mut@2 (&mut@3 (2: i32)) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⌊mut@2⌋ ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +[[32mDebug[39m] give_back_value: +- bid: 2 +- value: &mut@3 (2: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⌊mut@2⌋ ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} [[32mDebug[39m] @@ -57732,25 +121884,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> &mut@3 (2: i32) ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> 2: i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> 2: i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -57766,29 +121918,93 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> &mut@3 (2: i32) ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> 2: i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> 2: i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> 2: i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +- op: +move var@9 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +- op: +2: i32 + [[32mDebug[39m] **About to evaluate statement**: [ var@7 := ¬ move var@8; @@ -57814,25 +122030,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> &mut@3 (2: i32) ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> s@0 : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> s@0 : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -57848,28 +122064,60 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> &mut@3 (2: i32) ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> s@0 : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> s@0 : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> s@0 : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +- op: +move var@8 [[32mDebug[39m] **About to evaluate statement**: [ @@ -57895,25 +122143,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> &mut@3 (2: i32) ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> s@1 : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> s@1 : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -57929,29 +122177,61 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> &mut@3 (2: i32) ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> s@1 : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> s@1 : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> true ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +- op: +move var@7 + [[32mDebug[39m] **About to evaluate statement**: [ var@12 := copy x; @@ -57975,25 +122255,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> &mut@3 (2: i32) ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -58009,28 +122289,60 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> &mut@3 (2: i32) ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +- op: +copy x [[32mDebug[39m] **About to evaluate statement**: [ @@ -58054,25 +122366,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> &mut@3 (2: i32) ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> 0: i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> 0: i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -58088,29 +122400,93 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> &mut@3 (2: i32) ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> 0: i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> 0: i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> 0: i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +- op: +move var@12 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +- op: +0: i32 + [[32mDebug[39m] **About to evaluate statement**: [ var@10 := ¬ move var@11; @@ -58132,25 +122508,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> &mut@3 (2: i32) ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> s@2 : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> s@2 : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -58166,28 +122542,60 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> &mut@3 (2: i32) ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> s@2 : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> s@2 : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> s@2 : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +- op: +move var@11 [[32mDebug[39m] **About to evaluate statement**: [ @@ -58209,25 +122617,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> &mut@3 (2: i32) ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> s@3 : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> s@3 : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -58243,29 +122651,61 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> &mut@3 (2: i32) ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> s@3 : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> s@3 : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> true ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +- op: +move var@10 + [[32mDebug[39m] **About to evaluate statement**: [ var@15 := copy *(py); @@ -58285,25 +122725,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> &mut@3 (2: i32) ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -58319,27 +122759,149 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> &mut@3 (2: i32) ; - py -> &mut@1 (⌊mut@3⌋) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +- op: +copy *(py) + +[[32mDebug[39m] end borrow: 3: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> &mut@3 (2: i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +[[32mDebug[39m] give_back: +- bid: 3 +- content: &mut@3 (2: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +[[32mDebug[39m] give_back_value: +- bid: 3 +- value: 2: i32 +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> &mut@1 (⌊mut@3⌋) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} [[32mDebug[39m] @@ -58360,25 +122922,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> ⊥ : &'_ mut (i32) ; - py -> &mut@1 (2: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> 2: i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> &mut@1 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> 2: i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -58394,29 +122956,93 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> ⊥ : &'_ mut (i32) ; - py -> &mut@1 (2: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> 2: i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> &mut@1 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> 2: i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> &mut@1 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> 2: i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +- op: +move var@15 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> &mut@1 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +- op: +2: i32 + [[32mDebug[39m] **About to evaluate statement**: [ var@13 := ¬ move var@14; @@ -58434,25 +123060,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> ⊥ : &'_ mut (i32) ; - py -> &mut@1 (2: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> s@4 : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> &mut@1 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> s@4 : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -58468,28 +123094,60 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> ⊥ : &'_ mut (i32) ; - py -> &mut@1 (2: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> s@4 : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> &mut@1 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> s@4 : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> &mut@1 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> s@4 : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +- op: +move var@14 [[32mDebug[39m] **About to evaluate statement**: [ @@ -58507,25 +123165,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> ⊥ : &'_ mut (i32) ; - py -> &mut@1 (2: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> s@5 : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> &mut@1 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> s@5 : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -58541,28 +123199,60 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> ⊥ : &'_ mut (i32) ; - py -> &mut@1 (2: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> s@5 : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> &mut@1 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> s@5 : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> &mut@1 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> true ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +- op: +move var@13 [[32mDebug[39m] **About to evaluate statement**: [ @@ -58579,25 +123269,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> ⊥ : &'_ mut (i32) ; - py -> &mut@1 (2: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> &mut@1 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -58613,27 +123303,149 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⌊mut@1⌋ ; - px -> ⊥ : &'_ mut (i32) ; - py -> &mut@1 (2: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> &mut@1 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> &mut@1 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +- op: +copy y + +[[32mDebug[39m] end borrow: 1: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> &mut@1 (2: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +[[32mDebug[39m] give_back: +- bid: 1 +- content: &mut@1 (2: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +[[32mDebug[39m] give_back_value: +- bid: 1 +- value: 2: i32 +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⌊mut@1⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} [[32mDebug[39m] @@ -58650,25 +123462,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> 2: i32 ; - px -> ⊥ : &'_ mut (i32) ; - py -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> 2: i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> 2: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> 2: i32 ; } @@ -58684,29 +123496,93 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> 2: i32 ; - px -> ⊥ : &'_ mut (i32) ; - py -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> 2: i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> 2: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> 2: i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> 2: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> 2: i32 ; +} + + +- op: +move var@18 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> 2: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +- op: +2: i32 + [[32mDebug[39m] **About to evaluate statement**: [ var@16 := ¬ move var@17; @@ -58720,25 +123596,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> 2: i32 ; - px -> ⊥ : &'_ mut (i32) ; - py -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> s@6 : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> 2: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> s@6 : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -58754,29 +123630,61 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> 2: i32 ; - px -> ⊥ : &'_ mut (i32) ; - py -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> s@6 : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> 2: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> s@6 : bool ; + Some (var@18) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> 2: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> s@6 : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +- op: +move var@17 + [[32mDebug[39m] **About to evaluate statement**: [ assert(¬move var@16); @@ -58789,25 +123697,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> 2: i32 ; - px -> ⊥ : &'_ mut (i32) ; - py -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> s@7 : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> 2: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> s@7 : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -58823,28 +123731,60 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> 2: i32 ; - px -> ⊥ : &'_ mut (i32) ; - py -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> s@7 : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> 2: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> s@7 : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> 2: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> true ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +- op: +move var@16 [[32mDebug[39m] **About to evaluate statement**: [ @@ -58857,25 +123797,25 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> 2: i32 ; - px -> ⊥ : &'_ mut (i32) ; - py -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : i32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> 2: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : i32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -58898,10 +123838,10 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; } @@ -58917,10 +123857,10 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; } @@ -58941,10 +123881,10 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> test1::List::Nil ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> test1::List::Nil ; } @@ -58960,10 +123900,10 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> test1::List::Nil ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> test1::List::Nil ; } @@ -58973,6 +123913,23 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) - type_params: [test1::List<i32>] - args: [move var@3] - dest: var@2 +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> test1::List::Nil ; +} + + +- op: +move var@3 + [[32mDebug[39m] **About to evaluate statement**: [ (l as test1::List::Cons).0 := 0: i32; @@ -58988,10 +123945,10 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> s@0 : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> s@0 : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; } @@ -59007,14 +123964,31 @@ ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> s@0 : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> s@0 : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> s@0 : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; +} + + +- op: +0: i32 + [[32mDebug[39m] expand_bottom_value_from_projection: pe: (Expressions.Field ((Expressions.ProjAdt (1, (Some 0))), 0)) ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) @@ -59032,10 +124006,10 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; - var@2 -> s@0 : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> s@0 : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; } @@ -59051,14 +124025,31 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; - var@2 -> s@0 : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> s@0 : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> s@0 : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; +} + + +- op: +move var@2 + [[32mDebug[39m] **About to evaluate statement**: [ set_discriminant(l, 0); @@ -59072,10 +124063,10 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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> ; + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; } @@ -59091,10 +124082,10 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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> ; + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; } @@ -59111,10 +124102,10 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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> ; + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; } @@ -59130,10 +124121,10 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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> ; + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; } @@ -59150,10 +124141,10 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; } @@ -59181,15 +124172,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> ⊥ : std::boxed::Box<i32> ; - x -> ⊥ : &'_ mut (i32) ; - var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> ⊥ : &'_ (i32) ; - var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> ⊥ : std::boxed::Box<i32> ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; } @@ -59205,15 +124196,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> ⊥ : std::boxed::Box<i32> ; - x -> ⊥ : &'_ mut (i32) ; - var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> ⊥ : &'_ (i32) ; - var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> ⊥ : std::boxed::Box<i32> ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; } @@ -59223,6 +124214,28 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) - type_params: [i32] - args: [0: i32] - dest: b +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (b) -> ⊥ : std::boxed::Box<i32> ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; +} + + +- op: +0: i32 + [[32mDebug[39m] **About to evaluate statement**: [ var@3 := &two-phase b; @@ -59244,15 +124257,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> s@0 : std::boxed::Box<i32> ; - x -> ⊥ : &'_ mut (i32) ; - var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> ⊥ : &'_ (i32) ; - var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> s@0 : std::boxed::Box<i32> ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; } @@ -59268,15 +124281,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> s@0 : std::boxed::Box<i32> ; - x -> ⊥ : &'_ mut (i32) ; - var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> ⊥ : &'_ (i32) ; - var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> s@0 : std::boxed::Box<i32> ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; } @@ -59301,15 +124314,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> @shared_loan({0}, s@0 : std::boxed::Box<i32>) ; - x -> ⊥ : &'_ mut (i32) ; - var@3 -> ⌊inactivated_mut@0⌋ ; - x -> ⊥ : &'_ (i32) ; - var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({0}, s@0 : std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⌊inactivated_mut@0⌋ ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; } @@ -59325,15 +124338,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> @shared_loan({0}, s@0 : std::boxed::Box<i32>) ; - x -> ⊥ : &'_ mut (i32) ; - var@3 -> ⌊inactivated_mut@0⌋ ; - x -> ⊥ : &'_ (i32) ; - var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({0}, s@0 : std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⌊inactivated_mut@0⌋ ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; } @@ -59344,15 +124357,29 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) - args: [move var@3] - dest: x [[32mDebug[39m] activate_inactivated_mut_borrow: resulting value: -{ Values.value = - (Values.Symbolic - { 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)])) } +s@0 : std::boxed::Box<i32> +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (b) -> ⌊mut@0⌋ ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> &mut@0 (s@0 : std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; +} + + +- op: +move var@3 + [[32mDebug[39m] **About to evaluate statement**: [ *(x) := 1: i32; @@ -59372,15 +124399,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> ⌊mut@0⌋ ; - x -> s@1 : &r@0 mut (i32) ; - var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> ⊥ : &'_ (i32) ; - var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> ⌊mut@0⌋ ; + Some (x) -> s@1 : &r@0 mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@0 (proj_borrows (s@0 : std::boxed::Box<i32> <: std::boxed::Box<i32>)), proj_loans (s@1 : &r@0 mut (i32)) @@ -59400,15 +124427,39 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> ⌊mut@0⌋ ; - x -> s@1 : &r@0 mut (i32) ; - var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> ⊥ : &'_ (i32) ; - var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> ⌊mut@0⌋ ; + Some (x) -> s@1 : &r@0 mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@0 (proj_borrows (s@0 : std::boxed::Box<i32> <: std::boxed::Box<i32>)), + proj_loans (s@1 : &r@0 mut (i32)) + } +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (b) -> ⌊mut@0⌋ ; + Some (x) -> s@1 : &r@0 mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@0 (proj_borrows (s@0 : std::boxed::Box<i32> <: std::boxed::Box<i32>)), proj_loans (s@1 : &r@0 mut (i32)) @@ -59416,6 +124467,8 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) } +- op: +1: i32 [[32mDebug[39m] expand_symbolic_value: s@1 : &r@0 mut (i32) @@ -59425,19 +124478,20 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> ⌊mut@0⌋ ; - x -> s@1 : &r@0 mut (i32) ; - var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> ⊥ : &'_ (i32) ; - var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> ⌊mut@0⌋ ; + Some (x) -> s@1 : &r@0 mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@0 (proj_borrows (s@0 : std::boxed::Box<i32> <: std::boxed::Box<i32>)), proj_loans (s@1 : &r@0 mut (i32)) } + None -> 1: i32 ; } @@ -59447,19 +124501,20 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> ⌊mut@0⌋ ; - x -> &mut@1 (s@2 : i32) ; - var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> ⊥ : &'_ (i32) ; - var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> ⌊mut@0⌋ ; + Some (x) -> &mut@1 (s@2 : i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@0 (proj_borrows (s@0 : std::boxed::Box<i32> <: std::boxed::Box<i32>)), ⌊mut@1, proj_loans (s@2 : i32)⌋ } + None -> 1: i32 ; } @@ -59481,15 +124536,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> ⌊mut@0⌋ ; - x -> &mut@1 (1: i32) ; - var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> ⊥ : &'_ (i32) ; - var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> ⌊mut@0⌋ ; + Some (x) -> &mut@1 (1: i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@0 (proj_borrows (s@0 : std::boxed::Box<i32> <: std::boxed::Box<i32>)), ⌊mut@1, proj_loans (s@2 : i32)⌋ @@ -59509,15 +124564,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> ⌊mut@0⌋ ; - x -> &mut@1 (1: i32) ; - var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> ⊥ : &'_ (i32) ; - var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> ⌊mut@0⌋ ; + Some (x) -> &mut@1 (1: i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@0 (proj_borrows (s@0 : std::boxed::Box<i32> <: std::boxed::Box<i32>)), ⌊mut@1, proj_loans (s@2 : i32)⌋ @@ -59526,6 +124581,29 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) +[[32mDebug[39m] end borrow: 0: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (b) -> ⌊mut@0⌋ ; + Some (x) -> &mut@1 (1: i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@0 (proj_borrows (s@0 : std::boxed::Box<i32> <: std::boxed::Box<i32>)), + ⌊mut@1, proj_loans (s@2 : i32)⌋ + } +} + +[[32mDebug[39m] end borrow: 0: found outer borrows/abs:(InterpreterBorrowsCore.OuterAbs 0) [[32mDebug[39m] end_abstraction: 0 - original context: # Ended regions: {} @@ -59533,15 +124611,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> ⌊mut@0⌋ ; - x -> &mut@1 (1: i32) ; - var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> ⊥ : &'_ (i32) ; - var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> ⌊mut@0⌋ ; + Some (x) -> &mut@1 (1: i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@0 (proj_borrows (s@0 : std::boxed::Box<i32> <: std::boxed::Box<i32>)), ⌊mut@1, proj_loans (s@2 : i32)⌋ @@ -59555,21 +124633,93 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> ⌊mut@0⌋ ; - x -> &mut@1 (1: i32) ; - var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> ⊥ : &'_ (i32) ; - var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> ⌊mut@0⌋ ; + Some (x) -> &mut@1 (1: i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@0 (proj_borrows (s@0 : std::boxed::Box<i32> <: std::boxed::Box<i32>)), + ⌊mut@1, proj_loans (s@2 : i32)⌋ + } +} + +[[32mDebug[39m] end borrow: 1: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (b) -> ⌊mut@0⌋ ; + Some (x) -> &mut@1 (1: i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@0 (proj_borrows (s@0 : std::boxed::Box<i32> <: std::boxed::Box<i32>)), + ⌊mut@1, proj_loans (s@2 : i32)⌋ + } +} + +[[32mDebug[39m] give_back: +- bid: 1 +- content: &mut@1 (1: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (b) -> ⌊mut@0⌋ ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@0 (proj_borrows (s@0 : std::boxed::Box<i32> <: std::boxed::Box<i32>)), + ⌊mut@1, proj_loans (s@2 : i32)⌋ + } +} + + +[[32mDebug[39m] give_back_value: +- bid: 1 +- value: 1: i32 +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (b) -> ⌊mut@0⌋ ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@0 (proj_borrows (s@0 : std::boxed::Box<i32> <: std::boxed::Box<i32>)), ⌊mut@1, proj_loans (s@2 : i32)⌋ } } + [[32mDebug[39m] end_abstraction: 0 - context after loans ended: # Ended regions: {} @@ -59577,21 +124727,46 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> ⌊mut@0⌋ ; - x -> ⊥ : &'_ mut (i32) ; - var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> ⊥ : &'_ (i32) ; - var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> ⌊mut@0⌋ ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@0 (proj_borrows (s@0 : std::boxed::Box<i32> <: std::boxed::Box<i32>)), @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) } } } +[[32mDebug[39m] give_back_value: +- bid: 0 +- value: s@3 : std::boxed::Box<i32> +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (b) -> ⌊mut@0⌋ ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + ⊥ : &r@0 mut (std::boxed::Box<i32>), + @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) } + } +} + + [[32mDebug[39m] end_abstraction: 0 - original context: # Ended regions: {} @@ -59599,15 +124774,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> ⌊mut@0⌋ ; - x -> &mut@1 (1: i32) ; - var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> ⊥ : &'_ (i32) ; - var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> ⌊mut@0⌋ ; + Some (x) -> &mut@1 (1: i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@0 (proj_borrows (s@0 : std::boxed::Box<i32> <: std::boxed::Box<i32>)), ⌊mut@1, proj_loans (s@2 : i32)⌋ @@ -59621,15 +124796,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> s@3 : std::boxed::Box<i32> ; - x -> ⊥ : &'_ mut (i32) ; - var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> ⊥ : &'_ (i32) ; - var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> s@3 : std::boxed::Box<i32> ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; } [[32mDebug[39m] @@ -59649,15 +124824,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; - x -> ⊥ : &'_ mut (i32) ; - var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> ⊥ : &'_ (i32) ; - var@5 -> ⌊shared@2⌋ ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⌊shared@2⌋ ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; } @@ -59673,15 +124848,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; - x -> ⊥ : &'_ mut (i32) ; - var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> ⊥ : &'_ (i32) ; - var@5 -> ⌊shared@2⌋ ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⌊shared@2⌋ ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; } @@ -59691,6 +124866,28 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) - type_params: [i32] - args: [move var@5] - dest: x +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⌊shared@2⌋ ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; +} + + +- op: +move var@5 + [[32mDebug[39m] **About to evaluate statement**: [ var@8 := copy *(x); @@ -59707,15 +124904,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; - x -> ⊥ : &'_ mut (i32) ; - var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> s@4 : &r@1 (i32) ; - var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> s@4 : &r@1 (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, proj_loans (s@4 : &r@1 (i32)) @@ -59735,15 +124932,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; - x -> ⊥ : &'_ mut (i32) ; - var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> s@4 : &r@1 (i32) ; - var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> s@4 : &r@1 (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, proj_loans (s@4 : &r@1 (i32)) @@ -59752,6 +124949,32 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> s@4 : &r@1 (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + ⌊shared@2⌋, + proj_loans (s@4 : &r@1 (i32)) + } +} + + +- op: +copy *(x) + [[32mDebug[39m] expand_symbolic_value: s@4 : &r@1 (i32) - original context: @@ -59760,15 +124983,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; - x -> ⊥ : &'_ mut (i32) ; - var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> s@4 : &r@1 (i32) ; - var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> s@4 : &r@1 (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, proj_loans (s@4 : &r@1 (i32)) @@ -59782,15 +125005,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⌊shared@3⌋ ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) @@ -59813,15 +125036,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 -> s@5 : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⌊shared@3⌋ ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> s@5 : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) @@ -59841,15 +125064,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 -> s@5 : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⌊shared@3⌋ ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> s@5 : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) @@ -59858,6 +125081,58 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⌊shared@3⌋ ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> s@5 : i32 ; + abs@1{parents={}}{regions={1}} { + ⌊shared@2⌋, + @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) + } +} + + +- op: +move var@8 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⌊shared@3⌋ ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + ⌊shared@2⌋, + @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) + } +} + + +- op: +1: i32 + [[32mDebug[39m] **About to evaluate statement**: [ var@6 := ¬ move var@7; @@ -59872,15 +125147,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 -> s@6 : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⌊shared@3⌋ ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> s@6 : bool ; + Some (var@8) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) @@ -59900,15 +125175,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 -> s@6 : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⌊shared@3⌋ ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> s@6 : bool ; + Some (var@8) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) @@ -59917,6 +125192,32 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⌊shared@3⌋ ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> s@6 : bool ; + Some (var@8) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + ⌊shared@2⌋, + @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) + } +} + + +- op: +move var@7 + [[32mDebug[39m] **About to evaluate statement**: [ assert(¬move var@6); @@ -59930,15 +125231,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 -> s@7 : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⌊shared@3⌋ ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> s@7 : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) @@ -59958,15 +125259,39 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 -> s@7 : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⌊shared@3⌋ ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> s@7 : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + ⌊shared@2⌋, + @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) + } +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⌊shared@3⌋ ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> true ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) @@ -59974,6 +125299,8 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) } +- op: +move var@6 [[32mDebug[39m] **About to evaluate statement**: [ @@ -59987,15 +125314,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⌊shared@3⌋ ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) @@ -60015,15 +125342,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⌊shared@3⌋ ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) @@ -60033,6 +125360,30 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) [[32mDebug[39m] drop_value: place: b +[[32mDebug[39m] end borrow: 2: +- original context: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (b) -> ⊥ : std::boxed::Box<i32> ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⌊shared@3⌋ ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + ⌊shared@2⌋, + @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) + } + None -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; +} + +[[32mDebug[39m] end borrow: 2: found outer borrows/abs:(InterpreterBorrowsCore.OuterAbs 1) [[32mDebug[39m] end_abstraction: 1 - original context: # Ended regions: {0} @@ -60040,19 +125391,20 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> ⊥ : std::boxed::Box<i32> ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⌊shared@3⌋ ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) } + None -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; } [[32mDebug[39m] end_abstraction: 1 @@ -60062,21 +125414,71 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> ⊥ : std::boxed::Box<i32> ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⌊shared@3⌋ ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + ⌊shared@2⌋, + @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) + } + None -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; +} + +[[32mDebug[39m] end borrow: 3: +- original context: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (b) -> ⊥ : std::boxed::Box<i32> ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⌊shared@3⌋ ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) } + None -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; } +[[32mDebug[39m] give_back: +- bid: 3 +- content: ⌊shared@3⌋ +- context: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (b) -> ⊥ : std::boxed::Box<i32> ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + ⌊shared@2⌋, + @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) + } + None -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; +} + + [[32mDebug[39m] end_abstraction: 1 - context after loans ended: # Ended regions: {0} @@ -60084,19 +125486,20 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; - x -> ⊥ : &'_ mut (i32) ; - var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> ⊥ : &'_ (i32) ; - var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> ⊥ : std::boxed::Box<i32> ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, @ended_shared_loan(s@5 : i32, proj_loans (s@5 : i32)) } + None -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; } [[32mDebug[39m] end_abstraction: 1 @@ -60106,19 +125509,20 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> ⊥ : std::boxed::Box<i32> ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⌊shared@3⌋ ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) } + None -> @shared_loan({2}, s@3 : std::boxed::Box<i32>) ; } @@ -60128,15 +125532,16 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> s@3 : std::boxed::Box<i32> ; - x -> ⊥ : &'_ mut (i32) ; - var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> ⊥ : &'_ (i32) ; - var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> ⊥ : std::boxed::Box<i32> ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + None -> s@3 : std::boxed::Box<i32> ; } [[32mDebug[39m] @@ -60150,15 +125555,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - b -> ⊥ : std::boxed::Box<i32> ; - x -> ⊥ : &'_ mut (i32) ; - var@3 -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; - x -> ⊥ : &'_ (i32) ; - var@5 -> ⊥ : &'_ (std::boxed::Box<i32>) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (b) -> ⊥ : std::boxed::Box<i32> ; + Some (x) -> ⊥ : &'_ mut (i32) ; + Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box<i32>) ; + Some (x) -> ⊥ : &'_ (i32) ; + Some (var@5) -> ⊥ : &'_ (std::boxed::Box<i32>) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; } @@ -60176,8 +125581,8 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : i32 ; - x -> s@0 : i32 ; + Some (var@0) -> ⊥ : i32 ; + Some (x) -> s@0 : i32 ; } @@ -60193,12 +125598,27 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : i32 ; - x -> s@0 : i32 ; + Some (var@0) -> ⊥ : i32 ; + Some (x) -> s@0 : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : i32 ; + Some (x) -> s@0 : i32 ; +} + + +- op: +copy x + [[32mDebug[39m] **About to evaluate statement**: [ return @@ -60210,8 +125630,8 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> s@0 : i32 ; - x -> s@0 : i32 ; + Some (var@0) -> s@0 : i32 ; + Some (x) -> s@0 : i32 ; } @@ -60237,15 +125657,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : i32 ; - px -> ⊥ : &'_ (i32) ; - y -> ⊥ : i32 ; - var@4 -> ⊥ : i32 ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : i32 ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (px) -> ⊥ : &'_ (i32) ; + Some (y) -> ⊥ : i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; } @@ -60261,18 +125681,40 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : i32 ; - px -> ⊥ : &'_ (i32) ; - y -> ⊥ : i32 ; - var@4 -> ⊥ : i32 ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : i32 ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (px) -> ⊥ : &'_ (i32) ; + Some (y) -> ⊥ : i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (px) -> ⊥ : &'_ (i32) ; + Some (y) -> ⊥ : i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; } +- op: +0: i32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -60293,15 +125735,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - px -> ⊥ : &'_ (i32) ; - y -> ⊥ : i32 ; - var@4 -> ⊥ : i32 ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : i32 ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (px) -> ⊥ : &'_ (i32) ; + Some (y) -> ⊥ : i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; } @@ -60317,15 +125759,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - px -> ⊥ : &'_ (i32) ; - y -> ⊥ : i32 ; - var@4 -> ⊥ : i32 ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : i32 ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (px) -> ⊥ : &'_ (i32) ; + Some (y) -> ⊥ : i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; } @@ -60348,15 +125790,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> @shared_loan({0}, 0: i32) ; - px -> ⌊shared@0⌋ ; - y -> ⊥ : i32 ; - var@4 -> ⊥ : i32 ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : i32 ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> ⊥ : i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; } @@ -60372,19 +125814,41 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> @shared_loan({0}, 0: i32) ; - px -> ⌊shared@0⌋ ; - y -> ⊥ : i32 ; - var@4 -> ⊥ : i32 ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : i32 ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> ⊥ : i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> ⊥ : i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; +} + + +- op: +copy x + [[32mDebug[39m] **About to evaluate statement**: [ y := move copy_int(move var@4); @@ -60402,15 +125866,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> @shared_loan({0}, 0: i32) ; - px -> ⌊shared@0⌋ ; - y -> ⊥ : i32 ; - var@4 -> 0: i32 ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : i32 ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> ⊥ : i32 ; + Some (var@4) -> 0: i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; } @@ -60426,19 +125890,41 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> @shared_loan({0}, 0: i32) ; - px -> ⌊shared@0⌋ ; - y -> ⊥ : i32 ; - var@4 -> 0: i32 ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : i32 ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> ⊥ : i32 ; + Some (var@4) -> 0: i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> ⊥ : i32 ; + Some (var@4) -> 0: i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; +} + + +- op: +move var@4 + [[32mDebug[39m] **About to evaluate statement**: [ var@7 := copy *(px); @@ -60455,15 +125941,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> @shared_loan({0}, 0: i32) ; - px -> ⌊shared@0⌋ ; - y -> s@0 : i32 ; - var@4 -> ⊥ : i32 ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : i32 ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> s@0 : i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; } @@ -60479,18 +125965,40 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> @shared_loan({0}, 0: i32) ; - px -> ⌊shared@0⌋ ; - y -> s@0 : i32 ; - var@4 -> ⊥ : i32 ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : i32 ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> s@0 : i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> s@0 : i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; } +- op: +copy *(px) [[32mDebug[39m] **About to evaluate statement**: [ @@ -60507,15 +126015,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> @shared_loan({0}, 0: i32) ; - px -> ⌊shared@0⌋ ; - y -> s@0 : i32 ; - var@4 -> ⊥ : i32 ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : bool ; - var@7 -> 0: i32 ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> s@0 : i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> 0: i32 ; + Some (var@8) -> ⊥ : i32 ; } @@ -60531,19 +126039,41 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> @shared_loan({0}, 0: i32) ; - px -> ⌊shared@0⌋ ; - y -> s@0 : i32 ; - var@4 -> ⊥ : i32 ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : bool ; - var@7 -> 0: i32 ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> s@0 : i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> 0: i32 ; + Some (var@8) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> s@0 : i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> 0: i32 ; + Some (var@8) -> ⊥ : i32 ; +} + + +- op: +copy y + [[32mDebug[39m] **About to evaluate statement**: [ var@6 := move var@7 == move var@8; @@ -60558,15 +126088,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> @shared_loan({0}, 0: i32) ; - px -> ⌊shared@0⌋ ; - y -> s@0 : i32 ; - var@4 -> ⊥ : i32 ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : bool ; - var@7 -> 0: i32 ; - var@8 -> s@0 : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> s@0 : i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> 0: i32 ; + Some (var@8) -> s@0 : i32 ; } @@ -60582,18 +126112,62 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> @shared_loan({0}, 0: i32) ; - px -> ⌊shared@0⌋ ; - y -> s@0 : i32 ; - var@4 -> ⊥ : i32 ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : bool ; - var@7 -> 0: i32 ; - var@8 -> s@0 : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> s@0 : i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> 0: i32 ; + Some (var@8) -> s@0 : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> s@0 : i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> 0: i32 ; + Some (var@8) -> s@0 : i32 ; } +- op: +move var@7 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> s@0 : i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> s@0 : i32 ; +} + + +- op: +move var@8 [[32mDebug[39m] **About to evaluate statement**: [ @@ -60608,15 +126182,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> @shared_loan({0}, 0: i32) ; - px -> ⌊shared@0⌋ ; - y -> s@0 : i32 ; - var@4 -> ⊥ : i32 ; - var@5 -> ⊥ : bool ; - var@6 -> s@1 : bool ; - var@7 -> ⊥ : i32 ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> s@0 : i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> s@1 : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; } @@ -60632,18 +126206,40 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> @shared_loan({0}, 0: i32) ; - px -> ⌊shared@0⌋ ; - y -> s@0 : i32 ; - var@4 -> ⊥ : i32 ; - var@5 -> ⊥ : bool ; - var@6 -> s@1 : bool ; - var@7 -> ⊥ : i32 ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> s@0 : i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> s@1 : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> s@0 : i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> s@1 : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; } +- op: +move var@6 [[32mDebug[39m] **About to evaluate statement**: [ @@ -60657,15 +126253,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> @shared_loan({0}, 0: i32) ; - px -> ⌊shared@0⌋ ; - y -> s@0 : i32 ; - var@4 -> ⊥ : i32 ; - var@5 -> s@2 : bool ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : i32 ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> s@0 : i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> s@2 : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; } @@ -60681,18 +126277,40 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> @shared_loan({0}, 0: i32) ; - px -> ⌊shared@0⌋ ; - y -> s@0 : i32 ; - var@4 -> ⊥ : i32 ; - var@5 -> s@2 : bool ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : i32 ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> s@0 : i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> s@2 : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> s@0 : i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> true ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; } +- op: +move var@5 [[32mDebug[39m] **About to evaluate statement**: [ @@ -60705,15 +126323,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> @shared_loan({0}, 0: i32) ; - px -> ⌊shared@0⌋ ; - y -> s@0 : i32 ; - var@4 -> ⊥ : i32 ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : i32 ; - var@8 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> @shared_loan({0}, 0: i32) ; + Some (px) -> ⌊shared@0⌋ ; + Some (y) -> s@0 : i32 ; + Some (var@4) -> ⊥ : i32 ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : i32 ; + Some (var@8) -> ⊥ : i32 ; } @@ -60745,9 +126363,9 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) abs@0{parents={}}{regions={0}} { proj_loans (s@0 : &r@0 (test1::List<T>)) } - var@0 -> ⊥ : bool ; - l -> s@0 : &r@0 (test1::List<T>) ; - var@2 -> ⊥ : isize ; + Some (var@0) -> ⊥ : bool ; + Some (l) -> s@0 : &r@0 (test1::List<T>) ; + Some (var@2) -> ⊥ : isize ; } @@ -60766,9 +126384,9 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) abs@0{parents={}}{regions={0}} { proj_loans (s@0 : &r@0 (test1::List<T>)) } - var@0 -> ⊥ : bool ; - l -> s@0 : &r@0 (test1::List<T>) ; - var@2 -> ⊥ : isize ; + Some (var@0) -> ⊥ : bool ; + Some (l) -> s@0 : &r@0 (test1::List<T>) ; + Some (var@2) -> ⊥ : isize ; } @@ -60784,9 +126402,9 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) abs@0{parents={}}{regions={0}} { proj_loans (s@0 : &r@0 (test1::List<T>)) } - var@0 -> ⊥ : bool ; - l -> s@0 : &r@0 (test1::List<T>) ; - var@2 -> ⊥ : isize ; + Some (var@0) -> ⊥ : bool ; + Some (l) -> s@0 : &r@0 (test1::List<T>) ; + Some (var@2) -> ⊥ : isize ; } @@ -60799,9 +126417,9 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) abs@0{parents={}}{regions={0}} { @shared_loan({0}, s@1 : test1::List<T>, proj_loans (s@1 : test1::List<T>)) } - var@0 -> ⊥ : bool ; - l -> ⌊shared@0⌋ ; - var@2 -> ⊥ : isize ; + Some (var@0) -> ⊥ : bool ; + Some (l) -> ⌊shared@0⌋ ; + Some (var@2) -> ⊥ : isize ; } @@ -60830,9 +126448,9 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) abs@0{parents={}}{regions={0}} { @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⌋ ; - var@2 -> 0: isize ; + Some (var@0) -> ⊥ : bool ; + Some (l) -> ⌊shared@0⌋ ; + Some (var@2) -> 0: isize ; } @@ -60861,13 +126479,32 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) abs@0{parents={}}{regions={0}} { @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⌋ ; - var@2 -> 0: isize ; + Some (var@0) -> ⊥ : bool ; + Some (l) -> ⌊shared@0⌋ ; + Some (var@2) -> 0: isize ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + abs@0{parents={}}{regions={0}} { + @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>>); }) + } + Some (var@0) -> ⊥ : bool ; + Some (l) -> ⌊shared@0⌋ ; + Some (var@2) -> 0: isize ; +} + + +- op: +move var@2 + [[32mDebug[39m] **About to evaluate statement**: [ var@0 := true @@ -60882,13 +126519,32 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) abs@0{parents={}}{regions={0}} { @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⌋ ; - var@2 -> ⊥ : isize ; + Some (var@0) -> ⊥ : bool ; + Some (l) -> ⌊shared@0⌋ ; + Some (var@2) -> ⊥ : isize ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + abs@0{parents={}}{regions={0}} { + @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>>); }) + } + Some (var@0) -> ⊥ : bool ; + Some (l) -> ⌊shared@0⌋ ; + Some (var@2) -> ⊥ : isize ; +} + + +- op: +true + [[32mDebug[39m] **About to evaluate statement**: [ return @@ -60903,9 +126559,9 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) abs@0{parents={}}{regions={0}} { @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⌋ ; - var@2 -> ⊥ : isize ; + Some (var@0) -> true ; + Some (l) -> ⌊shared@0⌋ ; + Some (var@2) -> ⊥ : isize ; } @@ -60935,9 +126591,9 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) abs@0{parents={}}{regions={0}} { @shared_loan({0}, test1::List::Nil, test1::List::Nil) } - var@0 -> ⊥ : bool ; - l -> ⌊shared@0⌋ ; - var@2 -> 1: isize ; + Some (var@0) -> ⊥ : bool ; + Some (l) -> ⌊shared@0⌋ ; + Some (var@2) -> 1: isize ; } @@ -60966,13 +126622,32 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) abs@0{parents={}}{regions={0}} { @shared_loan({0}, test1::List::Nil, test1::List::Nil) } - var@0 -> ⊥ : bool ; - l -> ⌊shared@0⌋ ; - var@2 -> 1: isize ; + Some (var@0) -> ⊥ : bool ; + Some (l) -> ⌊shared@0⌋ ; + Some (var@2) -> 1: isize ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + abs@0{parents={}}{regions={0}} { + @shared_loan({0}, test1::List::Nil, test1::List::Nil) + } + Some (var@0) -> ⊥ : bool ; + Some (l) -> ⌊shared@0⌋ ; + Some (var@2) -> 1: isize ; +} + + +- op: +move var@2 + [[32mDebug[39m] **About to evaluate statement**: [ var@0 := false @@ -60987,12 +126662,31 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) abs@0{parents={}}{regions={0}} { @shared_loan({0}, test1::List::Nil, test1::List::Nil) } - var@0 -> ⊥ : bool ; - l -> ⌊shared@0⌋ ; - var@2 -> ⊥ : isize ; + Some (var@0) -> ⊥ : bool ; + Some (l) -> ⌊shared@0⌋ ; + Some (var@2) -> ⊥ : isize ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + abs@0{parents={}}{regions={0}} { + @shared_loan({0}, test1::List::Nil, test1::List::Nil) + } + Some (var@0) -> ⊥ : bool ; + Some (l) -> ⌊shared@0⌋ ; + Some (var@2) -> ⊥ : isize ; } +- op: +false [[32mDebug[39m] **About to evaluate statement**: [ @@ -61008,9 +126702,9 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) abs@0{parents={}}{regions={0}} { @shared_loan({0}, test1::List::Nil, test1::List::Nil) } - var@0 -> false ; - l -> ⌊shared@0⌋ ; - var@2 -> ⊥ : isize ; + Some (var@0) -> false ; + Some (l) -> ⌊shared@0⌋ ; + Some (var@2) -> ⊥ : isize ; } @@ -61038,14 +126732,14 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; } @@ -61061,14 +126755,14 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; } @@ -61094,14 +126788,14 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> test1::List::Nil ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> test1::List::Nil ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; } @@ -61117,14 +126811,14 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> test1::List::Nil ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> test1::List::Nil ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; } @@ -61134,6 +126828,27 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) - type_params: [test1::List<i32>] - args: [move var@3] - dest: var@2 +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> test1::List::Nil ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; +} + + +- op: +move var@3 + [[32mDebug[39m] **About to evaluate statement**: [ (l as test1::List::Cons).0 := 0: i32; @@ -61154,14 +126869,14 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> s@0 : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> s@0 : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; } @@ -61177,17 +126892,38 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> s@0 : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> s@0 : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> s@0 : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; } +- op: +0: i32 [[32mDebug[39m] expand_bottom_value_from_projection: pe: (Expressions.Field ((Expressions.ProjAdt (1, (Some 0))), 0)) @@ -61211,14 +126947,14 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : 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 ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> s@0 : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; } @@ -61234,18 +126970,39 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : 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 ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> s@0 : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> s@0 : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; +} + + +- op: +move var@2 + [[32mDebug[39m] **About to evaluate statement**: [ set_discriminant(l, 0); @@ -61264,14 +127021,14 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; } @@ -61287,14 +127044,14 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; } @@ -61316,14 +127073,14 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; } @@ -61339,14 +127096,14 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; } @@ -61367,14 +127124,14 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⌊shared@0⌋ ; + Some (var@0) -> ⊥ : () ; + Some (l) -> @shared_loan({0}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; }) ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⌊shared@0⌋ ; } @@ -61390,18 +127147,39 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⌊shared@0⌋ ; + Some (var@0) -> ⊥ : () ; + Some (l) -> @shared_loan({0}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; }) ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⌊shared@0⌋ ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> @shared_loan({0}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; }) ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⌊shared@0⌋ ; +} + + +- op: +copy var@7 + [[32mDebug[39m] **About to evaluate statement**: [ var@5 := move is_cons<i32>(move var@6); @@ -61417,14 +127195,14 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 -> ⊥ : bool ; - var@6 -> ⌊shared@1⌋ ; - var@7 -> ⌊shared@0⌋ ; + Some (var@0) -> ⊥ : () ; + Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; }) ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⌊shared@1⌋ ; + Some (var@7) -> ⌊shared@0⌋ ; } @@ -61440,17 +127218,38 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 -> ⊥ : bool ; - var@6 -> ⌊shared@1⌋ ; - var@7 -> ⌊shared@0⌋ ; + Some (var@0) -> ⊥ : () ; + Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; }) ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⌊shared@1⌋ ; + Some (var@7) -> ⌊shared@0⌋ ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; }) ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⌊shared@1⌋ ; + Some (var@7) -> ⌊shared@0⌋ ; } +- op: +move var@6 [[32mDebug[39m] **About to evaluate statement**: [ @@ -61466,14 +127265,14 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 -> s@1 : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⌊shared@0⌋ ; + Some (var@0) -> ⊥ : () ; + Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; }) ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> s@1 : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⌊shared@0⌋ ; abs@0{parents={}}{regions={0}} { ⌊shared@1⌋, proj_loans (s@1 : bool) @@ -61493,14 +127292,37 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 -> s@1 : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⌊shared@0⌋ ; + Some (var@0) -> ⊥ : () ; + Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; }) ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> s@1 : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⌊shared@0⌋ ; + abs@0{parents={}}{regions={0}} { + ⌊shared@1⌋, + proj_loans (s@1 : bool) + } +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; }) ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> s@1 : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⌊shared@0⌋ ; abs@0{parents={}}{regions={0}} { ⌊shared@1⌋, proj_loans (s@1 : bool) @@ -61508,6 +127330,8 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) } +- op: +move var@5 [[32mDebug[39m] **About to evaluate statement**: [ @@ -61522,14 +127346,14 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 -> s@2 : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⌊shared@0⌋ ; + Some (var@0) -> ⊥ : () ; + Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; }) ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> s@2 : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⌊shared@0⌋ ; abs@0{parents={}}{regions={0}} { ⌊shared@1⌋, proj_loans (s@1 : bool) @@ -61549,14 +127373,14 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 -> s@2 : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⌊shared@0⌋ ; + Some (var@0) -> ⊥ : () ; + Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; }) ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> s@2 : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⌊shared@0⌋ ; abs@0{parents={}}{regions={0}} { ⌊shared@1⌋, proj_loans (s@1 : bool) @@ -61565,6 +127389,31 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; }) ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> true ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⌊shared@0⌋ ; + abs@0{parents={}}{regions={0}} { + ⌊shared@1⌋, + proj_loans (s@1 : bool) + } +} + + +- op: +move var@4 + [[32mDebug[39m] **About to evaluate statement**: [ drop(l); @@ -61577,14 +127426,14 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⌊shared@0⌋ ; + Some (var@0) -> ⊥ : () ; + Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; }) ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⌊shared@0⌋ ; abs@0{parents={}}{regions={0}} { ⌊shared@1⌋, proj_loans (s@1 : bool) @@ -61604,14 +127453,14 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⌊shared@0⌋ ; + Some (var@0) -> ⊥ : () ; + Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; }) ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⌊shared@0⌋ ; abs@0{parents={}}{regions={0}} { ⌊shared@1⌋, proj_loans (s@1 : bool) @@ -61621,6 +127470,76 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) [[32mDebug[39m] drop_value: place: l +[[32mDebug[39m] end borrow: 0: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⌊shared@0⌋ ; + abs@0{parents={}}{regions={0}} { + ⌊shared@1⌋, + proj_loans (s@1 : bool) + } + None -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; }) ; +} + +[[32mDebug[39m] give_back: +- bid: 0 +- content: ⌊shared@0⌋ +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; + abs@0{parents={}}{regions={0}} { + ⌊shared@1⌋, + proj_loans (s@1 : bool) + } + None -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; }) ; +} + + +[[32mDebug[39m] end borrow: 1: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; + abs@0{parents={}}{regions={0}} { + ⌊shared@1⌋, + proj_loans (s@1 : bool) + } + None -> @shared_loan({1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; }) ; +} + +[[32mDebug[39m] end borrow: 1: found outer borrows/abs:(InterpreterBorrowsCore.OuterAbs 0) [[32mDebug[39m] end_abstraction: 0 - original context: # Ended regions: {} @@ -61628,18 +127547,19 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> @shared_loan({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 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; abs@0{parents={}}{regions={0}} { ⌊shared@1⌋, proj_loans (s@1 : bool) } + None -> @shared_loan({1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; }) ; } [[32mDebug[39m] end_abstraction: 0 @@ -61649,18 +127569,19 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> @shared_loan({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 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; abs@0{parents={}}{regions={0}} { ⌊shared@1⌋, proj_loans (s@1 : bool) } + None -> @shared_loan({1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; }) ; } [[32mDebug[39m] end_abstraction: 0 @@ -61670,18 +127591,19 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> @shared_loan({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 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; abs@0{parents={}}{regions={0}} { ⌊shared@1⌋, proj_loans (s@1 : bool) } + None -> @shared_loan({1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; }) ; } [[32mDebug[39m] end_abstraction: 0 @@ -61691,18 +127613,19 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> @shared_loan({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 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; abs@0{parents={}}{regions={0}} { ⌊shared@1⌋, proj_loans (s@1 : bool) } + None -> @shared_loan({1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; }) ; } @@ -61712,14 +127635,15 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; + None -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; } ; } [[32mDebug[39m] @@ -61733,14 +127657,14 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - var@4 -> ⊥ : bool ; - var@5 -> ⊥ : bool ; - var@6 -> ⊥ : &'_ (test1::List<i32>) ; - var@7 -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (var@4) -> ⊥ : bool ; + Some (var@5) -> ⊥ : bool ; + Some (var@6) -> ⊥ : &'_ (test1::List<i32>) ; + Some (var@7) -> ⊥ : &'_ (test1::List<i32>) ; } @@ -61778,17 +127702,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : (T, test1::List<T>) ; - l -> s@0 : test1::List<T> ; - var@2 -> ⊥ : isize ; - hd -> ⊥ : T ; - tl -> ⊥ : std::boxed::Box<test1::List<T>> ; - var@5 -> ⊥ : T ; - var@6 -> ⊥ : test1::List<T> ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (T, test1::List<T>) ; + Some (l) -> s@0 : test1::List<T> ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : T ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<T>> ; + Some (var@5) -> ⊥ : T ; + Some (var@6) -> ⊥ : test1::List<T> ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } @@ -61804,21 +127728,45 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : (T, test1::List<T>) ; - l -> s@0 : test1::List<T> ; - var@2 -> ⊥ : isize ; - hd -> ⊥ : T ; - tl -> ⊥ : std::boxed::Box<test1::List<T>> ; - var@5 -> ⊥ : T ; - var@6 -> ⊥ : test1::List<T> ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (T, test1::List<T>) ; + Some (l) -> s@0 : test1::List<T> ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : T ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<T>> ; + Some (var@5) -> ⊥ : T ; + Some (var@6) -> ⊥ : test1::List<T> ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : (T, test1::List<T>) ; + Some (l) -> s@0 : test1::List<T> ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : T ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<T>> ; + Some (var@5) -> ⊥ : T ; + Some (var@6) -> ⊥ : test1::List<T> ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; +} + + +- op: +false + [[32mDebug[39m] **About to evaluate statement**: [ var@7 := false; @@ -61850,17 +127798,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : (T, test1::List<T>) ; - l -> s@0 : test1::List<T> ; - var@2 -> ⊥ : isize ; - hd -> ⊥ : T ; - tl -> ⊥ : std::boxed::Box<test1::List<T>> ; - var@5 -> ⊥ : T ; - var@6 -> ⊥ : test1::List<T> ; - var@7 -> ⊥ : bool ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (T, test1::List<T>) ; + Some (l) -> s@0 : test1::List<T> ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : T ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<T>> ; + Some (var@5) -> ⊥ : T ; + Some (var@6) -> ⊥ : test1::List<T> ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } @@ -61876,20 +127824,44 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : (T, test1::List<T>) ; - l -> s@0 : test1::List<T> ; - var@2 -> ⊥ : isize ; - hd -> ⊥ : T ; - tl -> ⊥ : std::boxed::Box<test1::List<T>> ; - var@5 -> ⊥ : T ; - var@6 -> ⊥ : test1::List<T> ; - var@7 -> ⊥ : bool ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (T, test1::List<T>) ; + Some (l) -> s@0 : test1::List<T> ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : T ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<T>> ; + Some (var@5) -> ⊥ : T ; + Some (var@6) -> ⊥ : test1::List<T> ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : (T, test1::List<T>) ; + Some (l) -> s@0 : test1::List<T> ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : T ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<T>> ; + Some (var@5) -> ⊥ : T ; + Some (var@6) -> ⊥ : test1::List<T> ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } +- op: +false [[32mDebug[39m] **About to evaluate statement**: [ @@ -61921,17 +127893,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : (T, test1::List<T>) ; - l -> s@0 : test1::List<T> ; - var@2 -> ⊥ : isize ; - hd -> ⊥ : T ; - tl -> ⊥ : std::boxed::Box<test1::List<T>> ; - var@5 -> ⊥ : T ; - var@6 -> ⊥ : test1::List<T> ; - var@7 -> false ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (T, test1::List<T>) ; + Some (l) -> s@0 : test1::List<T> ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : T ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<T>> ; + Some (var@5) -> ⊥ : T ; + Some (var@6) -> ⊥ : test1::List<T> ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } @@ -61947,21 +127919,45 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : (T, test1::List<T>) ; - l -> s@0 : test1::List<T> ; - var@2 -> ⊥ : isize ; - hd -> ⊥ : T ; - tl -> ⊥ : std::boxed::Box<test1::List<T>> ; - var@5 -> ⊥ : T ; - var@6 -> ⊥ : test1::List<T> ; - var@7 -> false ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (T, test1::List<T>) ; + Some (l) -> s@0 : test1::List<T> ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : T ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<T>> ; + Some (var@5) -> ⊥ : T ; + Some (var@6) -> ⊥ : test1::List<T> ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : (T, test1::List<T>) ; + Some (l) -> s@0 : test1::List<T> ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : T ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<T>> ; + Some (var@5) -> ⊥ : T ; + Some (var@6) -> ⊥ : test1::List<T> ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; +} + + +- op: +true + [[32mDebug[39m] **About to evaluate statement**: [ var@8 := true; @@ -61991,17 +127987,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : (T, test1::List<T>) ; - l -> s@0 : test1::List<T> ; - var@2 -> ⊥ : isize ; - hd -> ⊥ : T ; - tl -> ⊥ : std::boxed::Box<test1::List<T>> ; - var@5 -> ⊥ : T ; - var@6 -> ⊥ : test1::List<T> ; - var@7 -> true ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (T, test1::List<T>) ; + Some (l) -> s@0 : test1::List<T> ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : T ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<T>> ; + Some (var@5) -> ⊥ : T ; + Some (var@6) -> ⊥ : test1::List<T> ; + Some (var@7) -> true ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } @@ -62017,21 +128013,45 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : (T, test1::List<T>) ; - l -> s@0 : test1::List<T> ; - var@2 -> ⊥ : isize ; - hd -> ⊥ : T ; - tl -> ⊥ : std::boxed::Box<test1::List<T>> ; - var@5 -> ⊥ : T ; - var@6 -> ⊥ : test1::List<T> ; - var@7 -> true ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (T, test1::List<T>) ; + Some (l) -> s@0 : test1::List<T> ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : T ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<T>> ; + Some (var@5) -> ⊥ : T ; + Some (var@6) -> ⊥ : test1::List<T> ; + Some (var@7) -> true ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : (T, test1::List<T>) ; + Some (l) -> s@0 : test1::List<T> ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : T ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<T>> ; + Some (var@5) -> ⊥ : T ; + Some (var@6) -> ⊥ : test1::List<T> ; + Some (var@7) -> true ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; +} + + +- op: +true + [[32mDebug[39m] **About to evaluate statement**: [ var@2 := discriminant(l); @@ -62060,17 +128080,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : (T, test1::List<T>) ; - l -> s@0 : test1::List<T> ; - var@2 -> ⊥ : isize ; - hd -> ⊥ : T ; - tl -> ⊥ : std::boxed::Box<test1::List<T>> ; - var@5 -> ⊥ : T ; - var@6 -> ⊥ : test1::List<T> ; - var@7 -> true ; - var@8 -> true ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (T, test1::List<T>) ; + Some (l) -> s@0 : test1::List<T> ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : T ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<T>> ; + Some (var@5) -> ⊥ : T ; + Some (var@6) -> ⊥ : test1::List<T> ; + Some (var@7) -> true ; + Some (var@8) -> true ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } @@ -62086,17 +128106,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : (T, test1::List<T>) ; - l -> s@0 : test1::List<T> ; - var@2 -> ⊥ : isize ; - hd -> ⊥ : T ; - tl -> ⊥ : std::boxed::Box<test1::List<T>> ; - var@5 -> ⊥ : T ; - var@6 -> ⊥ : test1::List<T> ; - var@7 -> true ; - var@8 -> true ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (T, test1::List<T>) ; + Some (l) -> s@0 : test1::List<T> ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : T ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<T>> ; + Some (var@5) -> ⊥ : T ; + Some (var@6) -> ⊥ : test1::List<T> ; + Some (var@7) -> true ; + Some (var@8) -> true ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } @@ -62128,21 +128148,45 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : (T, 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>> ; - var@5 -> ⊥ : T ; - var@6 -> ⊥ : test1::List<T> ; - var@7 -> true ; - var@8 -> true ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (T, test1::List<T>) ; + Some (l) -> test1::List::Cons { 0 = s@1 : T; 1 = s@2 : std::boxed::Box<test1::List<T>>; } ; + Some (var@2) -> 0: isize ; + Some (hd) -> ⊥ : T ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<T>> ; + Some (var@5) -> ⊥ : T ; + Some (var@6) -> ⊥ : test1::List<T> ; + Some (var@7) -> true ; + Some (var@8) -> true ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : (T, test1::List<T>) ; + Some (l) -> test1::List::Cons { 0 = s@1 : T; 1 = s@2 : std::boxed::Box<test1::List<T>>; } ; + Some (var@2) -> 0: isize ; + Some (hd) -> ⊥ : T ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<T>> ; + Some (var@5) -> ⊥ : T ; + Some (var@6) -> ⊥ : test1::List<T> ; + Some (var@7) -> true ; + Some (var@8) -> true ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; +} + + +- op: +move var@2 + [[32mDebug[39m] **About to evaluate statement**: [ var@8 := false; @@ -62163,17 +128207,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : (T, 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>> ; - var@5 -> ⊥ : T ; - var@6 -> ⊥ : test1::List<T> ; - var@7 -> true ; - var@8 -> true ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (T, test1::List<T>) ; + Some (l) -> test1::List::Cons { 0 = s@1 : T; 1 = s@2 : std::boxed::Box<test1::List<T>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : T ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<T>> ; + Some (var@5) -> ⊥ : T ; + Some (var@6) -> ⊥ : test1::List<T> ; + Some (var@7) -> true ; + Some (var@8) -> true ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } @@ -62189,21 +128233,45 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : (T, 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>> ; - var@5 -> ⊥ : T ; - var@6 -> ⊥ : test1::List<T> ; - var@7 -> true ; - var@8 -> true ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (T, test1::List<T>) ; + Some (l) -> test1::List::Cons { 0 = s@1 : T; 1 = s@2 : std::boxed::Box<test1::List<T>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : T ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<T>> ; + Some (var@5) -> ⊥ : T ; + Some (var@6) -> ⊥ : test1::List<T> ; + Some (var@7) -> true ; + Some (var@8) -> true ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : (T, test1::List<T>) ; + Some (l) -> test1::List::Cons { 0 = s@1 : T; 1 = s@2 : std::boxed::Box<test1::List<T>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : T ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<T>> ; + Some (var@5) -> ⊥ : T ; + Some (var@6) -> ⊥ : test1::List<T> ; + Some (var@7) -> true ; + Some (var@8) -> true ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; +} + + +- op: +false + [[32mDebug[39m] **About to evaluate statement**: [ hd := move (l as test1::List::Cons).0; @@ -62223,17 +128291,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : (T, 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>> ; - var@5 -> ⊥ : T ; - var@6 -> ⊥ : test1::List<T> ; - var@7 -> true ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (T, test1::List<T>) ; + Some (l) -> test1::List::Cons { 0 = s@1 : T; 1 = s@2 : std::boxed::Box<test1::List<T>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : T ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<T>> ; + Some (var@5) -> ⊥ : T ; + Some (var@6) -> ⊥ : test1::List<T> ; + Some (var@7) -> true ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } @@ -62249,21 +128317,45 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : (T, 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>> ; - var@5 -> ⊥ : T ; - var@6 -> ⊥ : test1::List<T> ; - var@7 -> true ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (T, test1::List<T>) ; + Some (l) -> test1::List::Cons { 0 = s@1 : T; 1 = s@2 : std::boxed::Box<test1::List<T>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : T ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<T>> ; + Some (var@5) -> ⊥ : T ; + Some (var@6) -> ⊥ : test1::List<T> ; + Some (var@7) -> true ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : (T, test1::List<T>) ; + Some (l) -> test1::List::Cons { 0 = s@1 : T; 1 = s@2 : std::boxed::Box<test1::List<T>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : T ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<T>> ; + Some (var@5) -> ⊥ : T ; + Some (var@6) -> ⊥ : test1::List<T> ; + Some (var@7) -> true ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; +} + + +- op: +move (l as test1::List::Cons).0 + [[32mDebug[39m] **About to evaluate statement**: [ var@7 := false; @@ -62282,17 +128374,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : (T, test1::List<T>) ; - l -> test1::List::Cons { 0 = ⊥ : T; 1 = s@2 : std::boxed::Box<test1::List<T>>; } ; - var@2 -> ⊥ : isize ; - hd -> s@1 : T ; - tl -> ⊥ : std::boxed::Box<test1::List<T>> ; - var@5 -> ⊥ : T ; - var@6 -> ⊥ : test1::List<T> ; - var@7 -> true ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (T, test1::List<T>) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = s@2 : std::boxed::Box<test1::List<T>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> s@1 : T ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<T>> ; + Some (var@5) -> ⊥ : T ; + Some (var@6) -> ⊥ : test1::List<T> ; + Some (var@7) -> true ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } @@ -62308,20 +128400,44 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : (T, test1::List<T>) ; - l -> test1::List::Cons { 0 = ⊥ : T; 1 = s@2 : std::boxed::Box<test1::List<T>>; } ; - var@2 -> ⊥ : isize ; - hd -> s@1 : T ; - tl -> ⊥ : std::boxed::Box<test1::List<T>> ; - var@5 -> ⊥ : T ; - var@6 -> ⊥ : test1::List<T> ; - var@7 -> true ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (T, test1::List<T>) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = s@2 : std::boxed::Box<test1::List<T>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> s@1 : T ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<T>> ; + Some (var@5) -> ⊥ : T ; + Some (var@6) -> ⊥ : test1::List<T> ; + Some (var@7) -> true ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : (T, test1::List<T>) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = s@2 : std::boxed::Box<test1::List<T>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> s@1 : T ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<T>> ; + Some (var@5) -> ⊥ : T ; + Some (var@6) -> ⊥ : test1::List<T> ; + Some (var@7) -> true ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } +- op: +false [[32mDebug[39m] **About to evaluate statement**: [ @@ -62340,17 +128456,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : (T, test1::List<T>) ; - l -> test1::List::Cons { 0 = ⊥ : T; 1 = s@2 : std::boxed::Box<test1::List<T>>; } ; - var@2 -> ⊥ : isize ; - hd -> s@1 : T ; - tl -> ⊥ : std::boxed::Box<test1::List<T>> ; - var@5 -> ⊥ : T ; - var@6 -> ⊥ : test1::List<T> ; - var@7 -> false ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (T, test1::List<T>) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = s@2 : std::boxed::Box<test1::List<T>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> s@1 : T ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<T>> ; + Some (var@5) -> ⊥ : T ; + Some (var@6) -> ⊥ : test1::List<T> ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } @@ -62366,21 +128482,45 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : (T, test1::List<T>) ; - l -> test1::List::Cons { 0 = ⊥ : T; 1 = s@2 : std::boxed::Box<test1::List<T>>; } ; - var@2 -> ⊥ : isize ; - hd -> s@1 : T ; - tl -> ⊥ : std::boxed::Box<test1::List<T>> ; - var@5 -> ⊥ : T ; - var@6 -> ⊥ : test1::List<T> ; - var@7 -> false ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (T, test1::List<T>) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = s@2 : std::boxed::Box<test1::List<T>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> s@1 : T ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<T>> ; + Some (var@5) -> ⊥ : T ; + Some (var@6) -> ⊥ : test1::List<T> ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : (T, test1::List<T>) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = s@2 : std::boxed::Box<test1::List<T>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> s@1 : T ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<T>> ; + Some (var@5) -> ⊥ : T ; + Some (var@6) -> ⊥ : test1::List<T> ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; +} + + +- op: +move (l as test1::List::Cons).1 + [[32mDebug[39m] **About to evaluate statement**: [ var@5 := move hd; @@ -62397,17 +128537,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : (T, test1::List<T>) ; - l -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box<test1::List<T>>; } ; - var@2 -> ⊥ : isize ; - hd -> s@1 : T ; - tl -> s@2 : std::boxed::Box<test1::List<T>> ; - var@5 -> ⊥ : T ; - var@6 -> ⊥ : test1::List<T> ; - var@7 -> false ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (T, test1::List<T>) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box<test1::List<T>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> s@1 : T ; + Some (tl) -> s@2 : std::boxed::Box<test1::List<T>> ; + Some (var@5) -> ⊥ : T ; + Some (var@6) -> ⊥ : test1::List<T> ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } @@ -62423,21 +128563,45 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : (T, test1::List<T>) ; - l -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box<test1::List<T>>; } ; - var@2 -> ⊥ : isize ; - hd -> s@1 : T ; - tl -> s@2 : std::boxed::Box<test1::List<T>> ; - var@5 -> ⊥ : T ; - var@6 -> ⊥ : test1::List<T> ; - var@7 -> false ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (T, test1::List<T>) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box<test1::List<T>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> s@1 : T ; + Some (tl) -> s@2 : std::boxed::Box<test1::List<T>> ; + Some (var@5) -> ⊥ : T ; + Some (var@6) -> ⊥ : test1::List<T> ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : (T, test1::List<T>) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box<test1::List<T>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> s@1 : T ; + Some (tl) -> s@2 : std::boxed::Box<test1::List<T>> ; + Some (var@5) -> ⊥ : T ; + Some (var@6) -> ⊥ : test1::List<T> ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; +} + + +- op: +move hd + [[32mDebug[39m] **About to evaluate statement**: [ var@6 := move deref_box(tl); @@ -62453,17 +128617,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : (T, test1::List<T>) ; - l -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box<test1::List<T>>; } ; - var@2 -> ⊥ : isize ; - hd -> ⊥ : 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 ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (T, test1::List<T>) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box<test1::List<T>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : T ; + Some (tl) -> s@2 : std::boxed::Box<test1::List<T>> ; + Some (var@5) -> s@1 : T ; + Some (var@6) -> ⊥ : test1::List<T> ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } @@ -62479,21 +128643,45 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : (T, test1::List<T>) ; - l -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box<test1::List<T>>; } ; - var@2 -> ⊥ : isize ; - hd -> ⊥ : 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 ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (T, test1::List<T>) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box<test1::List<T>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : T ; + Some (tl) -> s@2 : std::boxed::Box<test1::List<T>> ; + Some (var@5) -> s@1 : T ; + Some (var@6) -> ⊥ : test1::List<T> ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : (T, test1::List<T>) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box<test1::List<T>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : T ; + Some (tl) -> s@2 : std::boxed::Box<test1::List<T>> ; + Some (var@5) -> s@1 : T ; + Some (var@6) -> ⊥ : test1::List<T> ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; +} + + +- op: +move deref_box(tl) + [[32mDebug[39m] expand_symbolic_value: s@2 : std::boxed::Box<test1::List<T>> - original context: @@ -62502,17 +128690,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : (T, test1::List<T>) ; - l -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box<test1::List<T>>; } ; - var@2 -> ⊥ : isize ; - hd -> ⊥ : 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 ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (T, test1::List<T>) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box<test1::List<T>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : T ; + Some (tl) -> s@2 : std::boxed::Box<test1::List<T>> ; + Some (var@5) -> s@1 : T ; + Some (var@6) -> ⊥ : test1::List<T> ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } @@ -62522,17 +128710,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : (T, test1::List<T>) ; - l -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box<test1::List<T>>; } ; - var@2 -> ⊥ : isize ; - hd -> ⊥ : T ; - tl -> @Box(s@3 : test1::List<T>) ; - var@5 -> s@1 : T ; - var@6 -> ⊥ : test1::List<T> ; - var@7 -> false ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (T, test1::List<T>) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box<test1::List<T>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : T ; + Some (tl) -> @Box(s@3 : test1::List<T>) ; + Some (var@5) -> s@1 : T ; + Some (var@6) -> ⊥ : test1::List<T> ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } @@ -62550,17 +128738,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : (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 -> s@1 : T ; - var@6 -> s@3 : test1::List<T> ; - var@7 -> false ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (T, test1::List<T>) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box<test1::List<T>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : T ; + Some (tl) -> @Box(⊥ : test1::List<T>) ; + Some (var@5) -> s@1 : T ; + Some (var@6) -> s@3 : test1::List<T> ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } @@ -62576,21 +128764,45 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : (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 -> s@1 : T ; - var@6 -> s@3 : test1::List<T> ; - var@7 -> false ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (T, test1::List<T>) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box<test1::List<T>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : T ; + Some (tl) -> @Box(⊥ : test1::List<T>) ; + Some (var@5) -> s@1 : T ; + Some (var@6) -> s@3 : test1::List<T> ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : (T, test1::List<T>) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box<test1::List<T>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : T ; + Some (tl) -> @Box(⊥ : test1::List<T>) ; + Some (var@5) -> s@1 : T ; + Some (var@6) -> s@3 : test1::List<T> ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; +} + + +- op: +move var@5 + [[32mDebug[39m] expand_bottom_value_from_projection: pe: (Expressions.Field ((Expressions.ProjTuple 2), 0)) ty: (Types.Adt (Types.Tuple, [], @@ -62610,17 +128822,17 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - 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 -> s@3 : test1::List<T> ; - var@7 -> false ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> (s@1 : T, ⊥ : test1::List<T>) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box<test1::List<T>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : T ; + Some (tl) -> @Box(⊥ : test1::List<T>) ; + Some (var@5) -> ⊥ : T ; + Some (var@6) -> s@3 : test1::List<T> ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } @@ -62636,20 +128848,44 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - 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 -> s@3 : test1::List<T> ; - var@7 -> false ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> (s@1 : T, ⊥ : test1::List<T>) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box<test1::List<T>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : T ; + Some (tl) -> @Box(⊥ : test1::List<T>) ; + Some (var@5) -> ⊥ : T ; + Some (var@6) -> s@3 : test1::List<T> ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> (s@1 : T, ⊥ : test1::List<T>) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box<test1::List<T>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : T ; + Some (tl) -> @Box(⊥ : test1::List<T>) ; + Some (var@5) -> ⊥ : T ; + Some (var@6) -> s@3 : test1::List<T> ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } +- op: +move var@6 [[32mDebug[39m] **About to evaluate statement**: [ @@ -62663,17 +128899,17 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - 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 ; - tl -> @Box(⊥ : test1::List<T>) ; - var@5 -> ⊥ : T ; - var@6 -> ⊥ : test1::List<T> ; - var@7 -> false ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> (s@1 : T, s@3 : test1::List<T>) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box<test1::List<T>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : T ; + Some (tl) -> @Box(⊥ : test1::List<T>) ; + Some (var@5) -> ⊥ : T ; + Some (var@6) -> ⊥ : test1::List<T> ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } @@ -62689,17 +128925,17 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - 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 ; - tl -> @Box(⊥ : test1::List<T>) ; - var@5 -> ⊥ : T ; - var@6 -> ⊥ : test1::List<T> ; - var@7 -> false ; - var@8 -> false ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> (s@1 : T, s@3 : test1::List<T>) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box<test1::List<T>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : T ; + Some (tl) -> @Box(⊥ : test1::List<T>) ; + Some (var@5) -> ⊥ : T ; + Some (var@6) -> ⊥ : test1::List<T> ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } @@ -62721,17 +128957,17 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - 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 ; - tl -> ⊥ : std::boxed::Box<test1::List<T>> ; - var@5 -> ⊥ : T ; - var@6 -> ⊥ : test1::List<T> ; - var@7 -> false ; - var@8 -> false ; - var@9 -> () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> (s@1 : T, s@3 : test1::List<T>) ; + Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box<test1::List<T>>; } ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : T ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<T>> ; + Some (var@5) -> ⊥ : T ; + Some (var@6) -> ⊥ : test1::List<T> ; + Some (var@7) -> false ; + Some (var@8) -> false ; + Some (var@9) -> () ; + Some (var@10) -> ⊥ : isize ; } @@ -62763,21 +128999,45 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : (T, test1::List<T>) ; - l -> test1::List::Nil ; - var@2 -> 1: isize ; - hd -> ⊥ : T ; - tl -> ⊥ : std::boxed::Box<test1::List<T>> ; - var@5 -> ⊥ : T ; - var@6 -> ⊥ : test1::List<T> ; - var@7 -> true ; - var@8 -> true ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (T, test1::List<T>) ; + Some (l) -> test1::List::Nil ; + Some (var@2) -> 1: isize ; + Some (hd) -> ⊥ : T ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<T>> ; + Some (var@5) -> ⊥ : T ; + Some (var@6) -> ⊥ : test1::List<T> ; + Some (var@7) -> true ; + Some (var@8) -> true ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : (T, test1::List<T>) ; + Some (l) -> test1::List::Nil ; + Some (var@2) -> 1: isize ; + Some (hd) -> ⊥ : T ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<T>> ; + Some (var@5) -> ⊥ : T ; + Some (var@6) -> ⊥ : test1::List<T> ; + Some (var@7) -> true ; + Some (var@8) -> true ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; +} + + +- op: +move var@2 + [[32mDebug[39m] **About to evaluate statement**: [ panic @@ -62789,17 +129049,17 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : (T, test1::List<T>) ; - l -> test1::List::Nil ; - var@2 -> ⊥ : isize ; - hd -> ⊥ : T ; - tl -> ⊥ : std::boxed::Box<test1::List<T>> ; - var@5 -> ⊥ : T ; - var@6 -> ⊥ : test1::List<T> ; - var@7 -> true ; - var@8 -> true ; - var@9 -> ⊥ : () ; - var@10 -> ⊥ : isize ; + Some (var@0) -> ⊥ : (T, test1::List<T>) ; + Some (l) -> test1::List::Nil ; + Some (var@2) -> ⊥ : isize ; + Some (hd) -> ⊥ : T ; + Some (tl) -> ⊥ : std::boxed::Box<test1::List<T>> ; + Some (var@5) -> ⊥ : T ; + Some (var@6) -> ⊥ : test1::List<T> ; + Some (var@7) -> true ; + Some (var@8) -> true ; + Some (var@9) -> ⊥ : () ; + Some (var@10) -> ⊥ : isize ; } @@ -62830,17 +129090,17 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; } @@ -62856,17 +129116,17 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; } @@ -62895,17 +129155,17 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> test1::List::Nil ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> test1::List::Nil ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; } @@ -62921,17 +129181,17 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> test1::List::Nil ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> test1::List::Nil ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; } @@ -62941,6 +129201,30 @@ ty: (Types.Adt (Types.Tuple, [], - type_params: [test1::List<i32>] - args: [move var@3] - dest: var@2 +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> test1::List::Nil ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; +} + + +- op: +move var@3 + [[32mDebug[39m] **About to evaluate statement**: [ (l as test1::List::Cons).0 := 0: i32; @@ -62964,17 +129248,17 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> s@0 : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> s@0 : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; } @@ -62990,21 +129274,45 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> s@0 : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> s@0 : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> s@0 : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; +} + + +- op: +0: i32 + [[32mDebug[39m] expand_bottom_value_from_projection: pe: (Expressions.Field ((Expressions.ProjAdt (1, (Some 0))), 0)) ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) @@ -63030,17 +129338,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : 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> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> s@0 : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; } @@ -63056,21 +129364,45 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : 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> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> s@0 : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> s@0 : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; +} + + +- op: +move var@2 + [[32mDebug[39m] **About to evaluate statement**: [ set_discriminant(l, 0); @@ -63092,17 +129424,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; } @@ -63118,17 +129450,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; } @@ -63153,17 +129485,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; } @@ -63179,20 +129511,44 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; } ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; } +- op: +move l [[32mDebug[39m] **About to evaluate statement**: [ @@ -63213,17 +129569,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, 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 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; } ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; } @@ -63239,21 +129595,45 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> ⊥ : (i32, 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 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; } ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> ⊥ : (i32, test1::List<i32>) ; + Some (var@7) -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box<test1::List<i32>>; } ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; +} + + +- op: +move var@7 + [[32mDebug[39m] **About to evaluate statement**: [ hd := copy (var@6).0; @@ -63272,17 +129652,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> s@1 : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> s@1 : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; } @@ -63298,20 +129678,44 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> s@1 : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> s@1 : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> s@1 : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; } +- op: +copy (var@6).0 [[32mDebug[39m] expand_symbolic_value: s@1 : (i32, test1::List<i32>) @@ -63321,17 +129725,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> s@1 : (i32, test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> s@1 : (i32, test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; } @@ -63341,17 +129745,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> ⊥ : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> (s@2 : i32, s@3 : test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> ⊥ : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> (s@2 : i32, s@3 : test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; } @@ -63372,17 +129776,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> s@2 : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> (s@2 : i32, s@3 : test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> s@2 : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> (s@2 : i32, s@3 : test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; } @@ -63398,21 +129802,45 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> s@2 : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> (s@2 : i32, s@3 : test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> s@2 : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> (s@2 : i32, s@3 : test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> s@2 : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> (s@2 : i32, s@3 : test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; +} + + +- op: +move (var@6).1 + [[32mDebug[39m] **About to evaluate statement**: [ var@10 := copy hd; @@ -63429,17 +129857,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : 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 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> s@2 : i32 ; + Some (tl) -> s@3 : test1::List<i32> ; + Some (var@6) -> (s@2 : i32, ⊥ : test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; } @@ -63455,20 +129883,44 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : 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 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> s@2 : i32 ; + Some (tl) -> s@3 : test1::List<i32> ; + Some (var@6) -> (s@2 : i32, ⊥ : test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> s@2 : i32 ; + Some (tl) -> s@3 : test1::List<i32> ; + Some (var@6) -> (s@2 : i32, ⊥ : test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; } +- op: +copy hd [[32mDebug[39m] **About to evaluate statement**: [ @@ -63485,17 +129937,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : 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 -> s@2 : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> s@2 : i32 ; + Some (tl) -> s@3 : test1::List<i32> ; + Some (var@6) -> (s@2 : i32, ⊥ : test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> s@2 : i32 ; } @@ -63511,20 +129963,68 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : 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 -> s@2 : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> s@2 : i32 ; + Some (tl) -> s@3 : test1::List<i32> ; + Some (var@6) -> (s@2 : i32, ⊥ : test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> s@2 : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> s@2 : i32 ; + Some (tl) -> s@3 : test1::List<i32> ; + Some (var@6) -> (s@2 : i32, ⊥ : test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> s@2 : i32 ; } +- op: +move var@10 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> s@2 : i32 ; + Some (tl) -> s@3 : test1::List<i32> ; + Some (var@6) -> (s@2 : i32, ⊥ : test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; +} + + +- op: +0: i32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -63540,17 +130040,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : 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 -> s@4 : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> s@2 : i32 ; + Some (tl) -> s@3 : test1::List<i32> ; + Some (var@6) -> (s@2 : i32, ⊥ : test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> s@4 : bool ; + Some (var@10) -> ⊥ : i32 ; } @@ -63566,21 +130066,45 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : 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 -> s@4 : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> s@2 : i32 ; + Some (tl) -> s@3 : test1::List<i32> ; + Some (var@6) -> (s@2 : i32, ⊥ : test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> s@4 : bool ; + Some (var@10) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> s@2 : i32 ; + Some (tl) -> s@3 : test1::List<i32> ; + Some (var@6) -> (s@2 : i32, ⊥ : test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> s@4 : bool ; + Some (var@10) -> ⊥ : i32 ; +} + + +- op: +move var@9 + [[32mDebug[39m] **About to evaluate statement**: [ assert(¬move var@8); @@ -63594,17 +130118,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : 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 -> s@5 : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> s@2 : i32 ; + Some (tl) -> s@3 : test1::List<i32> ; + Some (var@6) -> (s@2 : i32, ⊥ : test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> s@5 : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; } @@ -63620,21 +130144,45 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : 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 -> s@5 : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> s@2 : i32 ; + Some (tl) -> s@3 : test1::List<i32> ; + Some (var@6) -> (s@2 : i32, ⊥ : test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> s@5 : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> s@2 : i32 ; + Some (tl) -> s@3 : test1::List<i32> ; + Some (var@6) -> (s@2 : i32, ⊥ : test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> true ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; +} + + +- op: +move var@8 + [[32mDebug[39m] **About to evaluate statement**: [ drop(tl); @@ -63647,17 +130195,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : 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 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> s@2 : i32 ; + Some (tl) -> s@3 : test1::List<i32> ; + Some (var@6) -> (s@2 : i32, ⊥ : test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; } @@ -63673,17 +130221,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : 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 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> s@2 : i32 ; + Some (tl) -> s@3 : test1::List<i32> ; + Some (var@6) -> (s@2 : i32, ⊥ : test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; } @@ -63700,17 +130248,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - l -> ⊥ : test1::List<i32> ; - var@2 -> ⊥ : std::boxed::Box<test1::List<i32>> ; - var@3 -> ⊥ : test1::List<i32> ; - hd -> s@2 : i32 ; - tl -> ⊥ : test1::List<i32> ; - var@6 -> (s@2 : i32, ⊥ : test1::List<i32>) ; - var@7 -> ⊥ : test1::List<i32> ; - var@8 -> ⊥ : bool ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (l) -> ⊥ : test1::List<i32> ; + Some (var@2) -> ⊥ : std::boxed::Box<test1::List<i32>> ; + Some (var@3) -> ⊥ : test1::List<i32> ; + Some (hd) -> s@2 : i32 ; + Some (tl) -> ⊥ : test1::List<i32> ; + Some (var@6) -> (s@2 : i32, ⊥ : test1::List<i32>) ; + Some (var@7) -> ⊥ : test1::List<i32> ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; } @@ -63739,11 +130287,11 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) proj_loans (s@1 : &r@0 mut (T)), proj_loans (s@2 : &r@0 mut (T)) } - var@0 -> ⊥ : &'_ mut (T) ; - b -> s@0 : bool ; - x -> s@1 : &r@0 mut (T) ; - y -> s@2 : &r@0 mut (T) ; - var@4 -> ⊥ : bool ; + Some (var@0) -> ⊥ : &'_ mut (T) ; + Some (b) -> s@0 : bool ; + Some (x) -> s@1 : &r@0 mut (T) ; + Some (y) -> s@2 : &r@0 mut (T) ; + Some (var@4) -> ⊥ : bool ; } @@ -63764,15 +130312,38 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) proj_loans (s@1 : &r@0 mut (T)), proj_loans (s@2 : &r@0 mut (T)) } - var@0 -> ⊥ : &'_ mut (T) ; - b -> s@0 : bool ; - x -> s@1 : &r@0 mut (T) ; - y -> s@2 : &r@0 mut (T) ; - var@4 -> ⊥ : bool ; + Some (var@0) -> ⊥ : &'_ mut (T) ; + Some (b) -> s@0 : bool ; + Some (x) -> s@1 : &r@0 mut (T) ; + Some (y) -> s@2 : &r@0 mut (T) ; + Some (var@4) -> ⊥ : bool ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + abs@0{parents={}}{regions={0}} { + proj_loans (s@0 : bool), + proj_loans (s@1 : &r@0 mut (T)), + proj_loans (s@2 : &r@0 mut (T)) + } + Some (var@0) -> ⊥ : &'_ mut (T) ; + Some (b) -> s@0 : bool ; + Some (x) -> s@1 : &r@0 mut (T) ; + Some (y) -> s@2 : &r@0 mut (T) ; + Some (var@4) -> ⊥ : bool ; +} + + +- op: +copy b + [[32mDebug[39m] **About to evaluate statement**: [ if (move var@4) { @@ -63795,11 +130366,11 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) proj_loans (s@1 : &r@0 mut (T)), proj_loans (s@2 : &r@0 mut (T)) } - var@0 -> ⊥ : &'_ mut (T) ; - b -> s@0 : bool ; - x -> s@1 : &r@0 mut (T) ; - y -> s@2 : &r@0 mut (T) ; - var@4 -> s@0 : bool ; + Some (var@0) -> ⊥ : &'_ mut (T) ; + Some (b) -> s@0 : bool ; + Some (x) -> s@1 : &r@0 mut (T) ; + Some (y) -> s@2 : &r@0 mut (T) ; + Some (var@4) -> s@0 : bool ; } @@ -63825,14 +130396,37 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) proj_loans (s@1 : &r@0 mut (T)), proj_loans (s@2 : &r@0 mut (T)) } - var@0 -> ⊥ : &'_ mut (T) ; - b -> s@0 : bool ; - x -> s@1 : &r@0 mut (T) ; - y -> s@2 : &r@0 mut (T) ; - var@4 -> s@0 : bool ; + Some (var@0) -> ⊥ : &'_ mut (T) ; + Some (b) -> s@0 : bool ; + Some (x) -> s@1 : &r@0 mut (T) ; + Some (y) -> s@2 : &r@0 mut (T) ; + Some (var@4) -> s@0 : bool ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + abs@0{parents={}}{regions={0}} { + true, + proj_loans (s@1 : &r@0 mut (T)), + proj_loans (s@2 : &r@0 mut (T)) + } + Some (var@0) -> ⊥ : &'_ mut (T) ; + Some (b) -> true ; + Some (x) -> s@1 : &r@0 mut (T) ; + Some (y) -> s@2 : &r@0 mut (T) ; + Some (var@4) -> true ; } +- op: +move var@4 [[32mDebug[39m] **About to evaluate statement**: [ @@ -63850,11 +130444,11 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) proj_loans (s@1 : &r@0 mut (T)), proj_loans (s@2 : &r@0 mut (T)) } - var@0 -> ⊥ : &'_ mut (T) ; - b -> true ; - x -> s@1 : &r@0 mut (T) ; - y -> s@2 : &r@0 mut (T) ; - var@4 -> ⊥ : bool ; + Some (var@0) -> ⊥ : &'_ mut (T) ; + Some (b) -> true ; + Some (x) -> s@1 : &r@0 mut (T) ; + Some (y) -> s@2 : &r@0 mut (T) ; + Some (var@4) -> ⊥ : bool ; } @@ -63872,11 +130466,11 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) proj_loans (s@1 : &r@0 mut (T)), proj_loans (s@2 : &r@0 mut (T)) } - var@0 -> ⊥ : &'_ mut (T) ; - b -> true ; - x -> s@1 : &r@0 mut (T) ; - y -> s@2 : &r@0 mut (T) ; - var@4 -> ⊥ : bool ; + Some (var@0) -> ⊥ : &'_ mut (T) ; + Some (b) -> true ; + Some (x) -> s@1 : &r@0 mut (T) ; + Some (y) -> s@2 : &r@0 mut (T) ; + Some (var@4) -> ⊥ : bool ; } @@ -63891,14 +130485,37 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) ⌊mut@0, proj_loans (s@3 : T)⌋, proj_loans (s@2 : &r@0 mut (T)) } - var@0 -> ⊥ : &'_ mut (T) ; - b -> true ; - x -> &mut@0 (s@3 : T) ; - y -> s@2 : &r@0 mut (T) ; - var@4 -> ⊥ : bool ; + Some (var@0) -> ⊥ : &'_ mut (T) ; + Some (b) -> true ; + Some (x) -> &mut@0 (s@3 : T) ; + Some (y) -> s@2 : &r@0 mut (T) ; + Some (var@4) -> ⊥ : bool ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + abs@0{parents={}}{regions={0}} { + false, + proj_loans (s@1 : &r@0 mut (T)), + proj_loans (s@2 : &r@0 mut (T)) + } + Some (var@0) -> ⊥ : &'_ mut (T) ; + Some (b) -> false ; + Some (x) -> s@1 : &r@0 mut (T) ; + Some (y) -> s@2 : &r@0 mut (T) ; + Some (var@4) -> false ; +} + + +- op: +move var@4 + [[32mDebug[39m] **About to evaluate statement**: [ var@0 := move y @@ -63915,15 +130532,38 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) proj_loans (s@1 : &r@0 mut (T)), proj_loans (s@2 : &r@0 mut (T)) } - var@0 -> ⊥ : &'_ mut (T) ; - b -> false ; - x -> s@1 : &r@0 mut (T) ; - y -> s@2 : &r@0 mut (T) ; - var@4 -> ⊥ : bool ; + Some (var@0) -> ⊥ : &'_ mut (T) ; + Some (b) -> false ; + Some (x) -> s@1 : &r@0 mut (T) ; + Some (y) -> s@2 : &r@0 mut (T) ; + Some (var@4) -> ⊥ : bool ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + abs@0{parents={}}{regions={0}} { + false, + proj_loans (s@1 : &r@0 mut (T)), + proj_loans (s@2 : &r@0 mut (T)) + } + Some (var@0) -> ⊥ : &'_ mut (T) ; + Some (b) -> false ; + Some (x) -> s@1 : &r@0 mut (T) ; + Some (y) -> s@2 : &r@0 mut (T) ; + Some (var@4) -> ⊥ : bool ; +} + + +- op: +move y + [[32mDebug[39m] **About to evaluate statement**: [ return @@ -63940,11 +130580,11 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) ⌊mut@0, proj_loans (s@3 : T)⌋, proj_loans (s@2 : &r@0 mut (T)) } - var@0 -> &mut@1 (s@3 : T) ; - b -> true ; - x -> &mut@0 (⌊mut@1⌋) ; - y -> s@2 : &r@0 mut (T) ; - var@4 -> ⊥ : bool ; + Some (var@0) -> &mut@1 (s@3 : T) ; + Some (b) -> true ; + Some (x) -> &mut@0 (⌊mut@1⌋) ; + Some (y) -> s@2 : &r@0 mut (T) ; + Some (var@4) -> ⊥ : bool ; } @@ -63965,11 +130605,11 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) proj_loans (s@1 : &r@0 mut (T)), proj_loans (s@2 : &r@0 mut (T)) } - var@0 -> s@2 : &r@0 mut (T) ; - b -> false ; - x -> s@1 : &r@0 mut (T) ; - y -> ⊥ : &'_ mut (T) ; - var@4 -> ⊥ : bool ; + Some (var@0) -> s@2 : &r@0 mut (T) ; + Some (b) -> false ; + Some (x) -> s@1 : &r@0 mut (T) ; + Some (y) -> ⊥ : &'_ mut (T) ; + Some (var@4) -> ⊥ : bool ; } @@ -64007,25 +130647,25 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : i32 ; - y -> ⊥ : i32 ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> ⊥ : &'_ mut (i32) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (y) -> ⊥ : i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -64041,28 +130681,60 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : i32 ; - y -> ⊥ : i32 ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> ⊥ : &'_ mut (i32) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (y) -> ⊥ : i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (y) -> ⊥ : i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +- op: +0: i32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -64095,25 +130767,25 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⊥ : i32 ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> ⊥ : &'_ mut (i32) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⊥ : i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -64129,28 +130801,60 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> ⊥ : i32 ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> ⊥ : &'_ mut (i32) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⊥ : i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> ⊥ : i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +- op: +0: i32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -64182,25 +130886,25 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> 0: i32 ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> ⊥ : &'_ mut (i32) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> 0: i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -64216,25 +130920,25 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - y -> 0: i32 ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> ⊥ : &'_ mut (i32) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (y) -> 0: i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -64268,25 +130972,25 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> 0: i32 ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> &mut@0 (0: i32) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> 0: i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (0: i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -64302,25 +131006,25 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> 0: i32 ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> &mut@0 (0: i32) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> 0: i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (0: i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -64353,25 +131057,25 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> 0: i32 ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⌊inactivated_mut@1⌋ ; - var@5 -> &mut@0 (@shared_loan({1}, 0: i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> 0: i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⌊inactivated_mut@1⌋ ; + Some (var@5) -> &mut@0 (@shared_loan({1}, 0: i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -64387,25 +131091,25 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> 0: i32 ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⌊inactivated_mut@1⌋ ; - var@5 -> &mut@0 (@shared_loan({1}, 0: i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> 0: i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⌊inactivated_mut@1⌋ ; + Some (var@5) -> &mut@0 (@shared_loan({1}, 0: i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -64437,25 +131141,25 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⌊inactivated_mut@1⌋ ; - var@5 -> &mut@0 (@shared_loan({1}, 0: i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (0: i32) ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⌊inactivated_mut@1⌋ ; + Some (var@5) -> &mut@0 (@shared_loan({1}, 0: i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (0: i32) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -64471,25 +131175,25 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⌊inactivated_mut@1⌋ ; - var@5 -> &mut@0 (@shared_loan({1}, 0: i32)) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (0: i32) ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⌊inactivated_mut@1⌋ ; + Some (var@5) -> &mut@0 (@shared_loan({1}, 0: i32)) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (0: i32) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -64520,25 +131224,25 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⌊inactivated_mut@1⌋ ; - var@5 -> &mut@0 (@shared_loan({1}, 0: i32)) ; - var@6 -> ⌊inactivated_mut@3⌋ ; - var@7 -> &mut@2 (@shared_loan({3}, 0: i32)) ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⌊inactivated_mut@1⌋ ; + Some (var@5) -> &mut@0 (@shared_loan({1}, 0: i32)) ; + Some (var@6) -> ⌊inactivated_mut@3⌋ ; + Some (var@7) -> &mut@2 (@shared_loan({3}, 0: i32)) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -64554,37 +131258,129 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⌊inactivated_mut@1⌋ ; - var@5 -> &mut@0 (@shared_loan({1}, 0: i32)) ; - var@6 -> ⌊inactivated_mut@3⌋ ; - var@7 -> &mut@2 (@shared_loan({3}, 0: i32)) ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⌊inactivated_mut@1⌋ ; + Some (var@5) -> &mut@0 (@shared_loan({1}, 0: i32)) ; + Some (var@6) -> ⌊inactivated_mut@3⌋ ; + Some (var@7) -> &mut@2 (@shared_loan({3}, 0: i32)) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } [[32mDebug[39m] activate_inactivated_mut_borrow: resulting value: -{ Values.value = - (Values.Concrete (Values.Scalar { Values.value = 0; int_ty = Types.I32 })); - ty = (Types.Integer Types.I32) } +0: i32 [[32mDebug[39m] activate_inactivated_mut_borrow: resulting value: -{ Values.value = - (Values.Concrete (Values.Scalar { Values.value = 0; int_ty = Types.I32 })); - ty = (Types.Integer Types.I32) } +0: i32 +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> &mut@1 (0: i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> &mut@3 (0: i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +- op: +true + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> &mut@1 (0: i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> &mut@3 (0: i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +- op: +move var@4 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> &mut@3 (0: i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +- op: +move var@6 + [[32mDebug[39m] **About to evaluate statement**: [ var@8 := copy *(z); @@ -64610,25 +131406,25 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - z -> s@0 : &r@0 mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> &mut@0 (⌊mut@1⌋) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (⌊mut@3⌋) ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> s@0 : &r@0 mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), @@ -64650,25 +131446,61 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - z -> s@0 : &r@0 mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> &mut@0 (⌊mut@1⌋) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (⌊mut@3⌋) ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> s@0 : &r@0 mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + true, + &mut@1 (0: i32), + &mut@3 (0: i32), + proj_loans (s@0 : &r@0 mut (i32)) + } +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> s@0 : &r@0 mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), @@ -64678,6 +131510,8 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) } +- op: +copy *(z) [[32mDebug[39m] expand_symbolic_value: s@0 : &r@0 mut (i32) @@ -64687,25 +131521,25 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - z -> s@0 : &r@0 mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> &mut@0 (⌊mut@1⌋) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (⌊mut@3⌋) ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> s@0 : &r@0 mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), @@ -64721,25 +131555,25 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - 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 -> ⊥ : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (s@1 : i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), @@ -64773,25 +131607,25 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - 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 -> s@1 : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (s@1 : i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), @@ -64813,25 +131647,99 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - 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 -> s@1 : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (s@1 : i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + true, + &mut@1 (0: i32), + &mut@3 (0: i32), + ⌊mut@4, proj_loans (s@1 : i32)⌋ + } +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (s@1 : i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + true, + &mut@1 (0: i32), + &mut@3 (0: i32), + ⌊mut@4, proj_loans (s@1 : i32)⌋ + } +} + + +- op: +copy var@8 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (s@1 : i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), @@ -64841,6 +131749,8 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) } +- op: +1: i32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -64865,25 +131775,25 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - 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 -> s@1 : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (s@2 : i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), @@ -64905,25 +131815,25 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - 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 -> s@1 : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (s@2 : i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), @@ -64934,6 +131844,44 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (s@2 : i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + true, + &mut@1 (0: i32), + &mut@3 (0: i32), + ⌊mut@4, proj_loans (s@1 : i32)⌋ + } +} + + +- op: +copy *(z) + [[32mDebug[39m] **About to evaluate statement**: [ var@11 := move var@12 == 1: i32; @@ -64956,25 +131904,25 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - 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 -> s@1 : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> s@2 : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (s@2 : i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> s@2 : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), @@ -64996,25 +131944,25 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - 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 -> s@1 : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> s@2 : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (s@2 : i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> s@2 : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), @@ -65025,6 +131973,82 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (s@2 : i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> s@2 : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + true, + &mut@1 (0: i32), + &mut@3 (0: i32), + ⌊mut@4, proj_loans (s@1 : i32)⌋ + } +} + + +- op: +move var@12 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (s@2 : i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + true, + &mut@1 (0: i32), + &mut@3 (0: i32), + ⌊mut@4, proj_loans (s@1 : i32)⌋ + } +} + + +- op: +1: i32 + [[32mDebug[39m] **About to evaluate statement**: [ var@10 := ¬ move var@11; @@ -65046,25 +132070,25 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - 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 -> s@1 : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> s@3 : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (s@2 : i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> s@3 : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), @@ -65086,25 +132110,61 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - 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 -> s@1 : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> s@3 : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (s@2 : i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> s@3 : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + true, + &mut@1 (0: i32), + &mut@3 (0: i32), + ⌊mut@4, proj_loans (s@1 : i32)⌋ + } +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (s@2 : i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> s@3 : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), @@ -65114,6 +132174,8 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) } +- op: +move var@11 [[32mDebug[39m] **About to evaluate statement**: [ @@ -65135,25 +132197,25 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - 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 -> s@1 : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> s@4 : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (s@2 : i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> s@4 : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), @@ -65175,25 +132237,25 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - 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 -> s@1 : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> s@4 : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (s@2 : i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> s@4 : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), @@ -65204,6 +132266,44 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (s@2 : i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> true ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + true, + &mut@1 (0: i32), + &mut@3 (0: i32), + ⌊mut@4, proj_loans (s@1 : i32)⌋ + } +} + + +- op: +move var@10 + [[32mDebug[39m] **About to evaluate statement**: [ var@15 := copy x; @@ -65223,25 +132323,25 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - 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 -> s@1 : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (s@2 : i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), @@ -65263,25 +132363,25 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - y -> ⌊mut@2⌋ ; - 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 -> s@1 : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (s@2 : i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), @@ -65292,6 +132392,114 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (s@2 : i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + true, + &mut@1 (0: i32), + &mut@3 (0: i32), + ⌊mut@4, proj_loans (s@1 : i32)⌋ + } +} + + +- op: +copy x + +[[32mDebug[39m] end borrow: 0: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (s@2 : i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + true, + &mut@1 (0: i32), + &mut@3 (0: i32), + ⌊mut@4, proj_loans (s@1 : i32)⌋ + } +} + +[[32mDebug[39m] end borrow: 0: found outer borrows/abs:(InterpreterBorrowsCore.InnerLoans (InterpreterBorrowsCore.Borrow 1)) +[[32mDebug[39m] end borrow: 1: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (s@2 : i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + true, + &mut@1 (0: i32), + &mut@3 (0: i32), + ⌊mut@4, proj_loans (s@1 : i32)⌋ + } +} + +[[32mDebug[39m] end borrow: 1: found outer borrows/abs:(InterpreterBorrowsCore.OuterAbs 0) [[32mDebug[39m] end_abstraction: 0 - original context: # Ended regions: {} @@ -65299,25 +132507,25 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@1⌋ ; - y -> ⌊mut@2⌋ ; - z -> &mut@4 (s@2 : i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> ⊥ : &'_ mut (i32) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (⌊mut@3⌋) ; - 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 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (s@2 : i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), @@ -65333,25 +132541,132 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@1⌋ ; - y -> ⌊mut@2⌋ ; - z -> &mut@4 (s@2 : i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> ⊥ : &'_ mut (i32) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (⌊mut@3⌋) ; - 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 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (s@2 : i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + true, + &mut@1 (0: i32), + &mut@3 (0: i32), + ⌊mut@4, proj_loans (s@1 : i32)⌋ + } +} + +[[32mDebug[39m] end borrow: 4: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (s@2 : i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + true, + &mut@1 (0: i32), + &mut@3 (0: i32), + ⌊mut@4, proj_loans (s@1 : i32)⌋ + } +} + +[[32mDebug[39m] give_back: +- bid: 4 +- content: &mut@4 (s@2 : i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + true, + &mut@1 (0: i32), + &mut@3 (0: i32), + ⌊mut@4, proj_loans (s@1 : i32)⌋ + } +} + + +[[32mDebug[39m] give_back_value: +- bid: 4 +- value: s@2 : i32 +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), @@ -65360,6 +132675,7 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) } } + [[32mDebug[39m] end_abstraction: 0 - context after loans ended: # Ended regions: {} @@ -65367,25 +132683,25 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@1⌋ ; - y -> ⌊mut@2⌋ ; - z -> ⊥ : &'_ mut (i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> ⊥ : &'_ mut (i32) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (⌊mut@3⌋) ; - 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 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), @@ -65394,6 +132710,80 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) } } +[[32mDebug[39m] give_back_value: +- bid: 1 +- value: s@5 : i32 +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + true, + ⊥ : &r@0 mut (i32), + &mut@3 (0: i32), + @ended_mut_loan{ given_back=proj_borrows (s@2 : i32 <: i32); child=proj_loans (s@1 : i32) } + } +} + + +[[32mDebug[39m] give_back_value: +- bid: 3 +- value: s@6 : i32 +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (s@5 : i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + true, + ⊥ : &r@0 mut (i32), + ⊥ : &r@0 mut (i32), + @ended_mut_loan{ given_back=proj_borrows (s@2 : i32 <: i32); child=proj_loans (s@1 : i32) } + } +} + + [[32mDebug[39m] end_abstraction: 0 - original context: # Ended regions: {} @@ -65401,25 +132791,25 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@1⌋ ; - y -> ⌊mut@2⌋ ; - z -> &mut@4 (s@2 : i32) ; - var@4 -> ⊥ : &'_ mut (i32) ; - var@5 -> ⊥ : &'_ mut (i32) ; - var@6 -> ⊥ : &'_ mut (i32) ; - var@7 -> &mut@2 (⌊mut@3⌋) ; - 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 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> &mut@4 (s@2 : i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (⌊mut@1⌋) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (⌊mut@3⌋) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), @@ -65435,27 +132825,117 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 (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 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (s@5 : i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (s@6 : i32) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +[[32mDebug[39m] end borrow: 0: +- original context: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> &mut@0 (s@5 : i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (s@6 : i32) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + +[[32mDebug[39m] give_back: +- bid: 0 +- content: &mut@0 (s@5 : i32) +- context: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (s@6 : i32) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +[[32mDebug[39m] give_back_value: +- bid: 0 +- value: s@5 : i32 +- context: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (s@6 : i32) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + [[32mDebug[39m] **About to evaluate statement**: [ var@14 := move var@15 == 1: i32; @@ -65474,25 +132954,25 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 (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 -> s@5 : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@5 : i32 ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (s@6 : i32) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> s@5 : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -65508,29 +132988,93 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 (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 -> s@5 : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@5 : i32 ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (s@6 : i32) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> s@5 : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@5 : i32 ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (s@6 : i32) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> s@5 : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +- op: +move var@15 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@5 : i32 ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (s@6 : i32) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +- op: +1: i32 + [[32mDebug[39m] **About to evaluate statement**: [ var@13 := ¬ move var@14; @@ -65548,25 +133092,25 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 (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 -> s@7 : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@5 : i32 ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (s@6 : i32) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> s@7 : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -65582,28 +133126,60 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 (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 -> s@7 : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@5 : i32 ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (s@6 : i32) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> s@7 : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@5 : i32 ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (s@6 : i32) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> s@7 : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +- op: +move var@14 [[32mDebug[39m] **About to evaluate statement**: [ @@ -65621,25 +133197,25 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 (s@6 : i32) ; - var@8 -> s@1 : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> s@8 : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@5 : i32 ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (s@6 : i32) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> s@8 : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -65655,29 +133231,61 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 (s@6 : i32) ; - var@8 -> s@1 : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> s@8 : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@5 : i32 ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (s@6 : i32) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> s@8 : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@5 : i32 ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (s@6 : i32) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> true ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +- op: +move var@13 + [[32mDebug[39m] **About to evaluate statement**: [ var@18 := copy y; @@ -65693,25 +133301,25 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 (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 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@5 : i32 ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (s@6 : i32) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -65727,29 +133335,151 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 (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 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@5 : i32 ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (s@6 : i32) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@5 : i32 ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (s@6 : i32) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +- op: +copy y + +[[32mDebug[39m] end borrow: 2: +- original context: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@5 : i32 ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> &mut@2 (s@6 : i32) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + +[[32mDebug[39m] give_back: +- bid: 2 +- content: &mut@2 (s@6 : i32) +- context: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@5 : i32 ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +[[32mDebug[39m] give_back_value: +- bid: 2 +- value: s@6 : i32 +- context: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@5 : i32 ; + Some (y) -> ⌊mut@2⌋ ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + [[32mDebug[39m] **About to evaluate statement**: [ var@17 := move var@18 == 0: i32; @@ -65764,25 +133494,25 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 -> s@1 : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> s@6 : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@5 : i32 ; + Some (y) -> s@6 : i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> s@6 : i32 ; } @@ -65798,28 +133528,92 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 -> s@1 : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> s@6 : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@5 : i32 ; + Some (y) -> s@6 : i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> s@6 : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@5 : i32 ; + Some (y) -> s@6 : i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> s@6 : i32 ; +} + + +- op: +move var@18 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@5 : i32 ; + Some (y) -> s@6 : i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +- op: +0: i32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -65834,25 +133628,25 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 -> s@1 : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> s@9 : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@5 : i32 ; + Some (y) -> s@6 : i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> s@9 : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -65868,28 +133662,60 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 -> s@1 : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> s@9 : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@5 : i32 ; + Some (y) -> s@6 : i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> s@9 : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@5 : i32 ; + Some (y) -> s@6 : i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> s@9 : bool ; + Some (var@18) -> ⊥ : i32 ; } +- op: +move var@17 [[32mDebug[39m] **About to evaluate statement**: [ @@ -65903,25 +133729,25 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 -> s@1 : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> s@10 : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@5 : i32 ; + Some (y) -> s@6 : i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> s@10 : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -65937,29 +133763,61 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 -> s@1 : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> s@10 : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@5 : i32 ; + Some (y) -> s@6 : i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> s@10 : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@5 : i32 ; + Some (y) -> s@6 : i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> true ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; +} + + +- op: +move var@16 + [[32mDebug[39m] **About to evaluate statement**: [ return @@ -65971,25 +133829,25 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - 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 -> s@1 : i32 ; - var@9 -> ⊥ : (i32, bool) ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : i32 ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : i32 ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : bool ; - var@18 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@5 : i32 ; + Some (y) -> s@6 : i32 ; + Some (z) -> ⊥ : &'_ mut (i32) ; + Some (var@4) -> ⊥ : &'_ mut (i32) ; + Some (var@5) -> ⊥ : &'_ mut (i32) ; + Some (var@6) -> ⊥ : &'_ mut (i32) ; + Some (var@7) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> s@1 : i32 ; + Some (var@9) -> ⊥ : (i32, bool) ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : i32 ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : i32 ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : bool ; + Some (var@18) -> ⊥ : i32 ; } @@ -66014,9 +133872,9 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) abs@1{parents={0}}{regions={1}} { proj_loans (s@0 : &r@0 mut (&r@1 mut (T))) } - var@0 -> ⊥ : &'_ mut (&'_ mut (T)) ; - x -> s@0 : &r@0 mut (&r@1 mut (T)) ; - var@2 -> ⊥ : &'_ mut (&'_ mut (T)) ; + Some (var@0) -> ⊥ : &'_ mut (&'_ mut (T)) ; + Some (x) -> s@0 : &r@0 mut (&r@1 mut (T)) ; + Some (var@2) -> ⊥ : &'_ mut (&'_ mut (T)) ; } @@ -66038,9 +133896,9 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) abs@1{parents={0}}{regions={1}} { proj_loans (s@0 : &r@0 mut (&r@1 mut (T))) } - var@0 -> ⊥ : &'_ mut (&'_ mut (T)) ; - x -> s@0 : &r@0 mut (&r@1 mut (T)) ; - var@2 -> ⊥ : &'_ mut (&'_ mut (T)) ; + Some (var@0) -> ⊥ : &'_ mut (&'_ mut (T)) ; + Some (x) -> s@0 : &r@0 mut (&r@1 mut (T)) ; + Some (var@2) -> ⊥ : &'_ mut (&'_ mut (T)) ; } @@ -66059,9 +133917,9 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) abs@1{parents={0}}{regions={1}} { proj_loans (s@0 : &r@0 mut (&r@1 mut (T))) } - var@0 -> ⊥ : &'_ mut (&'_ mut (T)) ; - x -> s@0 : &r@0 mut (&r@1 mut (T)) ; - var@2 -> ⊥ : &'_ mut (&'_ mut (T)) ; + Some (var@0) -> ⊥ : &'_ mut (&'_ mut (T)) ; + Some (x) -> s@0 : &r@0 mut (&r@1 mut (T)) ; + Some (var@2) -> ⊥ : &'_ mut (&'_ mut (T)) ; } @@ -66077,9 +133935,9 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) abs@1{parents={0}}{regions={1}} { @ignored_mut_loan(0, proj_loans (s@1 : &r@1 mut (T))) } - var@0 -> ⊥ : &'_ mut (&'_ mut (T)) ; - x -> &mut@0 (s@1 : &r@1 mut (T)) ; - var@2 -> ⊥ : &'_ mut (&'_ mut (T)) ; + Some (var@0) -> ⊥ : &'_ mut (&'_ mut (T)) ; + Some (x) -> &mut@0 (s@1 : &r@1 mut (T)) ; + Some (var@2) -> ⊥ : &'_ mut (&'_ mut (T)) ; } @@ -66101,9 +133959,9 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) abs@1{parents={0}}{regions={1}} { @ignored_mut_loan(0, proj_loans (s@1 : &r@1 mut (T))) } - var@0 -> ⊥ : &'_ mut (&'_ mut (T)) ; - x -> &mut@0 (⌊mut@1⌋) ; - var@2 -> &mut@1 (s@1 : &r@1 mut (T)) ; + Some (var@0) -> ⊥ : &'_ mut (&'_ mut (T)) ; + Some (x) -> &mut@0 (⌊mut@1⌋) ; + Some (var@2) -> &mut@1 (s@1 : &r@1 mut (T)) ; } @@ -66125,9 +133983,9 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) abs@1{parents={0}}{regions={1}} { @ignored_mut_loan(0, proj_loans (s@1 : &r@1 mut (T))) } - var@0 -> ⊥ : &'_ mut (&'_ mut (T)) ; - x -> &mut@0 (⌊mut@1⌋) ; - var@2 -> &mut@1 (s@1 : &r@1 mut (T)) ; + Some (var@0) -> ⊥ : &'_ mut (&'_ mut (T)) ; + Some (x) -> &mut@0 (⌊mut@1⌋) ; + Some (var@2) -> &mut@1 (s@1 : &r@1 mut (T)) ; } @@ -66149,9 +134007,9 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) abs@1{parents={0}}{regions={1}} { @ignored_mut_loan(0, proj_loans (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⌋) ; + Some (var@0) -> &mut@2 (s@1 : &r@1 mut (T)) ; + Some (x) -> &mut@0 (⌊mut@1⌋) ; + Some (var@2) -> &mut@1 (⌊mut@2⌋) ; } @@ -66173,9 +134031,9 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) abs@0{parents={}}{regions={0}} { proj_loans (s@0 : &r@0 mut ((&r@0 mut (T), u32))) } - var@0 -> ⊥ : &'_ mut ((&'_ mut (T), u32)) ; - x -> s@0 : &r@0 mut ((&r@0 mut (T), u32)) ; - var@2 -> ⊥ : &'_ mut ((&'_ mut (T), u32)) ; + Some (var@0) -> ⊥ : &'_ mut ((&'_ mut (T), u32)) ; + Some (x) -> s@0 : &r@0 mut ((&r@0 mut (T), u32)) ; + Some (var@2) -> ⊥ : &'_ mut ((&'_ mut (T), u32)) ; } @@ -66194,9 +134052,9 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) abs@0{parents={}}{regions={0}} { proj_loans (s@0 : &r@0 mut ((&r@0 mut (T), u32))) } - var@0 -> ⊥ : &'_ mut ((&'_ mut (T), u32)) ; - x -> s@0 : &r@0 mut ((&r@0 mut (T), u32)) ; - var@2 -> ⊥ : &'_ mut ((&'_ mut (T), u32)) ; + Some (var@0) -> ⊥ : &'_ mut ((&'_ mut (T), u32)) ; + Some (x) -> s@0 : &r@0 mut ((&r@0 mut (T), u32)) ; + Some (var@2) -> ⊥ : &'_ mut ((&'_ mut (T), u32)) ; } @@ -66212,9 +134070,9 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) abs@0{parents={}}{regions={0}} { proj_loans (s@0 : &r@0 mut ((&r@0 mut (T), u32))) } - var@0 -> ⊥ : &'_ mut ((&'_ mut (T), u32)) ; - x -> s@0 : &r@0 mut ((&r@0 mut (T), u32)) ; - var@2 -> ⊥ : &'_ mut ((&'_ mut (T), u32)) ; + Some (var@0) -> ⊥ : &'_ mut ((&'_ mut (T), u32)) ; + Some (x) -> s@0 : &r@0 mut ((&r@0 mut (T), u32)) ; + Some (var@2) -> ⊥ : &'_ mut ((&'_ mut (T), u32)) ; } @@ -66227,9 +134085,9 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) abs@0{parents={}}{regions={0}} { ⌊mut@0, proj_loans (s@1 : (&r@0 mut (T), u32))⌋ } - var@0 -> ⊥ : &'_ mut ((&'_ mut (T), u32)) ; - x -> &mut@0 (s@1 : (&r@0 mut (T), u32)) ; - var@2 -> ⊥ : &'_ mut ((&'_ mut (T), u32)) ; + Some (var@0) -> ⊥ : &'_ mut ((&'_ mut (T), u32)) ; + Some (x) -> &mut@0 (s@1 : (&r@0 mut (T), u32)) ; + Some (var@2) -> ⊥ : &'_ mut ((&'_ mut (T), u32)) ; } @@ -66248,9 +134106,9 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) abs@0{parents={}}{regions={0}} { ⌊mut@0, proj_loans (s@1 : (&r@0 mut (T), u32))⌋ } - var@0 -> ⊥ : &'_ mut ((&'_ mut (T), u32)) ; - x -> &mut@0 (⌊mut@1⌋) ; - var@2 -> &mut@1 (s@1 : (&r@0 mut (T), u32)) ; + Some (var@0) -> ⊥ : &'_ mut ((&'_ mut (T), u32)) ; + Some (x) -> &mut@0 (⌊mut@1⌋) ; + Some (var@2) -> &mut@1 (s@1 : (&r@0 mut (T), u32)) ; } @@ -66269,9 +134127,9 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) abs@0{parents={}}{regions={0}} { ⌊mut@0, proj_loans (s@1 : (&r@0 mut (T), u32))⌋ } - var@0 -> ⊥ : &'_ mut ((&'_ mut (T), u32)) ; - x -> &mut@0 (⌊mut@1⌋) ; - var@2 -> &mut@1 (s@1 : (&r@0 mut (T), u32)) ; + Some (var@0) -> ⊥ : &'_ mut ((&'_ mut (T), u32)) ; + Some (x) -> &mut@0 (⌊mut@1⌋) ; + Some (var@2) -> &mut@1 (s@1 : (&r@0 mut (T), u32)) ; } @@ -66290,9 +134148,9 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) abs@0{parents={}}{regions={0}} { ⌊mut@0, proj_loans (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⌋) ; + Some (var@0) -> &mut@2 (s@1 : (&r@0 mut (T), u32)) ; + Some (x) -> &mut@0 (⌊mut@1⌋) ; + Some (var@2) -> &mut@1 (⌊mut@2⌋) ; } @@ -66322,17 +134180,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⊥ : (&'_ mut (u32), u32) ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - pp1 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⊥ : (&'_ mut (u32), u32) ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; } @@ -66348,21 +134206,45 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⊥ : (&'_ mut (u32), u32) ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - pp1 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⊥ : (&'_ mut (u32), u32) ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⊥ : (&'_ mut (u32), u32) ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; +} + + +- op: +0: u32 + [[32mDebug[39m] **About to evaluate statement**: [ px := &mut x; @@ -66386,17 +134268,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: u32 ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⊥ : (&'_ mut (u32), u32) ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - pp1 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: u32 ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⊥ : (&'_ mut (u32), u32) ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; } @@ -66412,17 +134294,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: u32 ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⊥ : (&'_ mut (u32), u32) ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - pp1 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: u32 ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⊥ : (&'_ mut (u32), u32) ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; } @@ -66449,17 +134331,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@0 (0: u32) ; - p -> ⊥ : (&'_ mut (u32), u32) ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - pp1 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (0: u32) ; + Some (p) -> ⊥ : (&'_ mut (u32), u32) ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; } @@ -66475,20 +134357,44 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@0 (0: u32) ; - p -> ⊥ : (&'_ mut (u32), u32) ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - pp1 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (0: u32) ; + Some (p) -> ⊥ : (&'_ mut (u32), u32) ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (0: u32) ; + Some (p) -> ⊥ : (&'_ mut (u32), u32) ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; } +- op: +move px [[32mDebug[39m] **About to evaluate statement**: [ @@ -66511,17 +134417,17 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⊥ : (&'_ mut (u32), u32) ; - var@4 -> &mut@0 (0: u32) ; - pp0 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - pp1 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⊥ : (&'_ mut (u32), u32) ; + Some (var@4) -> &mut@0 (0: u32) ; + Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; } @@ -66537,21 +134443,45 @@ ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⊥ : (&'_ mut (u32), u32) ; - var@4 -> &mut@0 (0: u32) ; - pp0 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - pp1 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⊥ : (&'_ mut (u32), u32) ; + Some (var@4) -> &mut@0 (0: u32) ; + Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⊥ : (&'_ mut (u32), u32) ; + Some (var@4) -> &mut@0 (0: u32) ; + Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; +} + + +- op: +move var@4 + [[32mDebug[39m] expand_bottom_value_from_projection: pe: (Expressions.Field ((Expressions.ProjTuple 2), 0)) ty: (Types.Adt (Types.Tuple, [], @@ -66578,17 +134508,17 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> (&mut@0 (0: u32), ⊥ : u32) ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - pp1 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> (&mut@0 (0: u32), ⊥ : u32) ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; } @@ -66604,20 +134534,44 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> (&mut@0 (0: u32), ⊥ : u32) ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - pp1 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> (&mut@0 (0: u32), ⊥ : u32) ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> (&mut@0 (0: u32), ⊥ : u32) ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; } +- op: +1: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -66638,17 +134592,17 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> (&mut@0 (0: u32), 1: u32) ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - pp1 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> (&mut@0 (0: u32), 1: u32) ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; } @@ -66664,17 +134618,17 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> (&mut@0 (0: u32), 1: u32) ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - pp1 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> (&mut@0 (0: u32), 1: u32) ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; } @@ -66697,17 +134651,17 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⌊mut@1⌋ ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> &mut@1 ((&mut@0 (0: u32), 1: u32)) ; - pp1 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 ((&mut@0 (0: u32), 1: u32)) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; } @@ -66723,17 +134677,17 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⌊mut@1⌋ ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> &mut@1 ((&mut@0 (0: u32), 1: u32)) ; - pp1 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 ((&mut@0 (0: u32), 1: u32)) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; } @@ -66755,17 +134709,17 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⌊mut@1⌋ ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> &mut@1 (@shared_loan({2}, (&mut@0 (0: u32), 1: u32))) ; - pp1 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - var@7 -> ⌊inactivated_mut@2⌋ ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (@shared_loan({2}, (&mut@0 (0: u32), 1: u32))) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⌊inactivated_mut@2⌋ ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; } @@ -66781,48 +134735,47 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⌊mut@1⌋ ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> &mut@1 (@shared_loan({2}, (&mut@0 (0: u32), 1: u32))) ; - pp1 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - var@7 -> ⌊inactivated_mut@2⌋ ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (@shared_loan({2}, (&mut@0 (0: u32), 1: u32))) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> ⌊inactivated_mut@2⌋ ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; } [[32mDebug[39m] activate_inactivated_mut_borrow: resulting value: -{ Values.value = - (Values.Adt - { Values.variant_id = <opaque>; - field_values = - [{ Values.value = - (Values.Borrow - (Values.MutBorrow (<opaque>, - { Values.value = - (Values.Concrete - (Values.Scalar { Values.value = 0; int_ty = Types.U32 })); - ty = (Types.Integer Types.U32) } - ))); - ty = - (Types.Ref (Types.Erased, (Types.Integer Types.U32), Types.Mut)) }; - { Values.value = - (Values.Concrete - (Values.Scalar { Values.value = 1; int_ty = Types.U32 })); - ty = (Types.Integer Types.U32) } - ] - }); - ty = - (Types.Adt (Types.Tuple, [], - [(Types.Ref (Types.Erased, (Types.Integer Types.U32), Types.Mut)); - (Types.Integer Types.U32)] - )) - } +(&mut@0 (0: u32), 1: u32) +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (var@7) -> &mut@2 ((&mut@0 (0: u32), 1: u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; +} + + +- op: +move var@7 + [[32mDebug[39m] **About to evaluate statement**: [ y := 2: u32; @@ -66839,17 +134792,17 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⌊mut@1⌋ ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> &mut@1 (⌊mut@2⌋) ; - pp1 -> s@0 : &r@0 mut ((&r@0 mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> s@0 : &r@0 mut ((&r@0 mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; abs@0{parents={}}{regions={0}} { &mut@2 ((&mut@0 (0: u32), 1: u32)), proj_loans (s@0 : &r@0 mut ((&r@0 mut (u32), u32))) @@ -66869,17 +134822,43 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⌊mut@1⌋ ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> &mut@1 (⌊mut@2⌋) ; - pp1 -> s@0 : &r@0 mut ((&r@0 mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⊥ : u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> s@0 : &r@0 mut ((&r@0 mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; + abs@0{parents={}}{regions={0}} { + &mut@2 ((&mut@0 (0: u32), 1: u32)), + proj_loans (s@0 : &r@0 mut ((&r@0 mut (u32), u32))) + } +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> s@0 : &r@0 mut ((&r@0 mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⊥ : u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; abs@0{parents={}}{regions={0}} { &mut@2 ((&mut@0 (0: u32), 1: u32)), proj_loans (s@0 : &r@0 mut ((&r@0 mut (u32), u32))) @@ -66887,6 +134866,8 @@ ty: (Types.Adt (Types.Tuple, [], } +- op: +2: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -66903,17 +134884,17 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⌊mut@1⌋ ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> &mut@1 (⌊mut@2⌋) ; - pp1 -> s@0 : &r@0 mut ((&r@0 mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> 2: u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> s@0 : &r@0 mut ((&r@0 mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> 2: u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; abs@0{parents={}}{regions={0}} { &mut@2 ((&mut@0 (0: u32), 1: u32)), proj_loans (s@0 : &r@0 mut ((&r@0 mut (u32), u32))) @@ -66933,17 +134914,17 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⌊mut@1⌋ ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> &mut@1 (⌊mut@2⌋) ; - pp1 -> s@0 : &r@0 mut ((&r@0 mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> 2: u32 ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> ⊥ : &'_ mut (u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> s@0 : &r@0 mut ((&r@0 mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> 2: u32 ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> ⊥ : &'_ mut (u32) ; abs@0{parents={}}{regions={0}} { &mut@2 ((&mut@0 (0: u32), 1: u32)), proj_loans (s@0 : &r@0 mut ((&r@0 mut (u32), u32))) @@ -66966,17 +134947,17 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⌊mut@1⌋ ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> &mut@1 (⌊mut@2⌋) ; - pp1 -> s@0 : &r@0 mut ((&r@0 mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⌊mut@3⌋ ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> &mut@3 (2: u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> s@0 : &r@0 mut ((&r@0 mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⌊mut@3⌋ ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> &mut@3 (2: u32) ; abs@0{parents={}}{regions={0}} { &mut@2 ((&mut@0 (0: u32), 1: u32)), proj_loans (s@0 : &r@0 mut ((&r@0 mut (u32), u32))) @@ -66996,17 +134977,17 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⌊mut@1⌋ ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> &mut@1 (⌊mut@2⌋) ; - pp1 -> s@0 : &r@0 mut ((&r@0 mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⌊mut@3⌋ ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> &mut@3 (2: u32) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> s@0 : &r@0 mut ((&r@0 mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⌊mut@3⌋ ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> &mut@3 (2: u32) ; abs@0{parents={}}{regions={0}} { &mut@2 ((&mut@0 (0: u32), 1: u32)), proj_loans (s@0 : &r@0 mut ((&r@0 mut (u32), u32))) @@ -67028,17 +135009,17 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⌊mut@1⌋ ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> &mut@1 (⌊mut@2⌋) ; - 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) ; - var@10 -> &mut@3 (⌊mut@4⌋) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> s@0 : &r@0 mut ((&r@0 mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⌊mut@3⌋ ; + Some (var@9) -> &mut@4 (2: u32) ; + Some (var@10) -> &mut@3 (⌊mut@4⌋) ; abs@0{parents={}}{regions={0}} { &mut@2 ((&mut@0 (0: u32), 1: u32)), proj_loans (s@0 : &r@0 mut ((&r@0 mut (u32), u32))) @@ -67058,17 +135039,17 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⌊mut@1⌋ ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> &mut@1 (⌊mut@2⌋) ; - 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) ; - var@10 -> &mut@3 (⌊mut@4⌋) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> s@0 : &r@0 mut ((&r@0 mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⌊mut@3⌋ ; + Some (var@9) -> &mut@4 (2: u32) ; + Some (var@10) -> &mut@3 (⌊mut@4⌋) ; abs@0{parents={}}{regions={0}} { &mut@2 ((&mut@0 (0: u32), 1: u32)), proj_loans (s@0 : &r@0 mut ((&r@0 mut (u32), u32))) @@ -67077,6 +135058,34 @@ ty: (Types.Adt (Types.Tuple, [], +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> s@0 : &r@0 mut ((&r@0 mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⌊mut@3⌋ ; + Some (var@9) -> &mut@4 (2: u32) ; + Some (var@10) -> &mut@3 (⌊mut@4⌋) ; + abs@0{parents={}}{regions={0}} { + &mut@2 ((&mut@0 (0: u32), 1: u32)), + proj_loans (s@0 : &r@0 mut ((&r@0 mut (u32), u32))) + } +} + + +- op: +move var@9 + [[32mDebug[39m] expand_symbolic_value: s@0 : &r@0 mut ((&r@0 mut (u32), u32)) - original context: @@ -67085,21 +135094,22 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⌊mut@1⌋ ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> &mut@1 (⌊mut@2⌋) ; - pp1 -> s@0 : &r@0 mut ((&r@0 mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⌊mut@3⌋ ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> &mut@3 (⌊mut@4⌋) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> s@0 : &r@0 mut ((&r@0 mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⌊mut@3⌋ ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> &mut@3 (⌊mut@4⌋) ; abs@0{parents={}}{regions={0}} { &mut@2 ((&mut@0 (0: u32), 1: u32)), proj_loans (s@0 : &r@0 mut ((&r@0 mut (u32), u32))) } + None -> &mut@4 (2: u32) ; } @@ -67109,21 +135119,22 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⌊mut@1⌋ ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> &mut@1 (⌊mut@2⌋) ; - pp1 -> &mut@5 (s@1 : (&r@0 mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⌊mut@3⌋ ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> &mut@3 (⌊mut@4⌋) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> &mut@5 (s@1 : (&r@0 mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⌊mut@3⌋ ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> &mut@3 (⌊mut@4⌋) ; abs@0{parents={}}{regions={0}} { &mut@2 ((&mut@0 (0: u32), 1: u32)), ⌊mut@5, proj_loans (s@1 : (&r@0 mut (u32), u32))⌋ } + None -> &mut@4 (2: u32) ; } @@ -67135,21 +135146,22 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⌊mut@1⌋ ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> &mut@1 (⌊mut@2⌋) ; - pp1 -> &mut@5 (s@1 : (&r@0 mut (u32), u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⌊mut@3⌋ ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> &mut@3 (⌊mut@4⌋) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> &mut@5 (s@1 : (&r@0 mut (u32), u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⌊mut@3⌋ ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> &mut@3 (⌊mut@4⌋) ; abs@0{parents={}}{regions={0}} { &mut@2 ((&mut@0 (0: u32), 1: u32)), ⌊mut@5, proj_loans (s@1 : (&r@0 mut (u32), u32))⌋ } + None -> &mut@4 (2: u32) ; } @@ -67159,21 +135171,22 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⌊mut@1⌋ ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> &mut@1 (⌊mut@2⌋) ; - pp1 -> &mut@5 ((s@2 : &r@0 mut (u32), s@3 : u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⌊mut@3⌋ ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> &mut@3 (⌊mut@4⌋) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> &mut@5 ((s@2 : &r@0 mut (u32), s@3 : u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⌊mut@3⌋ ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> &mut@3 (⌊mut@4⌋) ; abs@0{parents={}}{regions={0}} { &mut@2 ((&mut@0 (0: u32), 1: u32)), ⌊mut@5, (proj_loans (s@2 : &r@0 mut (u32)), proj_loans (s@3 : u32))⌋ } + None -> &mut@4 (2: u32) ; } @@ -67189,17 +135202,17 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⌊mut@1⌋ ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> &mut@1 (⌊mut@2⌋) ; - pp1 -> &mut@5 ((&mut@4 (2: u32), s@3 : u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⌊mut@3⌋ ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> &mut@3 (⌊mut@4⌋) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> &mut@5 ((&mut@4 (2: u32), s@3 : u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⌊mut@3⌋ ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> &mut@3 (⌊mut@4⌋) ; abs@0{parents={}}{regions={0}} { &mut@2 ((&mut@0 (0: u32), 1: u32)), ⌊mut@5, (proj_loans (s@2 : &r@0 mut (u32)), proj_loans (s@3 : u32))⌋ @@ -67219,17 +135232,17 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⌊mut@1⌋ ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> &mut@1 (⌊mut@2⌋) ; - pp1 -> &mut@5 ((&mut@4 (2: u32), s@3 : u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⌊mut@3⌋ ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> &mut@3 (⌊mut@4⌋) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> &mut@5 ((&mut@4 (2: u32), s@3 : u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⌊mut@3⌋ ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> &mut@3 (⌊mut@4⌋) ; abs@0{parents={}}{regions={0}} { &mut@2 ((&mut@0 (0: u32), 1: u32)), ⌊mut@5, (proj_loans (s@2 : &r@0 mut (u32)), proj_loans (s@3 : u32))⌋ @@ -67238,6 +135251,34 @@ ty: (Types.Adt (Types.Tuple, [], +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> &mut@5 ((&mut@4 (2: u32), s@3 : u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⌊mut@3⌋ ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> &mut@3 (⌊mut@4⌋) ; + abs@0{parents={}}{regions={0}} { + &mut@2 ((&mut@0 (0: u32), 1: u32)), + ⌊mut@5, (proj_loans (s@2 : &r@0 mut (u32)), proj_loans (s@3 : u32))⌋ + } +} + + +- op: +3: u32 + [[32mDebug[39m] **About to evaluate statement**: [ return @@ -67249,17 +135290,17 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (u32) ; - p -> ⌊mut@1⌋ ; - var@4 -> ⊥ : &'_ mut (u32) ; - pp0 -> &mut@1 (⌊mut@2⌋) ; - pp1 -> &mut@5 ((&mut@4 (2: u32), 3: u32)) ; - var@7 -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; - y -> ⌊mut@3⌋ ; - var@9 -> ⊥ : &'_ mut (u32) ; - var@10 -> &mut@3 (⌊mut@4⌋) ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (u32) ; + Some (p) -> ⌊mut@1⌋ ; + Some (var@4) -> ⊥ : &'_ mut (u32) ; + Some (pp0) -> &mut@1 (⌊mut@2⌋) ; + Some (pp1) -> &mut@5 ((&mut@4 (2: u32), 3: u32)) ; + Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; + Some (y) -> ⌊mut@3⌋ ; + Some (var@9) -> ⊥ : &'_ mut (u32) ; + Some (var@10) -> &mut@3 (⌊mut@4⌋) ; abs@0{parents={}}{regions={0}} { &mut@2 ((&mut@0 (0: u32), 1: u32)), ⌊mut@5, (proj_loans (s@2 : &r@0 mut (u32)), proj_loans (s@3 : u32))⌋ @@ -67285,9 +135326,9 @@ ty: (Types.Adt (Types.Tuple, [], abs@0{parents={}}{regions={0}} { proj_loans (s@0 : &r@0 mut (&r@0 mut ((&r@0 mut (T), u32)))) } - var@0 -> ⊥ : &'_ mut (&'_ mut ((&'_ mut (T), u32))) ; - x -> s@0 : &r@0 mut (&r@0 mut ((&r@0 mut (T), u32))) ; - var@2 -> ⊥ : &'_ mut (&'_ mut ((&'_ mut (T), u32))) ; + Some (var@0) -> ⊥ : &'_ mut (&'_ mut ((&'_ mut (T), u32))) ; + Some (x) -> s@0 : &r@0 mut (&r@0 mut ((&r@0 mut (T), u32))) ; + Some (var@2) -> ⊥ : &'_ mut (&'_ mut ((&'_ mut (T), u32))) ; } @@ -67306,9 +135347,9 @@ ty: (Types.Adt (Types.Tuple, [], abs@0{parents={}}{regions={0}} { proj_loans (s@0 : &r@0 mut (&r@0 mut ((&r@0 mut (T), u32)))) } - var@0 -> ⊥ : &'_ mut (&'_ mut ((&'_ mut (T), u32))) ; - x -> s@0 : &r@0 mut (&r@0 mut ((&r@0 mut (T), u32))) ; - var@2 -> ⊥ : &'_ mut (&'_ mut ((&'_ mut (T), u32))) ; + Some (var@0) -> ⊥ : &'_ mut (&'_ mut ((&'_ mut (T), u32))) ; + Some (x) -> s@0 : &r@0 mut (&r@0 mut ((&r@0 mut (T), u32))) ; + Some (var@2) -> ⊥ : &'_ mut (&'_ mut ((&'_ mut (T), u32))) ; } @@ -67324,9 +135365,9 @@ ty: (Types.Adt (Types.Tuple, [], abs@0{parents={}}{regions={0}} { proj_loans (s@0 : &r@0 mut (&r@0 mut ((&r@0 mut (T), u32)))) } - var@0 -> ⊥ : &'_ mut (&'_ mut ((&'_ mut (T), u32))) ; - x -> s@0 : &r@0 mut (&r@0 mut ((&r@0 mut (T), u32))) ; - var@2 -> ⊥ : &'_ mut (&'_ mut ((&'_ mut (T), u32))) ; + Some (var@0) -> ⊥ : &'_ mut (&'_ mut ((&'_ mut (T), u32))) ; + Some (x) -> s@0 : &r@0 mut (&r@0 mut ((&r@0 mut (T), u32))) ; + Some (var@2) -> ⊥ : &'_ mut (&'_ mut ((&'_ mut (T), u32))) ; } @@ -67339,9 +135380,9 @@ ty: (Types.Adt (Types.Tuple, [], abs@0{parents={}}{regions={0}} { ⌊mut@0, proj_loans (s@1 : &r@0 mut ((&r@0 mut (T), u32)))⌋ } - var@0 -> ⊥ : &'_ mut (&'_ mut ((&'_ mut (T), u32))) ; - x -> &mut@0 (s@1 : &r@0 mut ((&r@0 mut (T), u32))) ; - var@2 -> ⊥ : &'_ mut (&'_ mut ((&'_ mut (T), u32))) ; + Some (var@0) -> ⊥ : &'_ mut (&'_ mut ((&'_ mut (T), u32))) ; + Some (x) -> &mut@0 (s@1 : &r@0 mut ((&r@0 mut (T), u32))) ; + Some (var@2) -> ⊥ : &'_ mut (&'_ mut ((&'_ mut (T), u32))) ; } @@ -67360,9 +135401,9 @@ ty: (Types.Adt (Types.Tuple, [], abs@0{parents={}}{regions={0}} { ⌊mut@0, proj_loans (s@1 : &r@0 mut ((&r@0 mut (T), u32)))⌋ } - var@0 -> ⊥ : &'_ mut (&'_ mut ((&'_ mut (T), u32))) ; - x -> &mut@0 (⌊mut@1⌋) ; - var@2 -> &mut@1 (s@1 : &r@0 mut ((&r@0 mut (T), u32))) ; + Some (var@0) -> ⊥ : &'_ mut (&'_ mut ((&'_ mut (T), u32))) ; + Some (x) -> &mut@0 (⌊mut@1⌋) ; + Some (var@2) -> &mut@1 (s@1 : &r@0 mut ((&r@0 mut (T), u32))) ; } @@ -67381,9 +135422,9 @@ ty: (Types.Adt (Types.Tuple, [], abs@0{parents={}}{regions={0}} { ⌊mut@0, proj_loans (s@1 : &r@0 mut ((&r@0 mut (T), u32)))⌋ } - var@0 -> ⊥ : &'_ mut (&'_ mut ((&'_ mut (T), u32))) ; - x -> &mut@0 (⌊mut@1⌋) ; - var@2 -> &mut@1 (s@1 : &r@0 mut ((&r@0 mut (T), u32))) ; + Some (var@0) -> ⊥ : &'_ mut (&'_ mut ((&'_ mut (T), u32))) ; + Some (x) -> &mut@0 (⌊mut@1⌋) ; + Some (var@2) -> &mut@1 (s@1 : &r@0 mut ((&r@0 mut (T), u32))) ; } @@ -67402,9 +135443,9 @@ ty: (Types.Adt (Types.Tuple, [], abs@0{parents={}}{regions={0}} { ⌊mut@0, proj_loans (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⌋) ; + Some (var@0) -> &mut@2 (s@1 : &r@0 mut ((&r@0 mut (T), u32))) ; + Some (x) -> &mut@0 (⌊mut@1⌋) ; + Some (var@2) -> &mut@1 (⌊mut@2⌋) ; } @@ -67426,9 +135467,9 @@ ty: (Types.Adt (Types.Tuple, [], abs@0{parents={}}{regions={0}} { proj_loans (s@0 : &r@0 mut (&r@0 mut (&r@0 mut (u32)))) } - var@0 -> ⊥ : &'_ mut (&'_ mut (&'_ mut (u32))) ; - x -> s@0 : &r@0 mut (&r@0 mut (&r@0 mut (u32))) ; - var@2 -> ⊥ : &'_ mut (&'_ mut (&'_ mut (u32))) ; + Some (var@0) -> ⊥ : &'_ mut (&'_ mut (&'_ mut (u32))) ; + Some (x) -> s@0 : &r@0 mut (&r@0 mut (&r@0 mut (u32))) ; + Some (var@2) -> ⊥ : &'_ mut (&'_ mut (&'_ mut (u32))) ; } @@ -67447,9 +135488,9 @@ ty: (Types.Adt (Types.Tuple, [], abs@0{parents={}}{regions={0}} { proj_loans (s@0 : &r@0 mut (&r@0 mut (&r@0 mut (u32)))) } - var@0 -> ⊥ : &'_ mut (&'_ mut (&'_ mut (u32))) ; - x -> s@0 : &r@0 mut (&r@0 mut (&r@0 mut (u32))) ; - var@2 -> ⊥ : &'_ mut (&'_ mut (&'_ mut (u32))) ; + Some (var@0) -> ⊥ : &'_ mut (&'_ mut (&'_ mut (u32))) ; + Some (x) -> s@0 : &r@0 mut (&r@0 mut (&r@0 mut (u32))) ; + Some (var@2) -> ⊥ : &'_ mut (&'_ mut (&'_ mut (u32))) ; } @@ -67465,9 +135506,9 @@ ty: (Types.Adt (Types.Tuple, [], abs@0{parents={}}{regions={0}} { proj_loans (s@0 : &r@0 mut (&r@0 mut (&r@0 mut (u32)))) } - var@0 -> ⊥ : &'_ mut (&'_ mut (&'_ mut (u32))) ; - x -> s@0 : &r@0 mut (&r@0 mut (&r@0 mut (u32))) ; - var@2 -> ⊥ : &'_ mut (&'_ mut (&'_ mut (u32))) ; + Some (var@0) -> ⊥ : &'_ mut (&'_ mut (&'_ mut (u32))) ; + Some (x) -> s@0 : &r@0 mut (&r@0 mut (&r@0 mut (u32))) ; + Some (var@2) -> ⊥ : &'_ mut (&'_ mut (&'_ mut (u32))) ; } @@ -67480,9 +135521,9 @@ ty: (Types.Adt (Types.Tuple, [], abs@0{parents={}}{regions={0}} { ⌊mut@0, proj_loans (s@1 : &r@0 mut (&r@0 mut (u32)))⌋ } - var@0 -> ⊥ : &'_ mut (&'_ mut (&'_ mut (u32))) ; - x -> &mut@0 (s@1 : &r@0 mut (&r@0 mut (u32))) ; - var@2 -> ⊥ : &'_ mut (&'_ mut (&'_ mut (u32))) ; + Some (var@0) -> ⊥ : &'_ mut (&'_ mut (&'_ mut (u32))) ; + Some (x) -> &mut@0 (s@1 : &r@0 mut (&r@0 mut (u32))) ; + Some (var@2) -> ⊥ : &'_ mut (&'_ mut (&'_ mut (u32))) ; } @@ -67501,9 +135542,9 @@ ty: (Types.Adt (Types.Tuple, [], abs@0{parents={}}{regions={0}} { ⌊mut@0, proj_loans (s@1 : &r@0 mut (&r@0 mut (u32)))⌋ } - var@0 -> ⊥ : &'_ mut (&'_ mut (&'_ mut (u32))) ; - x -> &mut@0 (⌊mut@1⌋) ; - var@2 -> &mut@1 (s@1 : &r@0 mut (&r@0 mut (u32))) ; + Some (var@0) -> ⊥ : &'_ mut (&'_ mut (&'_ mut (u32))) ; + Some (x) -> &mut@0 (⌊mut@1⌋) ; + Some (var@2) -> &mut@1 (s@1 : &r@0 mut (&r@0 mut (u32))) ; } @@ -67522,9 +135563,9 @@ ty: (Types.Adt (Types.Tuple, [], abs@0{parents={}}{regions={0}} { ⌊mut@0, proj_loans (s@1 : &r@0 mut (&r@0 mut (u32)))⌋ } - var@0 -> ⊥ : &'_ mut (&'_ mut (&'_ mut (u32))) ; - x -> &mut@0 (⌊mut@1⌋) ; - var@2 -> &mut@1 (s@1 : &r@0 mut (&r@0 mut (u32))) ; + Some (var@0) -> ⊥ : &'_ mut (&'_ mut (&'_ mut (u32))) ; + Some (x) -> &mut@0 (⌊mut@1⌋) ; + Some (var@2) -> &mut@1 (s@1 : &r@0 mut (&r@0 mut (u32))) ; } @@ -67543,9 +135584,9 @@ ty: (Types.Adt (Types.Tuple, [], abs@0{parents={}}{regions={0}} { ⌊mut@0, proj_loans (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⌋) ; + Some (var@0) -> &mut@2 (s@1 : &r@0 mut (&r@0 mut (u32))) ; + Some (x) -> &mut@0 (⌊mut@1⌋) ; + Some (var@2) -> &mut@1 (⌊mut@2⌋) ; } @@ -67570,9 +135611,9 @@ ty: (Types.Adt (Types.Tuple, [], proj_loans (s@0 : &r@0 mut (&r@1 (u32))), proj_loans (s@1 : &r@0 (&r@0 mut (u32))) } - var@0 -> ⊥ : () ; - _x -> s@0 : &r@0 mut (&r@1 (u32)) ; - _y -> s@1 : &r@0 (&r@0 mut (u32)) ; + Some (var@0) -> ⊥ : () ; + Some (_x) -> s@0 : &r@0 mut (&r@1 (u32)) ; + Some (_y) -> s@1 : &r@0 (&r@0 mut (u32)) ; } @@ -67590,8 +135631,8 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : &'_ (u32) ; - x -> s@0 : &'static (u32) ; + Some (var@0) -> ⊥ : &'_ (u32) ; + Some (x) -> s@0 : &'static (u32) ; } @@ -67607,11 +135648,26 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : &'_ (u32) ; - x -> s@0 : &'static (u32) ; + Some (var@0) -> ⊥ : &'_ (u32) ; + Some (x) -> s@0 : &'static (u32) ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : &'_ (u32) ; + Some (x) -> s@0 : &'static (u32) ; } +- op: +copy x [[32mDebug[39m] **About to evaluate statement**: [ @@ -67624,8 +135680,8 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> s@0 : &'static (u32) ; - x -> s@0 : &'static (u32) ; + Some (var@0) -> s@0 : &'static (u32) ; + Some (x) -> s@0 : &'static (u32) ; } @@ -67643,7 +135699,7 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : char ; + Some (var@0) -> ⊥ : char ; } @@ -67659,11 +135715,25 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : char ; + Some (var@0) -> ⊥ : char ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : char ; +} + + +- op: +a + [[32mDebug[39m] **About to evaluate statement**: [ return @@ -67675,7 +135745,7 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> a ; + Some (var@0) -> a ; } @@ -67722,31 +135792,31 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } @@ -67762,34 +135832,72 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } +- op: +2: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -67831,31 +135939,31 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } @@ -67871,35 +135979,73 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + + +- op: +copy x + [[32mDebug[39m] **About to evaluate statement**: [ var@3 := move var@4 == 2: u32; @@ -67939,31 +136085,31 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> s@0 : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> s@0 : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } @@ -67979,35 +136125,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> s@0 : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> s@0 : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> s@0 : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + + +- op: +move var@4 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + + +- op: +2: u32 + [[32mDebug[39m] **About to evaluate statement**: [ var@2 := ¬ move var@3; @@ -68046,31 +136268,31 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> s@1 : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> s@1 : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } @@ -68086,35 +136308,73 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> s@1 : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> s@1 : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> s@1 : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + + +- op: +move var@3 + [[32mDebug[39m] **About to evaluate statement**: [ assert(¬move var@2); @@ -68152,31 +136412,31 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> s@2 : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> s@2 : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } @@ -68192,34 +136452,72 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> s@2 : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> s@2 : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> true ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } +- op: +move var@2 [[32mDebug[39m] **About to evaluate statement**: [ @@ -68257,31 +136555,31 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } @@ -68297,34 +136595,72 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } +- op: +2: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -68361,31 +136697,31 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } @@ -68401,34 +136737,72 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } +- op: +copy x [[32mDebug[39m] **About to evaluate statement**: [ @@ -68464,31 +136838,31 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> s@3 : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> s@3 : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } @@ -68504,35 +136878,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> s@3 : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> s@3 : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> s@3 : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + + +- op: +move var@8 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + + +- op: +1: u32 + [[32mDebug[39m] **About to evaluate statement**: [ var@6 := ¬ move var@7; @@ -68566,31 +137016,31 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> s@4 : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> s@4 : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } @@ -68606,34 +137056,72 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> s@4 : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> s@4 : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> s@4 : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } +- op: +move var@7 [[32mDebug[39m] **About to evaluate statement**: [ @@ -68667,31 +137155,31 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> s@5 : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> s@5 : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } @@ -68707,35 +137195,73 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> s@5 : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> s@5 : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> true ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + + +- op: +move var@6 + [[32mDebug[39m] **About to evaluate statement**: [ x := move test_loop3(2: u32); @@ -68767,31 +137293,31 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } @@ -68807,34 +137333,72 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } +- op: +2: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -68866,31 +137430,31 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> s@6 : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } @@ -68906,35 +137470,73 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> s@6 : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + + +- op: +copy x + [[32mDebug[39m] **About to evaluate statement**: [ var@11 := move var@12 == 3: u32; @@ -68964,31 +137566,31 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> s@6 : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> s@6 : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> s@6 : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } @@ -69004,34 +137606,110 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> s@6 : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> s@6 : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> s@6 : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> s@6 : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } +- op: +move var@12 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + + +- op: +3: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -69061,31 +137739,31 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> s@6 : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> s@7 : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> s@7 : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } @@ -69101,35 +137779,73 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> s@6 : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> s@7 : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> s@7 : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> s@7 : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + + +- op: +move var@11 + [[32mDebug[39m] **About to evaluate statement**: [ assert(¬move var@10); @@ -69157,31 +137873,31 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> s@6 : u32 ; - var@10 -> s@8 : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> s@8 : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } @@ -69197,35 +137913,73 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> s@6 : u32 ; - var@10 -> s@8 : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> s@8 : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> true ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + + +- op: +move var@10 + [[32mDebug[39m] **About to evaluate statement**: [ x := move test_loop4(20: u32); @@ -69252,31 +138006,31 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> s@6 : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } @@ -69292,35 +138046,73 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> s@6 : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + + +- op: +20: u32 + [[32mDebug[39m] **About to evaluate statement**: [ var@16 := copy x; @@ -69346,31 +138138,31 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> s@6 : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> s@9 : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } @@ -69386,35 +138178,73 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> s@6 : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> s@9 : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + + +- op: +copy x + [[32mDebug[39m] **About to evaluate statement**: [ var@15 := move var@16 == 1: u32; @@ -69439,31 +138269,31 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> s@6 : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> s@9 : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> s@9 : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> s@9 : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } @@ -69479,35 +138309,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> s@6 : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> s@9 : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> s@9 : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> s@9 : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> s@9 : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + + +- op: +move var@16 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + + +- op: +1: u32 + [[32mDebug[39m] **About to evaluate statement**: [ var@14 := ¬ move var@15; @@ -69531,31 +138437,31 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> s@6 : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> s@9 : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> s@10 : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> s@10 : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } @@ -69571,35 +138477,73 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> s@6 : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> s@9 : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> s@10 : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> s@10 : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> s@10 : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + + +- op: +move var@15 + [[32mDebug[39m] **About to evaluate statement**: [ assert(¬move var@14); @@ -69622,31 +138566,31 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> s@6 : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> s@9 : u32 ; - var@14 -> s@11 : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> s@11 : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } @@ -69662,34 +138606,72 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> s@6 : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> s@9 : u32 ; - var@14 -> s@11 : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> s@11 : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> true ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } +- op: +move var@14 [[32mDebug[39m] **About to evaluate statement**: [ @@ -69712,31 +138694,31 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> s@6 : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> s@9 : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } @@ -69752,35 +138734,73 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> s@6 : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> s@9 : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + + +- op: +2: u32 + [[32mDebug[39m] **About to evaluate statement**: [ var@20 := copy x; @@ -69801,31 +138821,31 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> s@6 : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> s@9 : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> s@12 : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> s@12 : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } @@ -69841,35 +138861,73 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> s@6 : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> s@9 : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> s@12 : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> s@12 : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> s@12 : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + + +- op: +copy x + [[32mDebug[39m] **About to evaluate statement**: [ var@19 := move var@20 == 2: u32; @@ -69889,31 +138947,31 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> s@6 : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> s@9 : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> s@12 : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> s@12 : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> s@12 : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> s@12 : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } @@ -69929,34 +138987,110 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> s@6 : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> s@9 : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> s@12 : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> s@12 : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> s@12 : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> s@12 : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> s@12 : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> s@12 : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } +- op: +move var@20 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> s@12 : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + + +- op: +2: u32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -69976,31 +139110,31 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> s@6 : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> s@9 : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> s@12 : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> s@13 : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> s@12 : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> s@13 : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } @@ -70016,34 +139150,72 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> s@6 : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> s@9 : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> s@12 : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> s@13 : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> s@12 : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> s@13 : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> s@12 : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> s@13 : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } +- op: +move var@19 [[32mDebug[39m] **About to evaluate statement**: [ @@ -70062,31 +139234,31 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> s@6 : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> s@9 : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> s@12 : u32 ; - var@18 -> s@14 : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> s@12 : u32 ; + Some (var@18) -> s@14 : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } @@ -70102,35 +139274,73 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> s@6 : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> s@9 : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> s@12 : u32 ; - var@18 -> s@14 : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> s@12 : u32 ; + Some (var@18) -> s@14 : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> s@12 : u32 ; + Some (var@18) -> true ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + + +- op: +move var@18 + [[32mDebug[39m] **About to evaluate statement**: [ x := move test_loop6(2: u32); @@ -70147,31 +139357,31 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> s@6 : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> s@9 : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> s@12 : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> s@12 : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } @@ -70187,35 +139397,73 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> s@6 : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> s@9 : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> s@12 : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> ⊥ : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> s@12 : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> s@12 : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> ⊥ : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + + +- op: +2: u32 + [[32mDebug[39m] **About to evaluate statement**: [ var@24 := copy x; @@ -70231,31 +139479,31 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> s@6 : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> s@9 : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> s@12 : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> s@15 : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> s@12 : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> s@15 : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } @@ -70271,34 +139519,72 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> s@6 : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> s@9 : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> s@12 : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> s@15 : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> s@12 : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> s@15 : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> s@12 : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> s@15 : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } +- op: +copy x [[32mDebug[39m] **About to evaluate statement**: [ @@ -70314,31 +139600,31 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> s@6 : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> s@9 : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> s@12 : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> s@15 : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> s@15 : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> s@12 : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> s@15 : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> s@15 : u32 ; } @@ -70354,35 +139640,111 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> s@6 : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> s@9 : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> s@12 : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> s@15 : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> s@15 : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> s@12 : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> s@15 : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> s@15 : u32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> s@12 : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> s@15 : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> s@15 : u32 ; +} + + +- op: +move var@24 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> s@12 : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> s@15 : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + + +- op: +2: u32 + [[32mDebug[39m] **About to evaluate statement**: [ var@22 := ¬ move var@23; @@ -70396,31 +139758,31 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> s@6 : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> s@9 : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> s@12 : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> s@15 : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> s@16 : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> s@12 : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> s@15 : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> s@16 : bool ; + Some (var@24) -> ⊥ : u32 ; } @@ -70436,35 +139798,73 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> s@6 : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> s@9 : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> s@12 : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> s@15 : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> s@16 : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> s@12 : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> s@15 : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> s@16 : bool ; + Some (var@24) -> ⊥ : u32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> s@12 : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> s@15 : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> s@16 : bool ; + Some (var@24) -> ⊥ : u32 ; +} + + +- op: +move var@23 + [[32mDebug[39m] **About to evaluate statement**: [ assert(¬move var@22); @@ -70477,31 +139877,31 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> s@6 : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> s@9 : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> s@12 : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> s@15 : u32 ; - var@22 -> s@17 : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> s@12 : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> s@15 : u32 ; + Some (var@22) -> s@17 : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } @@ -70517,35 +139917,73 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> s@6 : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> s@9 : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> s@12 : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> s@15 : u32 ; - var@22 -> s@17 : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> s@12 : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> s@15 : u32 ; + Some (var@22) -> s@17 : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> s@12 : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> s@15 : u32 ; + Some (var@22) -> true ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; +} + + +- op: +move var@22 + [[32mDebug[39m] **About to evaluate statement**: [ return @@ -70557,31 +139995,31 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@0 : u32 ; - var@2 -> ⊥ : bool ; - var@3 -> ⊥ : bool ; - var@4 -> ⊥ : u32 ; - x -> s@3 : u32 ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : u32 ; - x -> s@6 : u32 ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : bool ; - var@12 -> ⊥ : u32 ; - x -> s@9 : u32 ; - var@14 -> ⊥ : bool ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : u32 ; - x -> s@12 : u32 ; - var@18 -> ⊥ : bool ; - var@19 -> ⊥ : bool ; - var@20 -> ⊥ : u32 ; - x -> s@15 : u32 ; - var@22 -> ⊥ : bool ; - var@23 -> ⊥ : bool ; - var@24 -> ⊥ : u32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@0 : u32 ; + Some (var@2) -> ⊥ : bool ; + Some (var@3) -> ⊥ : bool ; + Some (var@4) -> ⊥ : u32 ; + Some (x) -> s@3 : u32 ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : u32 ; + Some (x) -> s@6 : u32 ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : u32 ; + Some (x) -> s@9 : u32 ; + Some (var@14) -> ⊥ : bool ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : u32 ; + Some (x) -> s@12 : u32 ; + Some (var@18) -> ⊥ : bool ; + Some (var@19) -> ⊥ : bool ; + Some (var@20) -> ⊥ : u32 ; + Some (x) -> s@15 : u32 ; + Some (var@22) -> ⊥ : bool ; + Some (var@23) -> ⊥ : bool ; + Some (var@24) -> ⊥ : u32 ; } @@ -70612,18 +140050,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; } @@ -70639,21 +140077,46 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; } +- op: +0: i32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -70679,18 +140142,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; } @@ -70706,18 +140169,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; } @@ -70745,18 +140208,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@0 (0: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (0: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; } @@ -70772,18 +140235,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@0 (0: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (0: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; } @@ -70810,18 +140273,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (&mut@0 (0: i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (&mut@0 (0: i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; } @@ -70837,18 +140300,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (&mut@0 (0: i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (&mut@0 (0: i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; } @@ -70874,18 +140337,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (@shared_loan({2}, &mut@0 (0: i32))) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⌊inactivated_mut@2⌋ ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (@shared_loan({2}, &mut@0 (0: i32))) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⌊inactivated_mut@2⌋ ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; } @@ -70901,32 +140364,49 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (@shared_loan({2}, &mut@0 (0: i32))) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⌊inactivated_mut@2⌋ ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (@shared_loan({2}, &mut@0 (0: i32))) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⌊inactivated_mut@2⌋ ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; } [[32mDebug[39m] activate_inactivated_mut_borrow: resulting value: -{ Values.value = - (Values.Borrow - (Values.MutBorrow (<opaque>, - { Values.value = - (Values.Concrete - (Values.Scalar { Values.value = 0; int_ty = Types.I32 })); - ty = (Types.Integer Types.I32) } - ))); - ty = (Types.Ref (Types.Erased, (Types.Integer Types.I32), Types.Mut)) } +&mut@0 (0: i32) +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> &mut@2 (&mut@0 (0: i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; +} + + +- op: +move var@5 + [[32mDebug[39m] **About to evaluate statement**: [ *(*(ppy)) := 1: i32; @@ -70947,18 +140427,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@2⌋) ; - ppy -> s@0 : &r@0 mut (&r@1 mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> s@0 : &r@0 mut (&r@1 mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), proj_loans (s@0 : &r@0 mut (&r@1 mut (i32))) @@ -70982,18 +140462,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@2⌋) ; - ppy -> s@0 : &r@0 mut (&r@1 mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> s@0 : &r@0 mut (&r@1 mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), proj_loans (s@0 : &r@0 mut (&r@1 mut (i32))) @@ -71006,6 +140486,39 @@ ty: (Types.Adt (Types.Tuple, [], +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> s@0 : &r@0 mut (&r@1 mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + proj_loans (s@0 : &r@0 mut (&r@1 mut (i32))) + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + proj_loans (s@0 : &r@0 mut (&r@1 mut (i32))) + } +} + + +- op: +1: i32 + [[32mDebug[39m] expand_symbolic_value: s@0 : &r@0 mut (&r@1 mut (i32)) - original context: @@ -71014,18 +140527,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@2⌋) ; - ppy -> s@0 : &r@0 mut (&r@1 mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> s@0 : &r@0 mut (&r@1 mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), proj_loans (s@0 : &r@0 mut (&r@1 mut (i32))) @@ -71034,6 +140547,7 @@ ty: (Types.Adt (Types.Tuple, [], @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), proj_loans (s@0 : &r@0 mut (&r@1 mut (i32))) } + None -> 1: i32 ; } @@ -71043,18 +140557,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@2⌋) ; - ppy -> &mut@3 (s@1 : &r@1 mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (s@1 : &r@1 mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), ⌊mut@3, proj_loans (s@1 : &r@1 mut (i32))⌋ @@ -71063,6 +140577,7 @@ ty: (Types.Adt (Types.Tuple, [], @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), @ignored_mut_loan(3, proj_loans (s@1 : &r@1 mut (i32))) } + None -> 1: i32 ; } @@ -71074,18 +140589,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@2⌋) ; - ppy -> &mut@3 (s@1 : &r@1 mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (s@1 : &r@1 mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), ⌊mut@3, proj_loans (s@1 : &r@1 mut (i32))⌋ @@ -71094,6 +140609,7 @@ ty: (Types.Adt (Types.Tuple, [], @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), @ignored_mut_loan(3, proj_loans (s@1 : &r@1 mut (i32))) } + None -> 1: i32 ; } @@ -71103,18 +140619,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@2⌋) ; - ppy -> &mut@3 (&mut@4 (s@2 : i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (&mut@4 (s@2 : i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ @@ -71123,6 +140639,7 @@ ty: (Types.Adt (Types.Tuple, [], @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) } + None -> 1: i32 ; } @@ -71145,18 +140662,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@2⌋) ; - ppy -> &mut@3 (&mut@4 (1: i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (&mut@4 (1: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ @@ -71180,18 +140697,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@2⌋) ; - ppy -> &mut@3 (&mut@4 (1: i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (&mut@4 (1: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ @@ -71204,6 +140721,99 @@ ty: (Types.Adt (Types.Tuple, [], +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (&mut@4 (1: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } +} + + +- op: +copy *(px) + +[[32mDebug[39m] end borrow: 1: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (&mut@4 (1: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } +} + +[[32mDebug[39m] end borrow: 1: found outer borrows/abs:(InterpreterBorrowsCore.InnerLoans (InterpreterBorrowsCore.Borrow 2)) +[[32mDebug[39m] end borrow: 2: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (&mut@4 (1: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } +} + +[[32mDebug[39m] end borrow: 2: found outer borrows/abs:(InterpreterBorrowsCore.OuterAbs 0) [[32mDebug[39m] end_abstraction: 0 - original context: # Ended regions: {} @@ -71211,18 +140821,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@2⌋ ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> &mut@3 (&mut@4 (1: i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (&mut@4 (1: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ @@ -71240,18 +140850,78 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@2⌋ ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> &mut@3 (&mut@4 (1: i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (&mut@4 (1: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } +} + +[[32mDebug[39m] end borrow: 3: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (&mut@4 (1: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } +} + +[[32mDebug[39m] give_back: +- bid: 3 +- content: &mut@3 (&mut@4 (1: i32)) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ @@ -71262,6 +140932,39 @@ ty: (Types.Adt (Types.Tuple, [], } } + +[[32mDebug[39m] give_back_value: +- bid: 3 +- value: &mut@4 (1: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } +} + + [[32mDebug[39m] end_abstraction: 0 - context after loans ended: # Ended regions: {} @@ -71269,18 +140972,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@2⌋ ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), @ended_mut_loan{ given_back=@ignored_mut_borrow(None, 1: i32); child=@ignored_mut_loan(4, proj_loans (s@2 : i32)) } @@ -71291,6 +140994,38 @@ ty: (Types.Adt (Types.Tuple, [], } } +[[32mDebug[39m] give_back_value: +- bid: 2 +- value: s@3 : &r@1 mut (i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + ⊥ : &r@0 mut (&r@1 mut (i32)), + @ended_mut_loan{ given_back=@ignored_mut_borrow(None, 1: i32); child=@ignored_mut_loan(4, proj_loans (s@2 : i32)) } + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } +} + + [[32mDebug[39m] end_abstraction: 0 - original context: # Ended regions: {} @@ -71298,18 +141033,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@2⌋ ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> &mut@3 (&mut@4 (1: i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (&mut@4 (1: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ @@ -71327,24 +141062,105 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> s@3 : &r@1 mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (s@3 : &r@1 mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@3 : &r@1 mut (i32)); child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } +} + +[[32mDebug[39m] end borrow: 1: +- original context: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (s@3 : &r@1 mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@3 : &r@1 mut (i32)); child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} } } +[[32mDebug[39m] give_back: +- bid: 1 +- content: &mut@1 (s@3 : &r@1 mut (i32)) +- context: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@3 : &r@1 mut (i32)); child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } +} + + +[[32mDebug[39m] give_back_value: +- bid: 1 +- value: s@3 : &r@1 mut (i32) +- context: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@3 : &r@1 mut (i32)); child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } +} + + [[32mDebug[39m] expand_symbolic_value: s@3 : &r@1 mut (i32) - original context: @@ -71353,18 +141169,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> s@3 : &r@1 mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> s@3 : &r@1 mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@3 : &r@1 mut (i32)); child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} @@ -71378,18 +141194,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@5 (s@4 : i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@5 (s@4 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@5, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} @@ -71415,18 +141231,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@5 (s@4 : i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> s@4 : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@5 (s@4 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> s@4 : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@5, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} @@ -71446,18 +141262,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@5 (s@4 : i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> s@4 : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@5 (s@4 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> s@4 : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@5, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} @@ -71466,6 +141282,64 @@ ty: (Types.Adt (Types.Tuple, [], +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@5 (s@4 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> s@4 : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@5, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } +} + + +- op: +move var@8 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@5 (s@4 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@5, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } +} + + +- op: +1: i32 + [[32mDebug[39m] **About to evaluate statement**: [ var@6 := ¬ move var@7; @@ -71483,18 +141357,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@5 (s@4 : i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> s@5 : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@5 (s@4 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> s@5 : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@5, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} @@ -71514,18 +141388,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@5 (s@4 : i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> s@5 : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@5 (s@4 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> s@5 : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@5, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} @@ -71534,6 +141408,35 @@ ty: (Types.Adt (Types.Tuple, [], +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@5 (s@4 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> s@5 : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@5, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } +} + + +- op: +move var@7 + [[32mDebug[39m] **About to evaluate statement**: [ assert(¬move var@6); @@ -71550,18 +141453,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@5 (s@4 : i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> s@6 : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@5 (s@4 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> s@6 : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@5, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} @@ -71581,18 +141484,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@5 (s@4 : i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> s@6 : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@5 (s@4 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> s@6 : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@5, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} @@ -71601,6 +141504,35 @@ ty: (Types.Adt (Types.Tuple, [], +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@5 (s@4 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> true ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@5, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } +} + + +- op: +move var@6 + [[32mDebug[39m] **About to evaluate statement**: [ var@11 := copy x; @@ -71616,18 +141548,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@5 (s@4 : i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@5 (s@4 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@5, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} @@ -71647,18 +141579,45 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@5 (s@4 : i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@5 (s@4 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@5, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@5 (s@4 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@5, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} @@ -71666,7 +141625,35 @@ ty: (Types.Adt (Types.Tuple, [], } +- op: +copy x +[[32mDebug[39m] end borrow: 0: +- original context: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@5 (s@4 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@5, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } +} + +[[32mDebug[39m] end borrow: 0: found outer borrows/abs:(InterpreterBorrowsCore.OuterAbs 1) [[32mDebug[39m] end_abstraction: 1 - original context: # Ended regions: {0} @@ -71674,18 +141661,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@5 (s@4 : i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@5 (s@4 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@5, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} @@ -71699,24 +141686,184 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@5 (s@4 : i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@5 (s@4 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@5, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } +} + +[[32mDebug[39m] end borrow: 5: +- original context: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@5 (s@4 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@5, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } +} + +[[32mDebug[39m] give_back: +- bid: 5 +- content: &mut@5 (s@4 : i32) +- context: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@5, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } +} + + +[[32mDebug[39m] give_back_value: +- bid: 5 +- value: s@4 : i32 +- context: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@5, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} } } + +[[32mDebug[39m] end borrow: 4: +- original context: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=@ended_mut_loan{ given_back=proj_borrows (s@4 : i32 <: i32); child=proj_loans (s@4 : i32) }; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } +} + +[[32mDebug[39m] end borrow: 4: found outer borrows/abs:(InterpreterBorrowsCore.OuterAbs 1) +[[32mDebug[39m] end borrow: 4: +- original context: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=@ended_mut_loan{ given_back=proj_borrows (s@4 : i32 <: i32); child=proj_loans (s@4 : i32) }; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } +} + +[[32mDebug[39m] give_back: +- bid: 4 +- content: &mut@4 (1: i32) +- context: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=@ended_mut_loan{ given_back=proj_borrows (s@4 : i32 <: i32); child=proj_loans (s@4 : i32) }; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=⊥ : &r@1 mut (i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } +} + + [[32mDebug[39m] end_abstraction: 1 - context after loans ended: # Ended regions: {0} @@ -71724,24 +141871,52 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=@ended_mut_loan{ given_back=proj_borrows (s@4 : i32 <: i32); child=proj_loans (s@4 : i32) }; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=⊥ : &r@1 mut (i32); child: @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }} } } +[[32mDebug[39m] give_back_value: +- bid: 0 +- value: s@7 : i32 +- context: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=@ended_mut_loan{ given_back=proj_borrows (s@4 : i32 <: i32); child=proj_loans (s@4 : i32) }; child=⊥ : &r@1 mut (i32)), + @ended_ignored_mut_loan{ given_back=⊥ : &r@1 mut (i32); child: @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }} + } +} + + [[32mDebug[39m] end_abstraction: 1 - original context: # Ended regions: {0} @@ -71749,18 +141924,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@5 (s@4 : i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@5 (s@4 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@5, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} @@ -71774,18 +141949,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@7 : i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@7 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; } [[32mDebug[39m] @@ -71802,18 +141977,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@7 : i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> s@7 : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@7 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> s@7 : i32 ; } @@ -71829,21 +142004,71 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@7 : i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> s@7 : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@7 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> s@7 : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0, 1} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@7 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> s@7 : i32 ; } +- op: +move var@11 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0, 1} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@7 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; +} + + +- op: +1: i32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -71858,18 +142083,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@7 : i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> s@8 : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@7 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> s@8 : bool ; + Some (var@11) -> ⊥ : i32 ; } @@ -71885,21 +142110,46 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@7 : i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> s@8 : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@7 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> s@8 : bool ; + Some (var@11) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0, 1} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@7 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> s@8 : bool ; + Some (var@11) -> ⊥ : i32 ; } +- op: +move var@10 [[32mDebug[39m] **About to evaluate statement**: [ @@ -71913,18 +142163,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@7 : i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> s@9 : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@7 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> s@9 : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; } @@ -71940,22 +142190,47 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@7 : i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> s@9 : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@7 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> s@9 : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0, 1} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@7 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> true ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; +} + + +- op: +move var@9 + [[32mDebug[39m] **About to evaluate statement**: [ return @@ -71967,18 +142242,18 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@7 : i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@6 -> ⊥ : bool ; - var@7 -> ⊥ : bool ; - var@8 -> ⊥ : i32 ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@7 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@6) -> ⊥ : bool ; + Some (var@7) -> ⊥ : bool ; + Some (var@8) -> ⊥ : i32 ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; } @@ -72018,24 +142293,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⊥ : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; } @@ -72051,28 +142326,59 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⊥ : i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⊥ : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; +} + + +- op: +0: i32 + [[32mDebug[39m] **About to evaluate statement**: [ px := &mut x; @@ -72106,24 +142412,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⊥ : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; } @@ -72139,24 +142445,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> 0: i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⊥ : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; } @@ -72193,24 +142499,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@0 (0: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⊥ : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (0: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; } @@ -72226,24 +142532,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@0 (0: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⊥ : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (0: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; } @@ -72279,24 +142585,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (&mut@0 (0: i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⊥ : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (&mut@0 (0: i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; } @@ -72312,24 +142618,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (&mut@0 (0: i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⊥ : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (&mut@0 (0: i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; } @@ -72364,24 +142670,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (@shared_loan({2}, &mut@0 (0: i32))) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⌊inactivated_mut@2⌋ ; - y -> ⊥ : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (@shared_loan({2}, &mut@0 (0: i32))) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⌊inactivated_mut@2⌋ ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; } @@ -72397,38 +142703,61 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (@shared_loan({2}, &mut@0 (0: i32))) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⌊inactivated_mut@2⌋ ; - y -> ⊥ : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (@shared_loan({2}, &mut@0 (0: i32))) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⌊inactivated_mut@2⌋ ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; } [[32mDebug[39m] activate_inactivated_mut_borrow: resulting value: -{ Values.value = - (Values.Borrow - (Values.MutBorrow (<opaque>, - { Values.value = - (Values.Concrete - (Values.Scalar { Values.value = 0; int_ty = Types.I32 })); - ty = (Types.Integer Types.I32) } - ))); - ty = (Types.Ref (Types.Erased, (Types.Integer Types.I32), Types.Mut)) } +&mut@0 (0: i32) +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> &mut@2 (&mut@0 (0: i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; +} + + +- op: +move var@5 + [[32mDebug[39m] **About to evaluate statement**: [ *(*(ppy)) := 1: i32; @@ -72458,24 +142787,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@2⌋) ; - ppy -> s@0 : &r@0 mut (&r@1 mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⊥ : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> s@0 : &r@0 mut (&r@1 mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), proj_loans (s@0 : &r@0 mut (&r@1 mut (i32))) @@ -72499,24 +142828,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@2⌋) ; - ppy -> s@0 : &r@0 mut (&r@1 mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⊥ : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> s@0 : &r@0 mut (&r@1 mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), proj_loans (s@0 : &r@0 mut (&r@1 mut (i32))) @@ -72529,6 +142858,45 @@ ty: (Types.Adt (Types.Tuple, [], +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> s@0 : &r@0 mut (&r@1 mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + proj_loans (s@0 : &r@0 mut (&r@1 mut (i32))) + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + proj_loans (s@0 : &r@0 mut (&r@1 mut (i32))) + } +} + + +- op: +1: i32 + [[32mDebug[39m] expand_symbolic_value: s@0 : &r@0 mut (&r@1 mut (i32)) - original context: @@ -72537,24 +142905,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@2⌋) ; - ppy -> s@0 : &r@0 mut (&r@1 mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⊥ : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> s@0 : &r@0 mut (&r@1 mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), proj_loans (s@0 : &r@0 mut (&r@1 mut (i32))) @@ -72563,6 +142931,7 @@ ty: (Types.Adt (Types.Tuple, [], @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), proj_loans (s@0 : &r@0 mut (&r@1 mut (i32))) } + None -> 1: i32 ; } @@ -72572,24 +142941,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@2⌋) ; - ppy -> &mut@3 (s@1 : &r@1 mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⊥ : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (s@1 : &r@1 mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), ⌊mut@3, proj_loans (s@1 : &r@1 mut (i32))⌋ @@ -72598,6 +142967,7 @@ ty: (Types.Adt (Types.Tuple, [], @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), @ignored_mut_loan(3, proj_loans (s@1 : &r@1 mut (i32))) } + None -> 1: i32 ; } @@ -72609,24 +142979,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@2⌋) ; - ppy -> &mut@3 (s@1 : &r@1 mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⊥ : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (s@1 : &r@1 mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), ⌊mut@3, proj_loans (s@1 : &r@1 mut (i32))⌋ @@ -72635,6 +143005,7 @@ ty: (Types.Adt (Types.Tuple, [], @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), @ignored_mut_loan(3, proj_loans (s@1 : &r@1 mut (i32))) } + None -> 1: i32 ; } @@ -72644,24 +143015,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@2⌋) ; - ppy -> &mut@3 (&mut@4 (s@2 : i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⊥ : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (&mut@4 (s@2 : i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ @@ -72670,6 +143041,7 @@ ty: (Types.Adt (Types.Tuple, [], @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) } + None -> 1: i32 ; } @@ -72701,24 +143073,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@2⌋) ; - ppy -> &mut@3 (&mut@4 (1: i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⊥ : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (&mut@4 (1: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ @@ -72742,24 +143114,61 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@2⌋) ; - ppy -> &mut@3 (&mut@4 (1: i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⊥ : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (&mut@4 (1: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (&mut@4 (1: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⊥ : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ @@ -72771,6 +143180,8 @@ ty: (Types.Adt (Types.Tuple, [], } +- op: +2: i32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -72799,24 +143210,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@2⌋) ; - ppy -> &mut@3 (&mut@4 (1: i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> 2: i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (&mut@4 (1: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> 2: i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ @@ -72840,24 +143251,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@2⌋) ; - ppy -> &mut@3 (&mut@4 (1: i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> 2: i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (&mut@4 (1: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> 2: i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ @@ -72896,24 +143307,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@2⌋) ; - ppy -> &mut@3 (&mut@4 (1: i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (2: i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (&mut@4 (1: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (2: i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ @@ -72937,24 +143348,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@2⌋) ; - ppy -> &mut@3 (&mut@4 (1: i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (2: i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (&mut@4 (1: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (2: i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ @@ -72992,24 +143403,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@2⌋) ; - ppy -> &mut@3 (&mut@4 (1: i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> &mut@6 (2: i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (&mut@4 (1: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> &mut@6 (2: i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ @@ -73033,24 +143444,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@2⌋) ; - ppy -> &mut@3 (&mut@4 (1: i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> &mut@6 (2: i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (&mut@4 (1: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> &mut@6 (2: i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ @@ -73063,6 +143474,162 @@ ty: (Types.Adt (Types.Tuple, [], +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (&mut@4 (1: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> &mut@6 (2: i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } +} + + +- op: +move var@8 + +[[32mDebug[39m] end borrow: 4: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (⊥ : &'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } + None -> &mut@6 (2: i32) ; + None -> &mut@4 (1: i32) ; +} + +[[32mDebug[39m] give_back: +- bid: 4 +- content: &mut@4 (1: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (⊥ : &'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } + None -> &mut@6 (2: i32) ; + None -> ⊥ : &'_ mut (i32) ; +} + + +[[32mDebug[39m] give_back_value: +- bid: 4 +- value: 1: i32 +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (⊥ : &'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } + None -> &mut@6 (2: i32) ; + None -> ⊥ : &'_ mut (i32) ; +} + + [[32mDebug[39m] **About to evaluate statement**: [ var@11 := copy *(px); @@ -73087,24 +143654,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@2⌋) ; - ppy -> &mut@3 (&mut@6 (2: i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (&mut@6 (2: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), ⌊mut@3, @ended_ignored_mut_loan{ given_back=1: i32; child: proj_loans (s@2 : i32)}⌋ @@ -73128,24 +143695,100 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@1⌋ ; - ppx -> &mut@1 (⌊mut@2⌋) ; - ppy -> &mut@3 (&mut@6 (2: i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (&mut@6 (2: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ended_ignored_mut_loan{ given_back=1: i32; child: proj_loans (s@2 : i32)}⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }) + } +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (&mut@6 (2: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ended_ignored_mut_loan{ given_back=1: i32; child: proj_loans (s@2 : i32)}⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }) + } +} + + +- op: +copy *(px) + +[[32mDebug[39m] end borrow: 1: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (&mut@6 (2: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), ⌊mut@3, @ended_ignored_mut_loan{ given_back=1: i32; child: proj_loans (s@2 : i32)}⌋ @@ -73156,8 +143799,43 @@ ty: (Types.Adt (Types.Tuple, [], } } +[[32mDebug[39m] end borrow: 1: found outer borrows/abs:(InterpreterBorrowsCore.InnerLoans (InterpreterBorrowsCore.Borrow 2)) +[[32mDebug[39m] end borrow: 2: +- original context: +# Ended regions: {} +# 1 frame(s) +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (&mut@6 (2: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ended_ignored_mut_loan{ given_back=1: i32; child: proj_loans (s@2 : i32)}⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }) + } +} +[[32mDebug[39m] end borrow: 2: found outer borrows/abs:(InterpreterBorrowsCore.OuterAbs 0) [[32mDebug[39m] end_abstraction: 0 - original context: # Ended regions: {} @@ -73165,24 +143843,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@2⌋ ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> &mut@3 (&mut@6 (2: i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (&mut@6 (2: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), ⌊mut@3, @ended_ignored_mut_loan{ given_back=1: i32; child: proj_loans (s@2 : i32)}⌋ @@ -73200,24 +143878,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@2⌋ ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> &mut@3 (&mut@6 (2: i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (&mut@6 (2: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), ⌊mut@3, @ended_ignored_mut_loan{ given_back=1: i32; child: proj_loans (s@2 : i32)}⌋ @@ -73228,6 +143906,117 @@ ty: (Types.Adt (Types.Tuple, [], } } +[[32mDebug[39m] end borrow: 3: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (&mut@6 (2: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ended_ignored_mut_loan{ given_back=1: i32; child: proj_loans (s@2 : i32)}⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }) + } +} + +[[32mDebug[39m] give_back: +- bid: 3 +- content: &mut@3 (&mut@6 (2: i32)) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ended_ignored_mut_loan{ given_back=1: i32; child: proj_loans (s@2 : i32)}⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }) + } +} + + +[[32mDebug[39m] give_back_value: +- bid: 3 +- value: &mut@6 (2: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ended_ignored_mut_loan{ given_back=1: i32; child: proj_loans (s@2 : i32)}⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }) + } +} + + [[32mDebug[39m] end_abstraction: 0 - context after loans ended: # Ended regions: {} @@ -73235,24 +144024,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@2⌋ ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), @ended_mut_loan{ given_back=@ignored_mut_borrow(None, 2: i32); child=@ended_ignored_mut_loan{ given_back=1: i32; child: proj_loans (s@2 : i32)} } @@ -73263,6 +144052,44 @@ ty: (Types.Adt (Types.Tuple, [], } } +[[32mDebug[39m] give_back_value: +- bid: 2 +- value: s@3 : &r@1 mut (i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + ⊥ : &r@0 mut (&r@1 mut (i32)), + @ended_mut_loan{ given_back=@ignored_mut_borrow(None, 2: i32); child=@ended_ignored_mut_loan{ given_back=1: i32; child: proj_loans (s@2 : i32)} } + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=&mut@6 (2: i32); child: @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }} + } +} + + [[32mDebug[39m] end_abstraction: 0 - original context: # Ended regions: {} @@ -73270,24 +144097,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⌊mut@2⌋ ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> &mut@3 (&mut@6 (2: i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (&mut@6 (2: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), ⌊mut@3, @ended_ignored_mut_loan{ given_back=1: i32; child: proj_loans (s@2 : i32)}⌋ @@ -73305,30 +144132,129 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> s@3 : &r@1 mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (s@3 : &r@1 mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@3 : &r@1 mut (i32)); child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@6 (2: i32); child: @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }} } } +[[32mDebug[39m] end borrow: 1: +- original context: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (s@3 : &r@1 mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@3 : &r@1 mut (i32)); child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=&mut@6 (2: i32); child: @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }} + } +} + +[[32mDebug[39m] give_back: +- bid: 1 +- content: &mut@1 (s@3 : &r@1 mut (i32)) +- context: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@3 : &r@1 mut (i32)); child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=&mut@6 (2: i32); child: @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }} + } +} + + +[[32mDebug[39m] give_back_value: +- bid: 1 +- value: s@3 : &r@1 mut (i32) +- context: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@3 : &r@1 mut (i32)); child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=&mut@6 (2: i32); child: @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }} + } +} + + [[32mDebug[39m] expand_symbolic_value: s@3 : &r@1 mut (i32) - original context: @@ -73337,24 +144263,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> s@3 : &r@1 mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> s@3 : &r@1 mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@3 : &r@1 mut (i32)); child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@6 (2: i32); child: @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }} @@ -73368,24 +144294,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@7 (s@4 : i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@7 (s@4 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@7, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@6 (2: i32); child: @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }} @@ -73416,24 +144342,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@7 (s@4 : i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> s@4 : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@7 (s@4 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> s@4 : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@7, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@6 (2: i32); child: @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }} @@ -73453,24 +144379,92 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@7 (s@4 : i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> s@4 : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@7 (s@4 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> s@4 : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@7, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=&mut@6 (2: i32); child: @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }} + } +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@7 (s@4 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> s@4 : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@7, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=&mut@6 (2: i32); child: @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }} + } +} + + +- op: +move var@11 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@7 (s@4 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@7, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@6 (2: i32); child: @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }} @@ -73478,6 +144472,8 @@ ty: (Types.Adt (Types.Tuple, [], } +- op: +2: i32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -73501,24 +144497,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@7 (s@4 : i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> s@5 : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@7 (s@4 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> s@5 : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@7, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@6 (2: i32); child: @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }} @@ -73538,24 +144534,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@7 (s@4 : i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> s@5 : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@7 (s@4 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> s@5 : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@7, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@6 (2: i32); child: @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }} @@ -73564,6 +144560,41 @@ ty: (Types.Adt (Types.Tuple, [], +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@7 (s@4 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> s@5 : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@7, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=&mut@6 (2: i32); child: @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }} + } +} + + +- op: +move var@10 + [[32mDebug[39m] **About to evaluate statement**: [ assert(¬move var@9); @@ -73585,24 +144616,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@7 (s@4 : i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> s@6 : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@7 (s@4 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> s@6 : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@7, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@6 (2: i32); child: @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }} @@ -73622,24 +144653,57 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@7 (s@4 : i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> s@6 : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@7 (s@4 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> s@6 : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@7, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=&mut@6 (2: i32); child: @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }} + } +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@7 (s@4 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> true ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@7, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@6 (2: i32); child: @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }} @@ -73647,6 +144711,8 @@ ty: (Types.Adt (Types.Tuple, [], } +- op: +move var@9 [[32mDebug[39m] **About to evaluate statement**: [ @@ -73668,24 +144734,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@7 (s@4 : i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@7 (s@4 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@7, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@6 (2: i32); child: @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }} @@ -73705,24 +144771,57 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@7 (s@4 : i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@7 (s@4 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@7, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=&mut@6 (2: i32); child: @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }} + } +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@7 (s@4 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@7, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@6 (2: i32); child: @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }} @@ -73730,6 +144829,8 @@ ty: (Types.Adt (Types.Tuple, [], } +- op: +3: i32 [[32mDebug[39m] **About to evaluate statement**: [ @@ -73750,24 +144851,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@7 (3: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@7 (3: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@7, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@6 (2: i32); child: @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }} @@ -73787,24 +144888,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@7 (3: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@7 (3: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@7, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@6 (2: i32); child: @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }} @@ -73813,6 +144914,73 @@ ty: (Types.Adt (Types.Tuple, [], +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@7 (3: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@7, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=&mut@6 (2: i32); child: @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }} + } +} + + +- op: +copy x + +[[32mDebug[39m] end borrow: 0: +- original context: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@7 (3: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@7, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=&mut@6 (2: i32); child: @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }} + } +} + +[[32mDebug[39m] end borrow: 0: found outer borrows/abs:(InterpreterBorrowsCore.OuterAbs 1) [[32mDebug[39m] end_abstraction: 1 - original context: # Ended regions: {0} @@ -73820,24 +144988,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@7 (3: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@7 (3: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@7, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@6 (2: i32); child: @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }} @@ -73851,30 +145019,129 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@7 (3: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@7 (3: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@7, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@6 (2: i32); child: @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }} } } +[[32mDebug[39m] end borrow: 7: +- original context: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@7 (3: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@7, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=&mut@6 (2: i32); child: @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }} + } +} + +[[32mDebug[39m] give_back: +- bid: 7 +- content: &mut@7 (3: i32) +- context: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@7, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=&mut@6 (2: i32); child: @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }} + } +} + + +[[32mDebug[39m] give_back_value: +- bid: 7 +- value: 3: i32 +- context: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@7, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=&mut@6 (2: i32); child: @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }} + } +} + + [[32mDebug[39m] end_abstraction: 1 - context after loans ended: # Ended regions: {0} @@ -73882,30 +145149,98 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=@ended_mut_loan{ given_back=3: i32; child=proj_loans (s@4 : i32) }; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@6 (2: i32); child: @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }} } } +[[32mDebug[39m] give_back_value: +- bid: 0 +- value: s@7 : i32 +- context: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=@ended_mut_loan{ given_back=3: i32; child=proj_loans (s@4 : i32) }; child=⊥ : &r@1 mut (i32)), + @ended_ignored_mut_loan{ given_back=&mut@6 (2: i32); child: @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }} + } +} + + +[[32mDebug[39m] give_back_value: +- bid: 6 +- value: s@8 : i32 +- context: +# Ended regions: {0} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@7 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=@ended_mut_loan{ given_back=3: i32; child=proj_loans (s@4 : i32) }; child=⊥ : &r@1 mut (i32)), + @ended_ignored_mut_loan{ given_back=⊥ : &r@1 mut (i32); child: @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }} + } +} + + [[32mDebug[39m] end_abstraction: 1 - original context: # Ended regions: {0} @@ -73913,24 +145248,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> ⌊mut@0⌋ ; - px -> &mut@7 (3: i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (⌊mut@6⌋) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@7 (3: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (⌊mut@6⌋) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@7, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@6 (2: i32); child: @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }} @@ -73944,24 +145279,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@7 : i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (s@8 : i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@7 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (s@8 : i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; } [[32mDebug[39m] @@ -73982,24 +145317,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@7 : i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (s@8 : i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> s@7 : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@7 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (s@8 : i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> s@7 : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; } @@ -74015,28 +145350,90 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@7 : i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (s@8 : i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> s@7 : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@7 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (s@8 : i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> s@7 : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0, 1} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@7 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (s@8 : i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> s@7 : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; +} + + +- op: +move var@14 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0, 1} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@7 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (s@8 : i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; +} + + +- op: +1: i32 + [[32mDebug[39m] **About to evaluate statement**: [ var@12 := ¬ move var@13; @@ -74054,24 +145451,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@7 : i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (s@8 : i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> s@9 : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@7 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (s@8 : i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> s@9 : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; } @@ -74087,28 +145484,59 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@7 : i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (s@8 : i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> s@9 : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@7 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (s@8 : i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> s@9 : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0, 1} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@7 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (s@8 : i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> s@9 : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; +} + + +- op: +move var@13 + [[32mDebug[39m] **About to evaluate statement**: [ assert(¬move var@12); @@ -74125,24 +145553,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@7 : i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (s@8 : i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> s@10 : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@7 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (s@8 : i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> s@10 : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; } @@ -74158,27 +145586,58 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@7 : i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (s@8 : i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> s@10 : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@7 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (s@8 : i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> s@10 : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0, 1} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@7 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (s@8 : i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> true ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; } +- op: +move var@12 [[32mDebug[39m] **About to evaluate statement**: [ @@ -74195,24 +145654,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@7 : i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (s@8 : i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@7 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (s@8 : i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; } @@ -74228,27 +145687,145 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@7 : i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> ⌊mut@5⌋ ; - py -> &mut@5 (s@8 : i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@7 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (s@8 : i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0, 1} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@7 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (s@8 : i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; +} + + +- op: +copy y + +[[32mDebug[39m] end borrow: 5: +- original context: +# Ended regions: {0, 1} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@7 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> &mut@5 (s@8 : i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; +} + +[[32mDebug[39m] give_back: +- bid: 5 +- content: &mut@5 (s@8 : i32) +- context: +# Ended regions: {0, 1} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@7 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; } +[[32mDebug[39m] give_back_value: +- bid: 5 +- value: s@8 : i32 +- context: +# Ended regions: {0, 1} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@7 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> ⌊mut@5⌋ ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; +} + [[32mDebug[39m] **About to evaluate statement**: [ @@ -74264,24 +145841,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@7 : i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> s@8 : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> s@8 : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@7 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> s@8 : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> s@8 : i32 ; } @@ -74297,28 +145874,90 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@7 : i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> s@8 : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> s@8 : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@7 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> s@8 : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> s@8 : i32 ; } +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0, 1} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@7 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> s@8 : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> s@8 : i32 ; +} + + +- op: +move var@17 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0, 1} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@7 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> s@8 : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; +} + + +- op: +3: i32 + [[32mDebug[39m] **About to evaluate statement**: [ var@15 := ¬ move var@16; @@ -74332,24 +145971,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@7 : i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> s@8 : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> s@11 : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@7 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> s@8 : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> s@11 : bool ; + Some (var@17) -> ⊥ : i32 ; } @@ -74365,27 +146004,58 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@7 : i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> s@8 : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> s@11 : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@7 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> s@8 : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> s@11 : bool ; + Some (var@17) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0, 1} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@7 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> s@8 : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> s@11 : bool ; + Some (var@17) -> ⊥ : i32 ; } +- op: +move var@16 [[32mDebug[39m] **About to evaluate statement**: [ @@ -74399,24 +146069,24 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@7 : i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> s@8 : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> s@12 : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@7 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> s@8 : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> s@12 : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; } @@ -74432,27 +146102,58 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@7 : i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> s@8 : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> s@12 : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@7 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> s@8 : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> s@12 : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0, 1} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@7 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> s@8 : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> true ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; } +- op: +move var@15 [[32mDebug[39m] **About to evaluate statement**: [ @@ -74465,24 +146166,3791 @@ ty: (Types.Adt (Types.Tuple, [], # Frame 0: { - var@0 -> ⊥ : () ; - x -> s@7 : i32 ; - px -> ⊥ : &'_ mut (i32) ; - ppx -> ⊥ : &'_ mut (&'_ mut (i32)) ; - ppy -> ⊥ : &'_ mut (&'_ mut (i32)) ; - var@5 -> ⊥ : &'_ mut (&'_ mut (i32)) ; - y -> s@8 : i32 ; - py -> ⊥ : &'_ mut (i32) ; - var@8 -> ⊥ : &'_ mut (i32) ; - var@9 -> ⊥ : bool ; - var@10 -> ⊥ : bool ; - var@11 -> ⊥ : i32 ; - var@12 -> ⊥ : bool ; - var@13 -> ⊥ : bool ; - var@14 -> ⊥ : i32 ; - var@15 -> ⊥ : bool ; - var@16 -> ⊥ : bool ; - var@17 -> ⊥ : i32 ; + Some (var@0) -> ⊥ : () ; + Some (x) -> s@7 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (y) -> s@8 : i32 ; + Some (py) -> ⊥ : &'_ mut (i32) ; + Some (var@8) -> ⊥ : &'_ mut (i32) ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : bool ; + Some (var@11) -> ⊥ : i32 ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : bool ; + Some (var@14) -> ⊥ : i32 ; + Some (var@15) -> ⊥ : bool ; + Some (var@16) -> ⊥ : bool ; + Some (var@17) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] test_function_symbolic: id_mut_mut_test3 +[[32mDebug[39m] +**About to evaluate statement**: [ + x := 0: i32; + px := &mut x; + ppx := &mut px; + var@5 := &two-phase *(ppx); + ppy := move id_mut_mut<i32>(move var@5); + *(*(ppy)) := 1: i32; + var@7 := &two-phase *(ppy); + ppz := move id_mut_mut<i32>(move var@7); + *(*(ppz)) := 2: i32; + var@10 := copy *(px); + var@9 := move var@10 == 2: i32; + var@8 := ¬ move var@9; + assert(¬move var@8); + var@13 := copy x; + var@12 := move var@13 == 2: i32; + var@11 := ¬ move var@12; + assert(¬move var@11); + return +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + x := 0: i32 +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⊥ : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; +} + + +- op: +0: i32 + +[[32mDebug[39m] +**About to evaluate statement**: [ + px := &mut x; + ppx := &mut px; + var@5 := &two-phase *(ppx); + ppy := move id_mut_mut<i32>(move var@5); + *(*(ppy)) := 1: i32; + var@7 := &two-phase *(ppy); + ppz := move id_mut_mut<i32>(move var@7); + *(*(ppz)) := 2: i32; + var@10 := copy *(px); + var@9 := move var@10 == 2: i32; + var@8 := ¬ move var@9; + assert(¬move var@8); + var@13 := copy x; + var@12 := move var@13 == 2: i32; + var@11 := ¬ move var@12; + assert(¬move var@11); + return +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + px := &mut x +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> 0: i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + ppx := &mut px; + var@5 := &two-phase *(ppx); + ppy := move id_mut_mut<i32>(move var@5); + *(*(ppy)) := 1: i32; + var@7 := &two-phase *(ppy); + ppz := move id_mut_mut<i32>(move var@7); + *(*(ppz)) := 2: i32; + var@10 := copy *(px); + var@9 := move var@10 == 2: i32; + var@8 := ¬ move var@9; + assert(¬move var@8); + var@13 := copy x; + var@12 := move var@13 == 2: i32; + var@11 := ¬ move var@12; + assert(¬move var@11); + return +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (0: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + ppx := &mut px +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@0 (0: i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + var@5 := &two-phase *(ppx); + ppy := move id_mut_mut<i32>(move var@5); + *(*(ppy)) := 1: i32; + var@7 := &two-phase *(ppy); + ppz := move id_mut_mut<i32>(move var@7); + *(*(ppz)) := 2: i32; + var@10 := copy *(px); + var@9 := move var@10 == 2: i32; + var@8 := ¬ move var@9; + assert(¬move var@8); + var@13 := copy x; + var@12 := move var@13 == 2: i32; + var@11 := ¬ move var@12; + assert(¬move var@11); + return +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (&mut@0 (0: i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + var@5 := &two-phase *(ppx) +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (&mut@0 (0: i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + ppy := move id_mut_mut<i32>(move var@5); + *(*(ppy)) := 1: i32; + var@7 := &two-phase *(ppy); + ppz := move id_mut_mut<i32>(move var@7); + *(*(ppz)) := 2: i32; + var@10 := copy *(px); + var@9 := move var@10 == 2: i32; + var@8 := ¬ move var@9; + assert(¬move var@8); + var@13 := copy x; + var@12 := move var@13 == 2: i32; + var@11 := ¬ move var@12; + assert(¬move var@11); + return +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (@shared_loan({2}, &mut@0 (0: i32))) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⌊inactivated_mut@2⌋ ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + ppy := move id_mut_mut<i32>(move var@5) +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (@shared_loan({2}, &mut@0 (0: i32))) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⌊inactivated_mut@2⌋ ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] activate_inactivated_mut_borrow: resulting value: +&mut@0 (0: i32) +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> &mut@2 (&mut@0 (0: i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; +} + + +- op: +move var@5 + +[[32mDebug[39m] +**About to evaluate statement**: [ + *(*(ppy)) := 1: i32; + var@7 := &two-phase *(ppy); + ppz := move id_mut_mut<i32>(move var@7); + *(*(ppz)) := 2: i32; + var@10 := copy *(px); + var@9 := move var@10 == 2: i32; + var@8 := ¬ move var@9; + assert(¬move var@8); + var@13 := copy x; + var@12 := move var@13 == 2: i32; + var@11 := ¬ move var@12; + assert(¬move var@11); + return +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> s@0 : &r@0 mut (&r@1 mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + proj_loans (s@0 : &r@0 mut (&r@1 mut (i32))) + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + proj_loans (s@0 : &r@0 mut (&r@1 mut (i32))) + } +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + *(*(ppy)) := 1: i32 +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> s@0 : &r@0 mut (&r@1 mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + proj_loans (s@0 : &r@0 mut (&r@1 mut (i32))) + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + proj_loans (s@0 : &r@0 mut (&r@1 mut (i32))) + } +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> s@0 : &r@0 mut (&r@1 mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + proj_loans (s@0 : &r@0 mut (&r@1 mut (i32))) + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + proj_loans (s@0 : &r@0 mut (&r@1 mut (i32))) + } +} + + +- op: +1: i32 + +[[32mDebug[39m] expand_symbolic_value: s@0 : &r@0 mut (&r@1 mut (i32)) + +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> s@0 : &r@0 mut (&r@1 mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + proj_loans (s@0 : &r@0 mut (&r@1 mut (i32))) + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + proj_loans (s@0 : &r@0 mut (&r@1 mut (i32))) + } + None -> 1: i32 ; +} + + +- new context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (s@1 : &r@1 mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, proj_loans (s@1 : &r@1 mut (i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, proj_loans (s@1 : &r@1 mut (i32))) + } + None -> 1: i32 ; +} + + +[[32mDebug[39m] expand_symbolic_value: s@1 : &r@1 mut (i32) + +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (s@1 : &r@1 mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, proj_loans (s@1 : &r@1 mut (i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, proj_loans (s@1 : &r@1 mut (i32))) + } + None -> 1: i32 ; +} + + +- new context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (&mut@4 (s@2 : i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } + None -> 1: i32 ; +} + + +[[32mDebug[39m] +**About to evaluate statement**: [ + var@7 := &two-phase *(ppy); + ppz := move id_mut_mut<i32>(move var@7); + *(*(ppz)) := 2: i32; + var@10 := copy *(px); + var@9 := move var@10 == 2: i32; + var@8 := ¬ move var@9; + assert(¬move var@8); + var@13 := copy x; + var@12 := move var@13 == 2: i32; + var@11 := ¬ move var@12; + assert(¬move var@11); + return +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (&mut@4 (1: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + var@7 := &two-phase *(ppy) +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (&mut@4 (1: i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + ppz := move id_mut_mut<i32>(move var@7); + *(*(ppz)) := 2: i32; + var@10 := copy *(px); + var@9 := move var@10 == 2: i32; + var@8 := ¬ move var@9; + assert(¬move var@8); + var@13 := copy x; + var@12 := move var@13 == 2: i32; + var@11 := ¬ move var@12; + assert(¬move var@11); + return +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (@shared_loan({5}, &mut@4 (1: i32))) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⌊inactivated_mut@5⌋ ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + ppz := move id_mut_mut<i32>(move var@7) +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (@shared_loan({5}, &mut@4 (1: i32))) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⌊inactivated_mut@5⌋ ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } +} + + + +[[32mDebug[39m] activate_inactivated_mut_borrow: resulting value: +&mut@4 (1: i32) +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> &mut@5 (&mut@4 (1: i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } +} + + +- op: +move var@7 + +[[32mDebug[39m] +**About to evaluate statement**: [ + *(*(ppz)) := 2: i32; + var@10 := copy *(px); + var@9 := move var@10 == 2: i32; + var@8 := ¬ move var@9; + assert(¬move var@8); + var@13 := copy x; + var@12 := move var@13 == 2: i32; + var@11 := ¬ move var@12; + assert(¬move var@11); + return +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> s@3 : &r@2 mut (&r@3 mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } + abs@2{parents={}}{regions={2}} { + &mut@5 (@ignored_mut_borrow(None, 1: i32)), + proj_loans (s@3 : &r@2 mut (&r@3 mut (i32))) + } + abs@3{parents={2}}{regions={3}} { + @ignored_mut_borrow(Some (5), &mut@4 (1: i32)), + proj_loans (s@3 : &r@2 mut (&r@3 mut (i32))) + } +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + *(*(ppz)) := 2: i32 +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> s@3 : &r@2 mut (&r@3 mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } + abs@2{parents={}}{regions={2}} { + &mut@5 (@ignored_mut_borrow(None, 1: i32)), + proj_loans (s@3 : &r@2 mut (&r@3 mut (i32))) + } + abs@3{parents={2}}{regions={3}} { + @ignored_mut_borrow(Some (5), &mut@4 (1: i32)), + proj_loans (s@3 : &r@2 mut (&r@3 mut (i32))) + } +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> s@3 : &r@2 mut (&r@3 mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } + abs@2{parents={}}{regions={2}} { + &mut@5 (@ignored_mut_borrow(None, 1: i32)), + proj_loans (s@3 : &r@2 mut (&r@3 mut (i32))) + } + abs@3{parents={2}}{regions={3}} { + @ignored_mut_borrow(Some (5), &mut@4 (1: i32)), + proj_loans (s@3 : &r@2 mut (&r@3 mut (i32))) + } +} + + +- op: +2: i32 + +[[32mDebug[39m] expand_symbolic_value: s@3 : &r@2 mut (&r@3 mut (i32)) + +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> s@3 : &r@2 mut (&r@3 mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } + abs@2{parents={}}{regions={2}} { + &mut@5 (@ignored_mut_borrow(None, 1: i32)), + proj_loans (s@3 : &r@2 mut (&r@3 mut (i32))) + } + abs@3{parents={2}}{regions={3}} { + @ignored_mut_borrow(Some (5), &mut@4 (1: i32)), + proj_loans (s@3 : &r@2 mut (&r@3 mut (i32))) + } + None -> 2: i32 ; +} + + +- new context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> &mut@6 (s@4 : &r@3 mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } + abs@2{parents={}}{regions={2}} { + &mut@5 (@ignored_mut_borrow(None, 1: i32)), + ⌊mut@6, proj_loans (s@4 : &r@3 mut (i32))⌋ + } + abs@3{parents={2}}{regions={3}} { + @ignored_mut_borrow(Some (5), &mut@4 (1: i32)), + @ignored_mut_loan(6, proj_loans (s@4 : &r@3 mut (i32))) + } + None -> 2: i32 ; +} + + +[[32mDebug[39m] expand_symbolic_value: s@4 : &r@3 mut (i32) + +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> &mut@6 (s@4 : &r@3 mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } + abs@2{parents={}}{regions={2}} { + &mut@5 (@ignored_mut_borrow(None, 1: i32)), + ⌊mut@6, proj_loans (s@4 : &r@3 mut (i32))⌋ + } + abs@3{parents={2}}{regions={3}} { + @ignored_mut_borrow(Some (5), &mut@4 (1: i32)), + @ignored_mut_loan(6, proj_loans (s@4 : &r@3 mut (i32))) + } + None -> 2: i32 ; +} + + +- new context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> &mut@6 (&mut@7 (s@5 : i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } + abs@2{parents={}}{regions={2}} { + &mut@5 (@ignored_mut_borrow(None, 1: i32)), + ⌊mut@6, @ignored_mut_loan(7, proj_loans (s@5 : i32))⌋ + } + abs@3{parents={2}}{regions={3}} { + @ignored_mut_borrow(Some (5), &mut@4 (1: i32)), + @ignored_mut_loan(6, ⌊mut@7, proj_loans (s@5 : i32)⌋) + } + None -> 2: i32 ; +} + + +[[32mDebug[39m] +**About to evaluate statement**: [ + var@10 := copy *(px); + var@9 := move var@10 == 2: i32; + var@8 := ¬ move var@9; + assert(¬move var@8); + var@13 := copy x; + var@12 := move var@13 == 2: i32; + var@11 := ¬ move var@12; + assert(¬move var@11); + return +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> &mut@6 (&mut@7 (2: i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } + abs@2{parents={}}{regions={2}} { + &mut@5 (@ignored_mut_borrow(None, 1: i32)), + ⌊mut@6, @ignored_mut_loan(7, proj_loans (s@5 : i32))⌋ + } + abs@3{parents={2}}{regions={3}} { + @ignored_mut_borrow(Some (5), &mut@4 (1: i32)), + @ignored_mut_loan(6, ⌊mut@7, proj_loans (s@5 : i32)⌋) + } +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + var@10 := copy *(px) +] + +**Context**: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> &mut@6 (&mut@7 (2: i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } + abs@2{parents={}}{regions={2}} { + &mut@5 (@ignored_mut_borrow(None, 1: i32)), + ⌊mut@6, @ignored_mut_loan(7, proj_loans (s@5 : i32))⌋ + } + abs@3{parents={2}}{regions={3}} { + @ignored_mut_borrow(Some (5), &mut@4 (1: i32)), + @ignored_mut_loan(6, ⌊mut@7, proj_loans (s@5 : i32)⌋) + } +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> &mut@6 (&mut@7 (2: i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } + abs@2{parents={}}{regions={2}} { + &mut@5 (@ignored_mut_borrow(None, 1: i32)), + ⌊mut@6, @ignored_mut_loan(7, proj_loans (s@5 : i32))⌋ + } + abs@3{parents={2}}{regions={3}} { + @ignored_mut_borrow(Some (5), &mut@4 (1: i32)), + @ignored_mut_loan(6, ⌊mut@7, proj_loans (s@5 : i32)⌋) + } +} + + +- op: +copy *(px) + +[[32mDebug[39m] end borrow: 1: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> &mut@6 (&mut@7 (2: i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } + abs@2{parents={}}{regions={2}} { + &mut@5 (@ignored_mut_borrow(None, 1: i32)), + ⌊mut@6, @ignored_mut_loan(7, proj_loans (s@5 : i32))⌋ + } + abs@3{parents={2}}{regions={3}} { + @ignored_mut_borrow(Some (5), &mut@4 (1: i32)), + @ignored_mut_loan(6, ⌊mut@7, proj_loans (s@5 : i32)⌋) + } +} + +[[32mDebug[39m] end borrow: 1: found outer borrows/abs:(InterpreterBorrowsCore.InnerLoans (InterpreterBorrowsCore.Borrow 2)) +[[32mDebug[39m] end borrow: 2: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> &mut@6 (&mut@7 (2: i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } + abs@2{parents={}}{regions={2}} { + &mut@5 (@ignored_mut_borrow(None, 1: i32)), + ⌊mut@6, @ignored_mut_loan(7, proj_loans (s@5 : i32))⌋ + } + abs@3{parents={2}}{regions={3}} { + @ignored_mut_borrow(Some (5), &mut@4 (1: i32)), + @ignored_mut_loan(6, ⌊mut@7, proj_loans (s@5 : i32)⌋) + } +} + +[[32mDebug[39m] end borrow: 2: found outer borrows/abs:(InterpreterBorrowsCore.OuterAbs 0) +[[32mDebug[39m] end_abstraction: 0 +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> &mut@6 (&mut@7 (2: i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } + abs@2{parents={}}{regions={2}} { + &mut@5 (@ignored_mut_borrow(None, 1: i32)), + ⌊mut@6, @ignored_mut_loan(7, proj_loans (s@5 : i32))⌋ + } + abs@3{parents={2}}{regions={3}} { + @ignored_mut_borrow(Some (5), &mut@4 (1: i32)), + @ignored_mut_loan(6, ⌊mut@7, proj_loans (s@5 : i32)⌋) + } +} + +[[32mDebug[39m] end_abstraction: 0 +- context after parent abstractions ended: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> &mut@6 (&mut@7 (2: i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } + abs@2{parents={}}{regions={2}} { + &mut@5 (@ignored_mut_borrow(None, 1: i32)), + ⌊mut@6, @ignored_mut_loan(7, proj_loans (s@5 : i32))⌋ + } + abs@3{parents={2}}{regions={3}} { + @ignored_mut_borrow(Some (5), &mut@4 (1: i32)), + @ignored_mut_loan(6, ⌊mut@7, proj_loans (s@5 : i32)⌋) + } +} + +[[32mDebug[39m] end borrow: 3: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> &mut@6 (&mut@7 (2: i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } + abs@2{parents={}}{regions={2}} { + &mut@5 (@ignored_mut_borrow(None, 1: i32)), + ⌊mut@6, @ignored_mut_loan(7, proj_loans (s@5 : i32))⌋ + } + abs@3{parents={2}}{regions={3}} { + @ignored_mut_borrow(Some (5), &mut@4 (1: i32)), + @ignored_mut_loan(6, ⌊mut@7, proj_loans (s@5 : i32)⌋) + } +} + +[[32mDebug[39m] end borrow: 3: found outer borrows/abs:(InterpreterBorrowsCore.InnerLoans (InterpreterBorrowsCore.Borrow 5)) +[[32mDebug[39m] end borrow: 5: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> &mut@6 (&mut@7 (2: i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } + abs@2{parents={}}{regions={2}} { + &mut@5 (@ignored_mut_borrow(None, 1: i32)), + ⌊mut@6, @ignored_mut_loan(7, proj_loans (s@5 : i32))⌋ + } + abs@3{parents={2}}{regions={3}} { + @ignored_mut_borrow(Some (5), &mut@4 (1: i32)), + @ignored_mut_loan(6, ⌊mut@7, proj_loans (s@5 : i32)⌋) + } +} + +[[32mDebug[39m] end borrow: 5: found outer borrows/abs:(InterpreterBorrowsCore.OuterAbs 2) +[[32mDebug[39m] end_abstraction: 2 +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> &mut@6 (&mut@7 (2: i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } + abs@2{parents={}}{regions={2}} { + &mut@5 (@ignored_mut_borrow(None, 1: i32)), + ⌊mut@6, @ignored_mut_loan(7, proj_loans (s@5 : i32))⌋ + } + abs@3{parents={2}}{regions={3}} { + @ignored_mut_borrow(Some (5), &mut@4 (1: i32)), + @ignored_mut_loan(6, ⌊mut@7, proj_loans (s@5 : i32)⌋) + } +} + +[[32mDebug[39m] end_abstraction: 2 +- context after parent abstractions ended: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> &mut@6 (&mut@7 (2: i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } + abs@2{parents={}}{regions={2}} { + &mut@5 (@ignored_mut_borrow(None, 1: i32)), + ⌊mut@6, @ignored_mut_loan(7, proj_loans (s@5 : i32))⌋ + } + abs@3{parents={2}}{regions={3}} { + @ignored_mut_borrow(Some (5), &mut@4 (1: i32)), + @ignored_mut_loan(6, ⌊mut@7, proj_loans (s@5 : i32)⌋) + } +} + +[[32mDebug[39m] end borrow: 6: +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> &mut@6 (&mut@7 (2: i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } + abs@2{parents={}}{regions={2}} { + &mut@5 (@ignored_mut_borrow(None, 1: i32)), + ⌊mut@6, @ignored_mut_loan(7, proj_loans (s@5 : i32))⌋ + } + abs@3{parents={2}}{regions={3}} { + @ignored_mut_borrow(Some (5), &mut@4 (1: i32)), + @ignored_mut_loan(6, ⌊mut@7, proj_loans (s@5 : i32)⌋) + } +} + +[[32mDebug[39m] give_back: +- bid: 6 +- content: &mut@6 (&mut@7 (2: i32)) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } + abs@2{parents={}}{regions={2}} { + &mut@5 (@ignored_mut_borrow(None, 1: i32)), + ⌊mut@6, @ignored_mut_loan(7, proj_loans (s@5 : i32))⌋ + } + abs@3{parents={2}}{regions={3}} { + @ignored_mut_borrow(Some (5), &mut@4 (1: i32)), + @ignored_mut_loan(6, ⌊mut@7, proj_loans (s@5 : i32)⌋) + } +} + + +[[32mDebug[39m] give_back_value: +- bid: 6 +- value: &mut@7 (2: i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } + abs@2{parents={}}{regions={2}} { + &mut@5 (@ignored_mut_borrow(None, 1: i32)), + ⌊mut@6, @ignored_mut_loan(7, proj_loans (s@5 : i32))⌋ + } + abs@3{parents={2}}{regions={3}} { + @ignored_mut_borrow(Some (5), &mut@4 (1: i32)), + @ignored_mut_loan(6, ⌊mut@7, proj_loans (s@5 : i32)⌋) + } +} + + +[[32mDebug[39m] end_abstraction: 2 +- context after loans ended: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } + abs@2{parents={}}{regions={2}} { + &mut@5 (@ignored_mut_borrow(None, 1: i32)), + @ended_mut_loan{ given_back=@ignored_mut_borrow(None, 2: i32); child=@ignored_mut_loan(7, proj_loans (s@5 : i32)) } + } + abs@3{parents={2}}{regions={3}} { + @ignored_mut_borrow(Some (5), &mut@4 (1: i32)), + @ended_ignored_mut_loan{ given_back=&mut@7 (2: i32); child: ⌊mut@7, proj_loans (s@5 : i32)⌋} + } +} + +[[32mDebug[39m] give_back_value: +- bid: 5 +- value: s@6 : &r@3 mut (i32) +- context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } + abs@2{parents={}}{regions={2}} { + ⊥ : &r@2 mut (&r@3 mut (i32)), + @ended_mut_loan{ given_back=@ignored_mut_borrow(None, 2: i32); child=@ignored_mut_loan(7, proj_loans (s@5 : i32)) } + } + abs@3{parents={2}}{regions={3}} { + @ignored_mut_borrow(Some (5), &mut@4 (1: i32)), + @ended_ignored_mut_loan{ given_back=&mut@7 (2: i32); child: ⌊mut@7, proj_loans (s@5 : i32)⌋} + } +} + + +[[32mDebug[39m] end_abstraction: 2 +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> &mut@6 (&mut@7 (2: i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } + abs@2{parents={}}{regions={2}} { + &mut@5 (@ignored_mut_borrow(None, 1: i32)), + ⌊mut@6, @ignored_mut_loan(7, proj_loans (s@5 : i32))⌋ + } + abs@3{parents={2}}{regions={3}} { + @ignored_mut_borrow(Some (5), &mut@4 (1: i32)), + @ignored_mut_loan(6, ⌊mut@7, proj_loans (s@5 : i32)⌋) + } +} + + +- new context: +# Ended regions: {2} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (s@6 : &r@3 mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } + abs@3{parents={}}{regions={3}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@6 : &r@3 mut (i32)); child=&mut@4 (1: i32)), + @ended_ignored_mut_loan{ given_back=&mut@7 (2: i32); child: ⌊mut@7, proj_loans (s@5 : i32)⌋} + } +} + +[[32mDebug[39m] end borrow: 3: +- original context: +# Ended regions: {2} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (s@6 : &r@3 mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } + abs@3{parents={}}{regions={3}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@6 : &r@3 mut (i32)); child=&mut@4 (1: i32)), + @ended_ignored_mut_loan{ given_back=&mut@7 (2: i32); child: ⌊mut@7, proj_loans (s@5 : i32)⌋} + } +} + +[[32mDebug[39m] give_back: +- bid: 3 +- content: &mut@3 (s@6 : &r@3 mut (i32)) +- context: +# Ended regions: {2} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } + abs@3{parents={}}{regions={3}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@6 : &r@3 mut (i32)); child=&mut@4 (1: i32)), + @ended_ignored_mut_loan{ given_back=&mut@7 (2: i32); child: ⌊mut@7, proj_loans (s@5 : i32)⌋} + } +} + + +[[32mDebug[39m] give_back_value: +- bid: 3 +- value: s@6 : &r@3 mut (i32) +- context: +# Ended regions: {2} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } + abs@3{parents={}}{regions={3}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@6 : &r@3 mut (i32)); child=&mut@4 (1: i32)), + @ended_ignored_mut_loan{ given_back=&mut@7 (2: i32); child: ⌊mut@7, proj_loans (s@5 : i32)⌋} + } +} + + +[[32mDebug[39m] end_abstraction: 0 +- context after loans ended: +# Ended regions: {2} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + @ended_mut_loan{ given_back=proj_borrows (s@6 : &r@3 mut (i32) <: &r@1 mut (i32)); child=@ignored_mut_loan(4, proj_loans (s@2 : i32)) } + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=proj_borrows (s@6 : &r@3 mut (i32) <: &r@1 mut (i32)); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } + abs@3{parents={}}{regions={3}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@6 : &r@3 mut (i32)); child=&mut@4 (1: i32)), + @ended_ignored_mut_loan{ given_back=&mut@7 (2: i32); child: ⌊mut@7, proj_loans (s@5 : i32)⌋} + } +} + +[[32mDebug[39m] give_back_value: +- bid: 2 +- value: s@7 : &r@1 mut (i32) +- context: +# Ended regions: {2} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + ⊥ : &r@0 mut (&r@1 mut (i32)), + @ended_mut_loan{ given_back=proj_borrows (s@6 : &r@3 mut (i32) <: &r@1 mut (i32)); child=@ignored_mut_loan(4, proj_loans (s@2 : i32)) } + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=proj_borrows (s@6 : &r@3 mut (i32) <: &r@1 mut (i32)); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } + abs@3{parents={}}{regions={3}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@6 : &r@3 mut (i32)); child=&mut@4 (1: i32)), + @ended_ignored_mut_loan{ given_back=&mut@7 (2: i32); child: ⌊mut@7, proj_loans (s@5 : i32)⌋} + } +} + + +[[32mDebug[39m] end_abstraction: 0 +- original context: +# Ended regions: {} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (⌊mut@2⌋) ; + Some (ppy) -> &mut@3 (⌊mut@5⌋) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> &mut@6 (&mut@7 (2: i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@0{parents={}}{regions={0}} { + &mut@2 (@ignored_mut_borrow(None, 0: i32)), + ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ + } + abs@1{parents={0}}{regions={1}} { + @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), + @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) + } + abs@2{parents={}}{regions={2}} { + &mut@5 (@ignored_mut_borrow(None, 1: i32)), + ⌊mut@6, @ignored_mut_loan(7, proj_loans (s@5 : i32))⌋ + } + abs@3{parents={2}}{regions={3}} { + @ignored_mut_borrow(Some (5), &mut@4 (1: i32)), + @ignored_mut_loan(6, ⌊mut@7, proj_loans (s@5 : i32)⌋) + } +} + + +- new context: +# Ended regions: {0, 2} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (s@7 : &r@1 mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@7 : &r@1 mut (i32)); child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=proj_borrows (s@6 : &r@3 mut (i32) <: &r@1 mut (i32)); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } + abs@3{parents={}}{regions={3}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@6 : &r@3 mut (i32)); child=&mut@4 (1: i32)), + @ended_ignored_mut_loan{ given_back=&mut@7 (2: i32); child: ⌊mut@7, proj_loans (s@5 : i32)⌋} + } +} + +[[32mDebug[39m] end borrow: 1: +- original context: +# Ended regions: {0, 2} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> &mut@1 (s@7 : &r@1 mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@7 : &r@1 mut (i32)); child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=proj_borrows (s@6 : &r@3 mut (i32) <: &r@1 mut (i32)); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } + abs@3{parents={}}{regions={3}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@6 : &r@3 mut (i32)); child=&mut@4 (1: i32)), + @ended_ignored_mut_loan{ given_back=&mut@7 (2: i32); child: ⌊mut@7, proj_loans (s@5 : i32)⌋} + } +} + +[[32mDebug[39m] give_back: +- bid: 1 +- content: &mut@1 (s@7 : &r@1 mut (i32)) +- context: +# Ended regions: {0, 2} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@7 : &r@1 mut (i32)); child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=proj_borrows (s@6 : &r@3 mut (i32) <: &r@1 mut (i32)); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } + abs@3{parents={}}{regions={3}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@6 : &r@3 mut (i32)); child=&mut@4 (1: i32)), + @ended_ignored_mut_loan{ given_back=&mut@7 (2: i32); child: ⌊mut@7, proj_loans (s@5 : i32)⌋} + } +} + + +[[32mDebug[39m] give_back_value: +- bid: 1 +- value: s@7 : &r@1 mut (i32) +- context: +# Ended regions: {0, 2} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⌊mut@1⌋ ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@7 : &r@1 mut (i32)); child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=proj_borrows (s@6 : &r@3 mut (i32) <: &r@1 mut (i32)); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } + abs@3{parents={}}{regions={3}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@6 : &r@3 mut (i32)); child=&mut@4 (1: i32)), + @ended_ignored_mut_loan{ given_back=&mut@7 (2: i32); child: ⌊mut@7, proj_loans (s@5 : i32)⌋} + } +} + + +[[32mDebug[39m] expand_symbolic_value: s@7 : &r@1 mut (i32) + +- original context: +# Ended regions: {0, 2} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> s@7 : &r@1 mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@7 : &r@1 mut (i32)); child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=proj_borrows (s@6 : &r@3 mut (i32) <: &r@1 mut (i32)); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } + abs@3{parents={}}{regions={3}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@6 : &r@3 mut (i32)); child=&mut@4 (1: i32)), + @ended_ignored_mut_loan{ given_back=&mut@7 (2: i32); child: ⌊mut@7, proj_loans (s@5 : i32)⌋} + } +} + + +- new context: +# Ended regions: {0, 2} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@8 (s@8 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@8, proj_loans (s@8 : i32)⌋; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=proj_borrows (s@6 : &r@3 mut (i32) <: &r@1 mut (i32)); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } + abs@3{parents={}}{regions={3}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@6 : &r@3 mut (i32)); child=&mut@4 (1: i32)), + @ended_ignored_mut_loan{ given_back=&mut@7 (2: i32); child: ⌊mut@7, proj_loans (s@5 : i32)⌋} + } +} + + +[[32mDebug[39m] +**About to evaluate statement**: [ + var@9 := move var@10 == 2: i32; + var@8 := ¬ move var@9; + assert(¬move var@8); + var@13 := copy x; + var@12 := move var@13 == 2: i32; + var@11 := ¬ move var@12; + assert(¬move var@11); + return +] + +**Context**: +# Ended regions: {0, 2} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@8 (s@8 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> s@8 : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@8, proj_loans (s@8 : i32)⌋; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=proj_borrows (s@6 : &r@3 mut (i32) <: &r@1 mut (i32)); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } + abs@3{parents={}}{regions={3}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@6 : &r@3 mut (i32)); child=&mut@4 (1: i32)), + @ended_ignored_mut_loan{ given_back=&mut@7 (2: i32); child: ⌊mut@7, proj_loans (s@5 : i32)⌋} + } +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + var@9 := move var@10 == 2: i32 +] + +**Context**: +# Ended regions: {0, 2} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@8 (s@8 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> s@8 : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@8, proj_loans (s@8 : i32)⌋; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=proj_borrows (s@6 : &r@3 mut (i32) <: &r@1 mut (i32)); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } + abs@3{parents={}}{regions={3}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@6 : &r@3 mut (i32)); child=&mut@4 (1: i32)), + @ended_ignored_mut_loan{ given_back=&mut@7 (2: i32); child: ⌊mut@7, proj_loans (s@5 : i32)⌋} + } +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0, 2} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@8 (s@8 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> s@8 : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@8, proj_loans (s@8 : i32)⌋; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=proj_borrows (s@6 : &r@3 mut (i32) <: &r@1 mut (i32)); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } + abs@3{parents={}}{regions={3}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@6 : &r@3 mut (i32)); child=&mut@4 (1: i32)), + @ended_ignored_mut_loan{ given_back=&mut@7 (2: i32); child: ⌊mut@7, proj_loans (s@5 : i32)⌋} + } +} + + +- op: +move var@10 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0, 2} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@8 (s@8 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@8, proj_loans (s@8 : i32)⌋; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=proj_borrows (s@6 : &r@3 mut (i32) <: &r@1 mut (i32)); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } + abs@3{parents={}}{regions={3}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@6 : &r@3 mut (i32)); child=&mut@4 (1: i32)), + @ended_ignored_mut_loan{ given_back=&mut@7 (2: i32); child: ⌊mut@7, proj_loans (s@5 : i32)⌋} + } +} + + +- op: +2: i32 + +[[32mDebug[39m] +**About to evaluate statement**: [ + var@8 := ¬ move var@9; + assert(¬move var@8); + var@13 := copy x; + var@12 := move var@13 == 2: i32; + var@11 := ¬ move var@12; + assert(¬move var@11); + return +] + +**Context**: +# Ended regions: {0, 2} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@8 (s@8 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> s@9 : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@8, proj_loans (s@8 : i32)⌋; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=proj_borrows (s@6 : &r@3 mut (i32) <: &r@1 mut (i32)); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } + abs@3{parents={}}{regions={3}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@6 : &r@3 mut (i32)); child=&mut@4 (1: i32)), + @ended_ignored_mut_loan{ given_back=&mut@7 (2: i32); child: ⌊mut@7, proj_loans (s@5 : i32)⌋} + } +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + var@8 := ¬ move var@9 +] + +**Context**: +# Ended regions: {0, 2} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@8 (s@8 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> s@9 : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@8, proj_loans (s@8 : i32)⌋; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=proj_borrows (s@6 : &r@3 mut (i32) <: &r@1 mut (i32)); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } + abs@3{parents={}}{regions={3}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@6 : &r@3 mut (i32)); child=&mut@4 (1: i32)), + @ended_ignored_mut_loan{ given_back=&mut@7 (2: i32); child: ⌊mut@7, proj_loans (s@5 : i32)⌋} + } +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0, 2} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@8 (s@8 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> s@9 : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@8, proj_loans (s@8 : i32)⌋; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=proj_borrows (s@6 : &r@3 mut (i32) <: &r@1 mut (i32)); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } + abs@3{parents={}}{regions={3}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@6 : &r@3 mut (i32)); child=&mut@4 (1: i32)), + @ended_ignored_mut_loan{ given_back=&mut@7 (2: i32); child: ⌊mut@7, proj_loans (s@5 : i32)⌋} + } +} + + +- op: +move var@9 + +[[32mDebug[39m] +**About to evaluate statement**: [ + assert(¬move var@8); + var@13 := copy x; + var@12 := move var@13 == 2: i32; + var@11 := ¬ move var@12; + assert(¬move var@11); + return +] + +**Context**: +# Ended regions: {0, 2} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@8 (s@8 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> s@10 : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@8, proj_loans (s@8 : i32)⌋; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=proj_borrows (s@6 : &r@3 mut (i32) <: &r@1 mut (i32)); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } + abs@3{parents={}}{regions={3}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@6 : &r@3 mut (i32)); child=&mut@4 (1: i32)), + @ended_ignored_mut_loan{ given_back=&mut@7 (2: i32); child: ⌊mut@7, proj_loans (s@5 : i32)⌋} + } +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + assert(¬move var@8) +] + +**Context**: +# Ended regions: {0, 2} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@8 (s@8 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> s@10 : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@8, proj_loans (s@8 : i32)⌋; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=proj_borrows (s@6 : &r@3 mut (i32) <: &r@1 mut (i32)); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } + abs@3{parents={}}{regions={3}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@6 : &r@3 mut (i32)); child=&mut@4 (1: i32)), + @ended_ignored_mut_loan{ given_back=&mut@7 (2: i32); child: ⌊mut@7, proj_loans (s@5 : i32)⌋} + } +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0, 2} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@8 (s@8 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> true ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@8, proj_loans (s@8 : i32)⌋; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=proj_borrows (s@6 : &r@3 mut (i32) <: &r@1 mut (i32)); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } + abs@3{parents={}}{regions={3}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@6 : &r@3 mut (i32)); child=&mut@4 (1: i32)), + @ended_ignored_mut_loan{ given_back=&mut@7 (2: i32); child: ⌊mut@7, proj_loans (s@5 : i32)⌋} + } +} + + +- op: +move var@8 + +[[32mDebug[39m] +**About to evaluate statement**: [ + var@13 := copy x; + var@12 := move var@13 == 2: i32; + var@11 := ¬ move var@12; + assert(¬move var@11); + return +] + +**Context**: +# Ended regions: {0, 2} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@8 (s@8 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@8, proj_loans (s@8 : i32)⌋; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=proj_borrows (s@6 : &r@3 mut (i32) <: &r@1 mut (i32)); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } + abs@3{parents={}}{regions={3}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@6 : &r@3 mut (i32)); child=&mut@4 (1: i32)), + @ended_ignored_mut_loan{ given_back=&mut@7 (2: i32); child: ⌊mut@7, proj_loans (s@5 : i32)⌋} + } +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + var@13 := copy x +] + +**Context**: +# Ended regions: {0, 2} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@8 (s@8 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@8, proj_loans (s@8 : i32)⌋; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=proj_borrows (s@6 : &r@3 mut (i32) <: &r@1 mut (i32)); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } + abs@3{parents={}}{regions={3}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@6 : &r@3 mut (i32)); child=&mut@4 (1: i32)), + @ended_ignored_mut_loan{ given_back=&mut@7 (2: i32); child: ⌊mut@7, proj_loans (s@5 : i32)⌋} + } +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0, 2} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@8 (s@8 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@8, proj_loans (s@8 : i32)⌋; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=proj_borrows (s@6 : &r@3 mut (i32) <: &r@1 mut (i32)); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } + abs@3{parents={}}{regions={3}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@6 : &r@3 mut (i32)); child=&mut@4 (1: i32)), + @ended_ignored_mut_loan{ given_back=&mut@7 (2: i32); child: ⌊mut@7, proj_loans (s@5 : i32)⌋} + } +} + + +- op: +copy x + +[[32mDebug[39m] end borrow: 0: +- original context: +# Ended regions: {0, 2} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@8 (s@8 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@8, proj_loans (s@8 : i32)⌋; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=proj_borrows (s@6 : &r@3 mut (i32) <: &r@1 mut (i32)); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } + abs@3{parents={}}{regions={3}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@6 : &r@3 mut (i32)); child=&mut@4 (1: i32)), + @ended_ignored_mut_loan{ given_back=&mut@7 (2: i32); child: ⌊mut@7, proj_loans (s@5 : i32)⌋} + } +} + +[[32mDebug[39m] end borrow: 0: found outer borrows/abs:(InterpreterBorrowsCore.OuterAbs 1) +[[32mDebug[39m] end_abstraction: 1 +- original context: +# Ended regions: {0, 2} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@8 (s@8 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@8, proj_loans (s@8 : i32)⌋; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=proj_borrows (s@6 : &r@3 mut (i32) <: &r@1 mut (i32)); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } + abs@3{parents={}}{regions={3}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@6 : &r@3 mut (i32)); child=&mut@4 (1: i32)), + @ended_ignored_mut_loan{ given_back=&mut@7 (2: i32); child: ⌊mut@7, proj_loans (s@5 : i32)⌋} + } +} + +[[32mDebug[39m] end_abstraction: 1 +- context after parent abstractions ended: +# Ended regions: {0, 2} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@8 (s@8 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@8, proj_loans (s@8 : i32)⌋; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=proj_borrows (s@6 : &r@3 mut (i32) <: &r@1 mut (i32)); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } + abs@3{parents={}}{regions={3}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@6 : &r@3 mut (i32)); child=&mut@4 (1: i32)), + @ended_ignored_mut_loan{ given_back=&mut@7 (2: i32); child: ⌊mut@7, proj_loans (s@5 : i32)⌋} + } +} + +[[32mDebug[39m] end borrow: 8: +- original context: +# Ended regions: {0, 2} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@8 (s@8 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@8, proj_loans (s@8 : i32)⌋; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=proj_borrows (s@6 : &r@3 mut (i32) <: &r@1 mut (i32)); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } + abs@3{parents={}}{regions={3}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@6 : &r@3 mut (i32)); child=&mut@4 (1: i32)), + @ended_ignored_mut_loan{ given_back=&mut@7 (2: i32); child: ⌊mut@7, proj_loans (s@5 : i32)⌋} + } +} + +[[32mDebug[39m] give_back: +- bid: 8 +- content: &mut@8 (s@8 : i32) +- context: +# Ended regions: {0, 2} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@8, proj_loans (s@8 : i32)⌋; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=proj_borrows (s@6 : &r@3 mut (i32) <: &r@1 mut (i32)); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } + abs@3{parents={}}{regions={3}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@6 : &r@3 mut (i32)); child=&mut@4 (1: i32)), + @ended_ignored_mut_loan{ given_back=&mut@7 (2: i32); child: ⌊mut@7, proj_loans (s@5 : i32)⌋} + } +} + + +[[32mDebug[39m] give_back_value: +- bid: 8 +- value: s@8 : i32 +- context: +# Ended regions: {0, 2} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@8, proj_loans (s@8 : i32)⌋; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=proj_borrows (s@6 : &r@3 mut (i32) <: &r@1 mut (i32)); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } + abs@3{parents={}}{regions={3}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@6 : &r@3 mut (i32)); child=&mut@4 (1: i32)), + @ended_ignored_mut_loan{ given_back=&mut@7 (2: i32); child: ⌊mut@7, proj_loans (s@5 : i32)⌋} + } +} + + +[[32mDebug[39m] end borrow: 4: +- original context: +# Ended regions: {0, 2} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=@ended_mut_loan{ given_back=proj_borrows (s@8 : i32 <: i32); child=proj_loans (s@8 : i32) }; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=proj_borrows (s@6 : &r@3 mut (i32) <: &r@1 mut (i32)); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } + abs@3{parents={}}{regions={3}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@6 : &r@3 mut (i32)); child=&mut@4 (1: i32)), + @ended_ignored_mut_loan{ given_back=&mut@7 (2: i32); child: ⌊mut@7, proj_loans (s@5 : i32)⌋} + } +} + +[[32mDebug[39m] end borrow: 4: found outer borrows/abs:(InterpreterBorrowsCore.OuterAbs 3) +[[32mDebug[39m] end_abstraction: 3 +- original context: +# Ended regions: {0, 2} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=@ended_mut_loan{ given_back=proj_borrows (s@8 : i32 <: i32); child=proj_loans (s@8 : i32) }; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=proj_borrows (s@6 : &r@3 mut (i32) <: &r@1 mut (i32)); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } + abs@3{parents={}}{regions={3}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@6 : &r@3 mut (i32)); child=&mut@4 (1: i32)), + @ended_ignored_mut_loan{ given_back=&mut@7 (2: i32); child: ⌊mut@7, proj_loans (s@5 : i32)⌋} + } +} + +[[32mDebug[39m] end_abstraction: 3 +- context after parent abstractions ended: +# Ended regions: {0, 2} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=@ended_mut_loan{ given_back=proj_borrows (s@8 : i32 <: i32); child=proj_loans (s@8 : i32) }; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=proj_borrows (s@6 : &r@3 mut (i32) <: &r@1 mut (i32)); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } + abs@3{parents={}}{regions={3}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@6 : &r@3 mut (i32)); child=&mut@4 (1: i32)), + @ended_ignored_mut_loan{ given_back=&mut@7 (2: i32); child: ⌊mut@7, proj_loans (s@5 : i32)⌋} + } +} + +[[32mDebug[39m] end borrow: 7: +- original context: +# Ended regions: {0, 2} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=@ended_mut_loan{ given_back=proj_borrows (s@8 : i32 <: i32); child=proj_loans (s@8 : i32) }; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=proj_borrows (s@6 : &r@3 mut (i32) <: &r@1 mut (i32)); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } + abs@3{parents={}}{regions={3}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@6 : &r@3 mut (i32)); child=&mut@4 (1: i32)), + @ended_ignored_mut_loan{ given_back=&mut@7 (2: i32); child: ⌊mut@7, proj_loans (s@5 : i32)⌋} + } +} + +[[32mDebug[39m] end borrow: 7: found outer borrows/abs:(InterpreterBorrowsCore.OuterAbs 3) +[[32mDebug[39m] end borrow: 7: +- original context: +# Ended regions: {0, 2} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=@ended_mut_loan{ given_back=proj_borrows (s@8 : i32 <: i32); child=proj_loans (s@8 : i32) }; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=proj_borrows (s@6 : &r@3 mut (i32) <: &r@1 mut (i32)); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } + abs@3{parents={}}{regions={3}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@6 : &r@3 mut (i32)); child=&mut@4 (1: i32)), + @ended_ignored_mut_loan{ given_back=&mut@7 (2: i32); child: ⌊mut@7, proj_loans (s@5 : i32)⌋} + } +} + +[[32mDebug[39m] give_back: +- bid: 7 +- content: &mut@7 (2: i32) +- context: +# Ended regions: {0, 2} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=@ended_mut_loan{ given_back=proj_borrows (s@8 : i32 <: i32); child=proj_loans (s@8 : i32) }; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=proj_borrows (s@6 : &r@3 mut (i32) <: &r@1 mut (i32)); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } + abs@3{parents={}}{regions={3}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@6 : &r@3 mut (i32)); child=&mut@4 (1: i32)), + @ended_ignored_mut_loan{ given_back=⊥ : &r@3 mut (i32); child: ⌊mut@7, proj_loans (s@5 : i32)⌋} + } +} + + +[[32mDebug[39m] end_abstraction: 3 +- context after loans ended: +# Ended regions: {0, 2} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=@ended_mut_loan{ given_back=proj_borrows (s@8 : i32 <: i32); child=proj_loans (s@8 : i32) }; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=proj_borrows (s@6 : &r@3 mut (i32) <: &r@1 mut (i32)); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } + abs@3{parents={}}{regions={3}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@6 : &r@3 mut (i32)); child=&mut@4 (1: i32)), + @ended_ignored_mut_loan{ given_back=⊥ : &r@3 mut (i32); child: @ended_mut_loan{ given_back=2: i32; child=proj_loans (s@5 : i32) }} + } +} + +[[32mDebug[39m] give_back_value: +- bid: 4 +- value: s@11 : i32 +- context: +# Ended regions: {0, 2} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=@ended_mut_loan{ given_back=proj_borrows (s@8 : i32 <: i32); child=proj_loans (s@8 : i32) }; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=proj_borrows (s@6 : &r@3 mut (i32) <: &r@1 mut (i32)); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } + abs@3{parents={}}{regions={3}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@6 : &r@3 mut (i32)); child=⊥ : &r@3 mut (i32)), + @ended_ignored_mut_loan{ given_back=⊥ : &r@3 mut (i32); child: @ended_mut_loan{ given_back=2: i32; child=proj_loans (s@5 : i32) }} + } +} + + +[[32mDebug[39m] end_abstraction: 3 +- original context: +# Ended regions: {0, 2} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=@ended_mut_loan{ given_back=proj_borrows (s@8 : i32 <: i32); child=proj_loans (s@8 : i32) }; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=proj_borrows (s@6 : &r@3 mut (i32) <: &r@1 mut (i32)); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } + abs@3{parents={}}{regions={3}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@6 : &r@3 mut (i32)); child=&mut@4 (1: i32)), + @ended_ignored_mut_loan{ given_back=&mut@7 (2: i32); child: ⌊mut@7, proj_loans (s@5 : i32)⌋} + } +} + + +- new context: +# Ended regions: {0, 2, 3} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=@ended_mut_loan{ given_back=proj_borrows (s@8 : i32 <: i32); child=proj_loans (s@8 : i32) }; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=proj_borrows (s@6 : &r@3 mut (i32) <: &r@1 mut (i32)); child: @ended_mut_loan{ given_back=proj_borrows (s@11 : i32 <: i32); child=proj_loans (s@2 : i32) }} + } +} + +[[32mDebug[39m] end_abstraction: 1 +- context after loans ended: +# Ended regions: {0, 2, 3} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=@ended_mut_loan{ given_back=proj_borrows (s@8 : i32 <: i32); child=proj_loans (s@8 : i32) }; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=proj_borrows (s@6 : &r@3 mut (i32) <: &r@1 mut (i32)); child: @ended_mut_loan{ given_back=proj_borrows (s@11 : i32 <: i32); child=proj_loans (s@2 : i32) }} + } +} + +[[32mDebug[39m] give_back_value: +- bid: 0 +- value: s@12 : i32 +- context: +# Ended regions: {0, 2, 3} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=@ended_mut_loan{ given_back=proj_borrows (s@8 : i32 <: i32); child=proj_loans (s@8 : i32) }; child=⊥ : &r@1 mut (i32)), + @ended_ignored_mut_loan{ given_back=proj_borrows (s@6 : &r@3 mut (i32) <: &r@1 mut (i32)); child: @ended_mut_loan{ given_back=proj_borrows (s@11 : i32 <: i32); child=proj_loans (s@2 : i32) }} + } +} + + +[[32mDebug[39m] end_abstraction: 1 +- original context: +# Ended regions: {0, 2} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> ⌊mut@0⌋ ; + Some (px) -> &mut@8 (s@8 : i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; + abs@1{parents={}}{regions={1}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@8, proj_loans (s@8 : i32)⌋; child=&mut@0 (0: i32)), + @ended_ignored_mut_loan{ given_back=proj_borrows (s@6 : &r@3 mut (i32) <: &r@1 mut (i32)); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} + } + abs@3{parents={}}{regions={3}} { + @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@6 : &r@3 mut (i32)); child=&mut@4 (1: i32)), + @ended_ignored_mut_loan{ given_back=&mut@7 (2: i32); child: ⌊mut@7, proj_loans (s@5 : i32)⌋} + } +} + + +- new context: +# Ended regions: {0, 1, 2, 3} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@12 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; +} + +[[32mDebug[39m] +**About to evaluate statement**: [ + var@12 := move var@13 == 2: i32; + var@11 := ¬ move var@12; + assert(¬move var@11); + return +] + +**Context**: +# Ended regions: {0, 1, 2, 3} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@12 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> s@12 : i32 ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + var@12 := move var@13 == 2: i32 +] + +**Context**: +# Ended regions: {0, 1, 2, 3} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@12 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> s@12 : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0, 1, 2, 3} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@12 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> s@12 : i32 ; +} + + +- op: +move var@13 + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0, 1, 2, 3} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@12 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; +} + + +- op: +2: i32 + +[[32mDebug[39m] +**About to evaluate statement**: [ + var@11 := ¬ move var@12; + assert(¬move var@11); + return +] + +**Context**: +# Ended regions: {0, 1, 2, 3} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@12 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> s@13 : bool ; + Some (var@13) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + var@11 := ¬ move var@12 +] + +**Context**: +# Ended regions: {0, 1, 2, 3} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@12 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> s@13 : bool ; + Some (var@13) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0, 1, 2, 3} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@12 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> s@13 : bool ; + Some (var@13) -> ⊥ : i32 ; +} + + +- op: +move var@12 + +[[32mDebug[39m] +**About to evaluate statement**: [ + assert(¬move var@11); + return +] + +**Context**: +# Ended regions: {0, 1, 2, 3} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@12 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> s@14 : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] +**About to evaluate statement**: [ + assert(¬move var@11) +] + +**Context**: +# Ended regions: {0, 1, 2, 3} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@12 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> s@14 : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; +} + + + +[[32mDebug[39m] eval_operand: +- ctx: +# Ended regions: {0, 1, 2, 3} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@12 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> true ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; +} + + +- op: +move var@11 + +[[32mDebug[39m] +**About to evaluate statement**: [ + return +] + +**Context**: +# Ended regions: {0, 1, 2, 3} +# 1 frame(s) + +# Frame 0: +{ + Some (var@0) -> ⊥ : () ; + Some (x) -> s@12 : i32 ; + Some (px) -> ⊥ : &'_ mut (i32) ; + Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (ppz) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@7) -> ⊥ : &'_ mut (&'_ mut (i32)) ; + Some (var@8) -> ⊥ : bool ; + Some (var@9) -> ⊥ : bool ; + Some (var@10) -> ⊥ : i32 ; + Some (var@11) -> ⊥ : bool ; + Some (var@12) -> ⊥ : bool ; + Some (var@13) -> ⊥ : i32 ; } |