@@ -33,23 +33,35 @@ fn main_0() -> i32 {
3333 second : 6 ,
3434 } ,
3535 ] ) ) ) ;
36- ' loop_: for mut __decomp_0 in arr. as_pointer ( ) as Ptr < Pair > {
36+ ' loop_: for __decomp_0 in IterRange :: new (
37+ ( arr. as_pointer ( ) as Ptr < Pair > ) ,
38+ ( arr. as_pointer ( ) as Ptr < Pair > ) . offset ( ( 3_i64 ) as isize ) ,
39+ ) {
40+ let __decomp_0: Ptr < Pair > = ( __decomp_0) . clone ( ) ;
3741 {
3842 let __rhs = __decomp_0. with ( |__s| __s. second ) ;
3943 field ! ( __decomp_0, first) . with_mut ( |__v| * __v = * __v + __rhs)
4044 } ;
4145 }
4246 assert ! ( ( { ( * arr. borrow( ) ) [ ( 0 ) as usize ] . first } == 3 ) ) ;
4347 assert ! ( ( { ( * arr. borrow( ) ) [ ( 2 ) as usize ] . first } == 11 ) ) ;
44- ' loop_: for mut __decomp_1 in arr. as_pointer ( ) as Ptr < Pair > {
45- let __decomp_1: Value < Pair > = Rc :: new ( RefCell :: new ( __decomp_1. upgrade ( ) . deref ( ) . clone ( ) ) ) ;
48+ ' loop_: for __decomp_1 in IterRange :: new (
49+ ( arr. as_pointer ( ) as Ptr < Pair > ) ,
50+ ( arr. as_pointer ( ) as Ptr < Pair > ) . offset ( ( 3_i64 ) as isize ) ,
51+ ) {
52+ let __decomp_1: Value < Pair > =
53+ Rc :: new ( RefCell :: new ( ( * __decomp_1. upgrade ( ) . deref ( ) ) . clone ( ) ) ) ;
4654 ( * __decomp_1. borrow_mut ( ) ) . first = 0 ;
4755 ( * __decomp_1. borrow_mut ( ) ) . second = 0 ;
4856 }
4957 assert ! ( ( { ( * arr. borrow( ) ) [ ( 1 ) as usize ] . first } == 7 ) ) ;
5058 assert ! ( ( { ( * arr. borrow( ) ) [ ( 1 ) as usize ] . second } == 4 ) ) ;
5159 let mut sum: i32 = 0 ;
52- ' loop_: for mut __decomp_2 in arr. as_pointer ( ) as Ptr < Pair > {
60+ ' loop_: for __decomp_2 in IterRange :: new (
61+ ( arr. as_pointer ( ) as Ptr < Pair > ) ,
62+ ( arr. as_pointer ( ) as Ptr < Pair > ) . offset ( ( 3_i64 ) as isize ) ,
63+ ) {
64+ let __decomp_2: Ptr < Pair > = ( __decomp_2) . clone ( ) ;
5365 sum += ( __decomp_2. with ( |__s| __s. first ) * __decomp_2. with ( |__s| __s. second ) ) ;
5466 }
5567 assert ! ( ( sum == ( ( ( 3 * 2 ) + ( 7 * 4 ) ) + ( 11 * 6 ) ) ) ) ;
0 commit comments