@@ -139,9 +139,15 @@ fn main_0() -> i32 {
139139 bar_2 ( _x)
140140 } ) ;
141141 let __rhs = ( * x1. borrow ( ) ) ;
142- r2. write ( r2. read ( ) + __rhs) ;
142+ {
143+ let _ptr = r2. clone ( ) ;
144+ _ptr. write ( _ptr. read ( ) + __rhs)
145+ } ;
143146 let __rhs = ( r1. read ( ) ) ;
144- r3. write ( r3. read ( ) + __rhs) ;
147+ {
148+ let _ptr = r3. clone ( ) ;
149+ _ptr. write ( _ptr. read ( ) + __rhs)
150+ } ;
145151 let x4: Value < i32 > = Rc :: new ( RefCell :: new (
146152 ( ( ( {
147153 let _x: i32 = ( * x3. borrow ( ) ) ;
@@ -222,18 +228,14 @@ fn main_0() -> i32 {
222228 . v
223229 . borrow ( ) ) ,
224230 ) ) ;
225- ( {
226- let _x: Ptr < i32 > = x1. as_pointer ( ) ;
227- bar_2 ( _x)
228- } )
229- . write (
230- ( {
231+ {
232+ let _ptr = ( {
231233 let _x: Ptr < i32 > = x1. as_pointer ( ) ;
232234 bar_2 ( _x)
233235 } )
234- . read ( )
235- + 10 ,
236- ) ;
236+ . clone ( ) ;
237+ _ptr . write ( _ptr . read ( ) + 10 )
238+ } ;
237239 ( {
238240 let _x: Ptr < i32 > = x1. as_pointer ( ) ;
239241 bar_2 ( _x)
@@ -277,21 +279,8 @@ fn main_0() -> i32 {
277279 foo_0 ( _x)
278280 } ) )
279281 + 1 ) ;
280- ( {
281- let _x: Ptr < i32 > = ( * ( {
282- ( * ( { ( * ( { ( * d. borrow ( ) ) . get ( ) } ) . upgrade ( ) . deref ( ) ) . get ( ) } )
283- . upgrade ( )
284- . deref ( ) )
285- . get ( )
286- } )
287- . upgrade ( )
288- . deref ( ) )
289- . v
290- . as_pointer ( ) ;
291- bar_2 ( _x)
292- } )
293- . write (
294- ( {
282+ {
283+ let _ptr = ( {
295284 let _x: Ptr < i32 > = ( * ( {
296285 ( * ( { ( * ( { ( * d. borrow ( ) ) . get ( ) } ) . upgrade ( ) . deref ( ) ) . get ( ) } )
297286 . upgrade ( )
@@ -304,9 +293,9 @@ fn main_0() -> i32 {
304293 . as_pointer ( ) ;
305294 bar_2 ( _x)
306295 } )
307- . read ( )
308- + 10 ,
309- ) ;
296+ . clone ( ) ;
297+ _ptr . write ( _ptr . read ( ) + 10 )
298+ } ;
310299 ( {
311300 let _x: Ptr < i32 > = ( * ( {
312301 ( * ( { ( * ( { ( * d. borrow ( ) ) . get ( ) } ) . upgrade ( ) . deref ( ) ) . get ( ) } )
@@ -356,18 +345,14 @@ fn main_0() -> i32 {
356345 ptr_1 ( _x)
357346 } )
358347 . with_mut ( |__v| __v. prefix_inc ( ) ) ;
359- ( {
360- let _x: Ptr < i32 > = ( x1. as_pointer ( ) ) ;
361- ptr_1 ( _x)
362- } )
363- . write (
364- ( {
348+ {
349+ let _ptr = ( {
365350 let _x: Ptr < i32 > = ( x1. as_pointer ( ) ) ;
366351 ptr_1 ( _x)
367352 } )
368- . read ( )
369- + 1 ,
370- ) ;
353+ . clone ( ) ;
354+ _ptr . write ( _ptr . read ( ) + 1 )
355+ } ;
371356 ( {
372357 let _x: Ptr < i32 > = ( ( * ( {
373358 ( * ( { ( * ( { ( * d. borrow ( ) ) . get ( ) } ) . upgrade ( ) . deref ( ) ) . get ( ) } )
@@ -382,21 +367,8 @@ fn main_0() -> i32 {
382367 ptr_1 ( _x)
383368 } )
384369 . with_mut ( |__v| __v. prefix_inc ( ) ) ;
385- ( {
386- let _x: Ptr < i32 > = ( ( * ( {
387- ( * ( { ( * ( { ( * d. borrow ( ) ) . get ( ) } ) . upgrade ( ) . deref ( ) ) . get ( ) } )
388- . upgrade ( )
389- . deref ( ) )
390- . get ( )
391- } )
392- . upgrade ( )
393- . deref ( ) )
394- . v
395- . as_pointer ( ) ) ;
396- ptr_1 ( _x)
397- } )
398- . write (
399- ( {
370+ {
371+ let _ptr = ( {
400372 let _x: Ptr < i32 > = ( ( * ( {
401373 ( * ( { ( * ( { ( * d. borrow ( ) ) . get ( ) } ) . upgrade ( ) . deref ( ) ) . get ( ) } )
402374 . upgrade ( )
@@ -409,24 +381,11 @@ fn main_0() -> i32 {
409381 . as_pointer ( ) ) ;
410382 ptr_1 ( _x)
411383 } )
412- . read ( )
413- + 1 ,
414- ) ;
415- ( {
416- let _x: Ptr < i32 > = ( ( * ( {
417- ( * ( { ( * ( { ( * d. borrow ( ) ) . get ( ) } ) . upgrade ( ) . deref ( ) ) . get ( ) } )
418- . upgrade ( )
419- . deref ( ) )
420- . get ( )
421- } )
422- . upgrade ( )
423- . deref ( ) )
424- . v
425- . as_pointer ( ) ) ;
426- ptr_1 ( _x)
427- } )
428- . write (
429- ( {
384+ . clone ( ) ;
385+ _ptr. write ( _ptr. read ( ) + 1 )
386+ } ;
387+ {
388+ let _ptr = ( {
430389 let _x: Ptr < i32 > = ( ( * ( {
431390 ( * ( { ( * ( { ( * d. borrow ( ) ) . get ( ) } ) . upgrade ( ) . deref ( ) ) . get ( ) } )
432391 . upgrade ( )
@@ -439,9 +398,9 @@ fn main_0() -> i32 {
439398 . as_pointer ( ) ) ;
440399 ptr_1 ( _x)
441400 } )
442- . read ( )
443- + 1 ,
444- ) ;
401+ . clone ( ) ;
402+ _ptr . write ( _ptr . read ( ) + 1 )
403+ } ;
445404 let ptr1: Value < i32 > = Rc :: new ( RefCell :: new (
446405 ( {
447406 let _x: Ptr < i32 > = ( ( * ( {
0 commit comments