File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -127,11 +127,12 @@ impl<'c> Translation<'c> {
127127 . borrow_mut ( )
128128 . pick_name ( "c2rust_lhs_side_effects" ) ;
129129
130- // let ref mut p = lhs;
130+ // let p = &raw mut lhs;
131+ self . use_feature ( "raw_ref_op" ) ;
131132 let compute_ref = mk ( ) . local_stmt ( Box :: new ( mk ( ) . local (
132- mk ( ) . mutbl ( ) . ident_ref_pat ( & ptr_name) ,
133+ mk ( ) . ident_pat ( & ptr_name) ,
133134 None ,
134- Some ( reference) ,
135+ Some ( mk ( ) . mutbl ( ) . raw_borrow_expr ( reference) ) ,
135136 ) ) ) ;
136137
137138 let write =
Original file line number Diff line number Diff line change @@ -79,17 +79,17 @@ pub unsafe extern "C" fn inc_decl_with_lvalue_side_effect() {
7979 * lvalue_side_effect () -= 1 ;
8080 * lvalue_side_effect () += 1 ;
8181 * lvalue_side_effect () -= 1 ;
82- let ref mut c2rust_lhs_side_effects = * lvalue_side_effect ();
82+ let c2rust_lhs_side_effects = & raw mut * lvalue_side_effect ();
8383 * c2rust_lhs_side_effects += 1 ;
8484 let mut pre_inc: ::core ::ffi ::c_int = * c2rust_lhs_side_effects ;
85- let ref mut c2rust_lhs_side_effects_0 = * lvalue_side_effect ();
85+ let c2rust_lhs_side_effects_0 = & raw mut * lvalue_side_effect ();
8686 * c2rust_lhs_side_effects_0 -= 1 ;
8787 let mut pre_dec: ::core ::ffi ::c_int = * c2rust_lhs_side_effects_0 ;
88- let ref mut c2rust_lhs_side_effects_1 = * lvalue_side_effect ();
88+ let c2rust_lhs_side_effects_1 = & raw mut * lvalue_side_effect ();
8989 let c2rust_fresh2 = * c2rust_lhs_side_effects_1 ;
9090 * c2rust_lhs_side_effects_1 = * c2rust_lhs_side_effects_1 + 1 ;
9191 let mut post_inc: ::core ::ffi ::c_int = c2rust_fresh2 ;
92- let ref mut c2rust_lhs_side_effects_2 = * lvalue_side_effect ();
92+ let c2rust_lhs_side_effects_2 = & raw mut * lvalue_side_effect ();
9393 let c2rust_fresh3 = * c2rust_lhs_side_effects_2 ;
9494 * c2rust_lhs_side_effects_2 = * c2rust_lhs_side_effects_2 - 1 ;
9595 let mut post_dec: ::core ::ffi ::c_int = c2rust_fresh3 ;
Original file line number Diff line number Diff line change @@ -79,17 +79,17 @@ pub unsafe extern "C" fn inc_decl_with_lvalue_side_effect() {
7979 * lvalue_side_effect () -= 1 ;
8080 * lvalue_side_effect () += 1 ;
8181 * lvalue_side_effect () -= 1 ;
82- let ref mut c2rust_lhs_side_effects = * lvalue_side_effect ();
82+ let c2rust_lhs_side_effects = & raw mut * lvalue_side_effect ();
8383 * c2rust_lhs_side_effects += 1 ;
8484 let mut pre_inc: ::core ::ffi ::c_int = * c2rust_lhs_side_effects ;
85- let ref mut c2rust_lhs_side_effects_0 = * lvalue_side_effect ();
85+ let c2rust_lhs_side_effects_0 = & raw mut * lvalue_side_effect ();
8686 * c2rust_lhs_side_effects_0 -= 1 ;
8787 let mut pre_dec: ::core ::ffi ::c_int = * c2rust_lhs_side_effects_0 ;
88- let ref mut c2rust_lhs_side_effects_1 = * lvalue_side_effect ();
88+ let c2rust_lhs_side_effects_1 = & raw mut * lvalue_side_effect ();
8989 let c2rust_fresh2 = * c2rust_lhs_side_effects_1 ;
9090 * c2rust_lhs_side_effects_1 = * c2rust_lhs_side_effects_1 + 1 ;
9191 let mut post_inc: ::core ::ffi ::c_int = c2rust_fresh2 ;
92- let ref mut c2rust_lhs_side_effects_2 = * lvalue_side_effect ();
92+ let c2rust_lhs_side_effects_2 = & raw mut * lvalue_side_effect ();
9393 let c2rust_fresh3 = * c2rust_lhs_side_effects_2 ;
9494 * c2rust_lhs_side_effects_2 = * c2rust_lhs_side_effects_2 - 1 ;
9595 let mut post_dec: ::core ::ffi ::c_int = c2rust_fresh3 ;
You can’t perform that action at this time.
0 commit comments