@@ -25,90 +25,86 @@ fn main_0() -> i32 {
2525 ( * v. borrow_mut ( ) ) . push ( __a1)
2626 } ;
2727 let v_begin: Value < RandomAccessIterator < i32 > > =
28- Rc :: new ( RefCell :: new ( ( v. as_pointer ( ) as Ptr < i32 > ) . begin ( ) ) ) ;
28+ Rc :: new ( RefCell :: new ( v. as_pointer ( ) . decay ( ) . begin ( ) ) ) ;
2929 let v_end: Value < RandomAccessIterator < i32 > > =
30- Rc :: new ( RefCell :: new ( ( v. as_pointer ( ) as Ptr < i32 > ) . end ( ) ) ) ;
30+ Rc :: new ( RefCell :: new ( v. as_pointer ( ) . decay ( ) . end ( ) ) ) ;
3131 let it: Value < RandomAccessIterator < i32 > > = Rc :: new ( RefCell :: new ( {
3232 let mut __it = ( * v_begin. borrow ( ) ) . clone ( ) ;
3333 while __it != ( * v_end. borrow ( ) ) . clone ( ) && __it. iter_deref ( ) . with ( |__v| * __v != 2 ) {
3434 __it. iter_inc ( ) ;
3535 }
3636 __it
3737 } ) ) ;
38- let mut v_result_true: bool = ( * it. borrow ( ) ) != ( v. as_pointer ( ) as Ptr < i32 > ) . end ( ) ;
38+ let mut v_result_true: bool = ( * it. borrow ( ) ) != v. as_pointer ( ) . decay ( ) . end ( ) ;
3939 let m: Value < Map < i32 , ( Value < i32 > , Value < f64 > ) > > = Rc :: new ( RefCell :: new ( Map :: new ( ) ) ) ;
4040 Map :: subscript_move (
41- ( m. as_pointer ( ) as Ptr < Map < i32 , ( Value < i32 > , Value < f64 > ) > > ) ,
41+ m. as_pointer ( ) ,
4242 Rc :: new ( RefCell :: new ( 1 ) ) . as_pointer ( ) ,
4343 |__k| cpp_move ! ( __k) ,
4444 )
4545 . write ( 1_f64 ) ;
4646 Map :: subscript_move (
47- ( m. as_pointer ( ) as Ptr < Map < i32 , ( Value < i32 > , Value < f64 > ) > > ) ,
47+ m. as_pointer ( ) ,
4848 Rc :: new ( RefCell :: new ( 2 ) ) . as_pointer ( ) ,
4949 |__k| cpp_move ! ( __k) ,
5050 )
5151 . write ( 2_f64 ) ;
5252 Map :: subscript_move (
53- ( m. as_pointer ( ) as Ptr < Map < i32 , ( Value < i32 > , Value < f64 > ) > > ) ,
53+ m. as_pointer ( ) ,
5454 Rc :: new ( RefCell :: new ( 3 ) ) . as_pointer ( ) ,
5555 |__k| cpp_move ! ( __k) ,
5656 )
5757 . write ( 3_f64 ) ;
5858 let m_begin: Value < BidirectionalIterator < ( Value < i32 > , Value < f64 > ) > > = Rc :: new ( RefCell :: new (
59- ( m. as_pointer ( ) as Ptr < Map < i32 , ( Value < i32 > , Value < f64 > ) > > )
59+ m. as_pointer ( )
6060 . with ( |__m : & Map < i32 , ( Value < i32 > , Value < f64 > ) > | __m. begin ( ) ) ,
6161 ) ) ;
6262 let m_end: Value < BidirectionalIterator < ( Value < i32 > , Value < f64 > ) > > = Rc :: new ( RefCell :: new (
63- ( m. as_pointer ( ) as Ptr < Map < i32 , ( Value < i32 > , Value < f64 > ) > > )
63+ m. as_pointer ( )
6464 . with ( |__m : & Map < i32 , ( Value < i32 > , Value < f64 > ) > | __m. end ( ) ) ,
6565 ) ) ;
6666 let mut m_result_true: bool = ( * m_begin. borrow ( ) ) != ( * m_end. borrow ( ) ) ;
6767 assert ! (
6868 ( ( v_result_true) && ( m_result_true) )
6969 && ( {
70- let mut __it = ( v. as_pointer( ) as Ptr < i32 > ) . begin( ) ;
71- while __it != ( v. as_pointer( ) as Ptr < i32 > ) . begin( )
70+ let mut __it = v. as_pointer( ) . decay ( ) . begin( ) ;
71+ while __it != v. as_pointer( ) . decay ( ) . begin( )
7272 && __it. iter_deref( ) . with( |__v| * __v != 2 )
7373 {
7474 __it. iter_inc( ) ;
7575 }
7676 __it
77- } == ( v. as_pointer( ) as Ptr < i32 > ) . begin( ) )
77+ } == v. as_pointer( ) . decay ( ) . begin( ) )
7878 ) ;
7979 let w: Value < Vec < i32 > > = Rc :: new ( RefCell :: new ( Vec :: from ( [ 1 , 2 , 3 , 4 , 5 ] ) ) ) ;
8080 assert ! (
8181 {
82- let mut __it = ( w. as_pointer( ) as Ptr <i32 >) . begin( ) . iter_add( 2_isize ) ;
83- while __it != ( w. as_pointer( ) as Ptr <i32 >) . end( )
84- && __it. iter_deref( ) . with( |__v| * __v != 4 )
85- {
82+ let mut __it = w. as_pointer( ) . decay( ) . begin( ) . iter_add( 2_isize ) ;
83+ while __it != w. as_pointer( ) . decay( ) . end( ) && __it. iter_deref( ) . with( |__v| * __v != 4 ) {
8684 __it. iter_inc( ) ;
8785 }
8886 __it
89- } == ( w. as_pointer( ) as Ptr < i32 > ) . begin( ) . iter_add( 3_isize )
87+ } == w. as_pointer( ) . decay ( ) . begin( ) . iter_add( 3_isize )
9088 ) ;
9189 assert ! (
9290 {
93- let mut __it = ( w. as_pointer( ) as Ptr <i32 >) . begin( ) . iter_add( 2_isize ) ;
94- while __it != ( w. as_pointer( ) as Ptr <i32 >) . end( )
95- && __it. iter_deref( ) . with( |__v| * __v != 1 )
96- {
91+ let mut __it = w. as_pointer( ) . decay( ) . begin( ) . iter_add( 2_isize ) ;
92+ while __it != w. as_pointer( ) . decay( ) . end( ) && __it. iter_deref( ) . with( |__v| * __v != 1 ) {
9793 __it. iter_inc( ) ;
9894 }
9995 __it
100- } == ( w. as_pointer( ) as Ptr < i32 > ) . end( )
96+ } == w. as_pointer( ) . decay ( ) . end( )
10197 ) ;
10298 assert ! (
10399 {
104- let mut __it = ( w. as_pointer( ) as Ptr < i32 > ) . begin( ) . iter_add( 2_isize ) ;
105- while __it != ( w. as_pointer( ) as Ptr < i32 > ) . begin( ) . iter_add( 4_isize )
100+ let mut __it = w. as_pointer( ) . decay ( ) . begin( ) . iter_add( 2_isize ) ;
101+ while __it != w. as_pointer( ) . decay ( ) . begin( ) . iter_add( 4_isize )
106102 && __it. iter_deref( ) . with( |__v| * __v != 5 )
107103 {
108104 __it. iter_inc( ) ;
109105 }
110106 __it
111- } == ( w. as_pointer( ) as Ptr < i32 > ) . begin( ) . iter_add( 4_isize )
107+ } == w. as_pointer( ) . decay ( ) . begin( ) . iter_add( 4_isize )
112108 ) ;
113109 return 0 ;
114110}
0 commit comments