File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -124,11 +124,12 @@ impl<'c> Translation<'c> {
124124
125125 let ptr_name = self . renamer . borrow_mut ( ) . pick_name ( "c2rust_lvalue" ) ;
126126
127- // let ref mut p = lhs;
127+ // let p = &raw mut lhs;
128+ self . use_feature ( "raw_ref_op" ) ;
128129 let compute_ref = mk ( ) . local_stmt ( Box :: new ( mk ( ) . local (
129- mk ( ) . mutbl ( ) . ident_ref_pat ( & ptr_name) ,
130+ mk ( ) . ident_pat ( & ptr_name) ,
130131 None ,
131- Some ( reference) ,
132+ Some ( mk ( ) . mutbl ( ) . raw_borrow_expr ( reference) ) ,
132133 ) ) ) ;
133134
134135 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_lvalue = * lvalue_side_effect ();
82+ let c2rust_lvalue = & raw mut * lvalue_side_effect ();
8383 * c2rust_lvalue += 1 ;
8484 let mut pre_inc: ::core ::ffi ::c_int = * c2rust_lvalue ;
85- let ref mut c2rust_lvalue_0 = * lvalue_side_effect ();
85+ let c2rust_lvalue_0 = & raw mut * lvalue_side_effect ();
8686 * c2rust_lvalue_0 -= 1 ;
8787 let mut pre_dec: ::core ::ffi ::c_int = * c2rust_lvalue_0 ;
88- let ref mut c2rust_lvalue_1 = * lvalue_side_effect ();
88+ let c2rust_lvalue_1 = & raw mut * lvalue_side_effect ();
8989 let c2rust_fresh2 = * c2rust_lvalue_1 ;
9090 * c2rust_lvalue_1 = * c2rust_lvalue_1 + 1 ;
9191 let mut post_inc: ::core ::ffi ::c_int = c2rust_fresh2 ;
92- let ref mut c2rust_lvalue_2 = * lvalue_side_effect ();
92+ let c2rust_lvalue_2 = & raw mut * lvalue_side_effect ();
9393 let c2rust_fresh3 = * c2rust_lvalue_2 ;
9494 * c2rust_lvalue_2 = * c2rust_lvalue_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_lvalue = * lvalue_side_effect ();
82+ let c2rust_lvalue = & raw mut * lvalue_side_effect ();
8383 * c2rust_lvalue += 1 ;
8484 let mut pre_inc: ::core ::ffi ::c_int = * c2rust_lvalue ;
85- let ref mut c2rust_lvalue_0 = * lvalue_side_effect ();
85+ let c2rust_lvalue_0 = & raw mut * lvalue_side_effect ();
8686 * c2rust_lvalue_0 -= 1 ;
8787 let mut pre_dec: ::core ::ffi ::c_int = * c2rust_lvalue_0 ;
88- let ref mut c2rust_lvalue_1 = * lvalue_side_effect ();
88+ let c2rust_lvalue_1 = & raw mut * lvalue_side_effect ();
8989 let c2rust_fresh2 = * c2rust_lvalue_1 ;
9090 * c2rust_lvalue_1 = * c2rust_lvalue_1 + 1 ;
9191 let mut post_inc: ::core ::ffi ::c_int = c2rust_fresh2 ;
92- let ref mut c2rust_lvalue_2 = * lvalue_side_effect ();
92+ let c2rust_lvalue_2 = & raw mut * lvalue_side_effect ();
9393 let c2rust_fresh3 = * c2rust_lvalue_2 ;
9494 * c2rust_lvalue_2 = * c2rust_lvalue_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