@@ -68,22 +68,37 @@ pub fn main() {
6868}
6969fn main_0 ( ) -> i32 {
7070 let m: Value < Movable > = Rc :: new ( RefCell :: new ( Movable :: new ( { 3 } , { 4 } ) ) ) ;
71- let mut __decomp_2: Movable = Movable :: move_from ( { m. as_pointer ( ) } ) ;
71+ let __decomp_2: Value < Movable > = Rc :: new ( RefCell :: new ( Movable :: move_from ( { m. as_pointer ( ) } ) ) ) ;
7272 assert ! ( ( moves_1. with( |rc| * rc. borrow( ) ) == 1 ) ) ;
7373 assert ! ( ( copies_0. with( |rc| * rc. borrow( ) ) == 0 ) ) ;
74- assert ! ( ( __decomp_2. x == 3 ) ) ;
75- assert ! ( ( __decomp_2. y == 4 ) ) ;
74+ assert ! ( ( { ( * __decomp_2. borrow ( ) ) . x } == 3 ) ) ;
75+ assert ! ( ( { ( * __decomp_2. borrow ( ) ) . y } == 4 ) ) ;
7676 assert ! ( ( { ( * m. borrow( ) ) . x } == 0 ) ) ;
7777 assert ! ( ( { ( * m. borrow( ) ) . y } == 0 ) ) ;
7878 let h: Value < Holder > = Rc :: new ( RefCell :: new ( Holder {
7979 xs : Rc :: new ( RefCell :: new ( vec ! [ 1 , 2 , 3 ] ) ) ,
8080 ys : Rc :: new ( RefCell :: new ( vec ! [ 4 , 5 ] ) ) ,
8181 } ) ) ;
82- let mut __decomp_3: Holder = ( { HolderImpl :: extract ( & h. as_pointer ( ) ) } ) ;
83- assert ! ( ( ( * __decomp_3. xs. borrow( ) ) . len( ) == 3_usize ) ) ;
84- assert ! ( ( ( * __decomp_3. ys. borrow( ) ) . len( ) == 2_usize ) ) ;
85- assert ! ( ( ( elem!( ( __decomp_3. xs. as_pointer( ) as Ptr <i32 >) , 2_usize ) . read( ) ) == 3 ) ) ;
86- assert ! ( ( ( elem!( ( __decomp_3. ys. as_pointer( ) as Ptr <i32 >) , 0_usize ) . read( ) ) == 4 ) ) ;
82+ let __decomp_3: Value < Holder > =
83+ Rc :: new ( RefCell :: new ( ( { HolderImpl :: extract ( & h. as_pointer ( ) ) } ) ) ) ;
84+ assert ! ( ( ( * { ( * __decomp_3. borrow( ) ) . xs. clone( ) } . borrow( ) ) . len( ) == 3_usize ) ) ;
85+ assert ! ( ( ( * { ( * __decomp_3. borrow( ) ) . ys. clone( ) } . borrow( ) ) . len( ) == 2_usize ) ) ;
86+ assert ! (
87+ ( ( elem!(
88+ ( { ( * __decomp_3. borrow( ) ) . xs. as_pointer( ) } as Ptr <i32 >) ,
89+ 2_usize
90+ )
91+ . read( ) )
92+ == 3 )
93+ ) ;
94+ assert ! (
95+ ( ( elem!(
96+ ( { ( * __decomp_3. borrow( ) ) . ys. as_pointer( ) } as Ptr <i32 >) ,
97+ 0_usize
98+ )
99+ . read( ) )
100+ == 4 )
101+ ) ;
87102 assert ! ( ( * { ( * h. borrow( ) ) . xs. clone( ) } . borrow( ) ) . is_empty( ) ) ;
88103 assert ! ( ( * { ( * h. borrow( ) ) . ys. clone( ) } . borrow( ) ) . is_empty( ) ) ;
89104 return 0 ;
0 commit comments