@@ -226,8 +226,8 @@ fn main_0() -> i32 {
226226 ( {
227227 let _o: Value < Tracked > = Rc :: new ( RefCell :: new ( Tracked :: new_2 ( { 10 } ) ) ) ;
228228 TrackedImpl :: move_assign (
229- & ( m1. as_pointer ( ) as Ptr < Map < i32 , ( Value < i32 > , Value < Tracked > ) > > ) . with_mut (
230- |__m : & mut Map < i32 , ( Value < i32 > , Value < Tracked > ) > | {
229+ & m1. as_pointer ( )
230+ . with_mut ( |__m : & mut Map < i32 , ( Value < i32 > , Value < Tracked > ) > | {
231231 __m. get_or_insert_with ( 1 . clone ( ) , || {
232232 (
233233 Rc :: new ( RefCell :: new ( 1 ) ) ,
@@ -237,16 +237,15 @@ fn main_0() -> i32 {
237237 . borrow ( )
238238 . 1
239239 . as_pointer ( )
240- } ,
241- ) ,
240+ } ) ,
242241 _o. as_pointer ( ) ,
243242 )
244243 } ) ;
245244 ( {
246245 let _o: Value < Tracked > = Rc :: new ( RefCell :: new ( Tracked :: new_2 ( { 20 } ) ) ) ;
247246 TrackedImpl :: move_assign (
248- & ( m1. as_pointer ( ) as Ptr < Map < i32 , ( Value < i32 > , Value < Tracked > ) > > ) . with_mut (
249- |__m : & mut Map < i32 , ( Value < i32 > , Value < Tracked > ) > | {
247+ & m1. as_pointer ( )
248+ . with_mut ( |__m : & mut Map < i32 , ( Value < i32 > , Value < Tracked > ) > | {
250249 __m. get_or_insert_with ( 2 . clone ( ) , || {
251250 (
252251 Rc :: new ( RefCell :: new ( 2 ) ) ,
@@ -256,17 +255,16 @@ fn main_0() -> i32 {
256255 . borrow ( )
257256 . 1
258257 . as_pointer ( )
259- } ,
260- ) ,
258+ } ) ,
261259 _o. as_pointer ( ) ,
262260 )
263261 } ) ;
264262 let m2: Value < Map < i32 , ( Value < i32 > , Value < Tracked > ) > > = Rc :: new ( RefCell :: new ( Map :: new ( ) ) ) ;
265263 ( {
266264 let _o: Value < Tracked > = Rc :: new ( RefCell :: new ( Tracked :: new_2 ( { 30 } ) ) ) ;
267265 TrackedImpl :: move_assign (
268- & ( m2. as_pointer ( ) as Ptr < Map < i32 , ( Value < i32 > , Value < Tracked > ) > > ) . with_mut (
269- |__m : & mut Map < i32 , ( Value < i32 > , Value < Tracked > ) > | {
266+ & m2. as_pointer ( )
267+ . with_mut ( |__m : & mut Map < i32 , ( Value < i32 > , Value < Tracked > ) > | {
270268 __m. get_or_insert_with ( 3 . clone ( ) , || {
271269 (
272270 Rc :: new ( RefCell :: new ( 3 ) ) ,
@@ -276,15 +274,14 @@ fn main_0() -> i32 {
276274 . borrow ( )
277275 . 1
278276 . as_pointer ( )
279- } ,
280- ) ,
277+ } ) ,
281278 _o. as_pointer ( ) ,
282279 )
283280 } ) ;
284281 assert ! ( ( copies_0. with( |rc| * rc. borrow( ) ) == 0 ) ) ;
285282 cpp_swap ! (
286- ( m1. as_pointer( ) as Ptr < Map < i32 , ( Value < i32 > , Value < Tracked > ) >> ) . with_mut (
287- |__m: & mut Map <i32 , ( Value <i32 >, Value <Tracked >) >| {
283+ m1. as_pointer( )
284+ . with_mut ( |__m: & mut Map <i32 , ( Value <i32 >, Value <Tracked >) >| {
288285 __m. get_or_insert_with( 1 . clone( ) , || {
289286 (
290287 Rc :: new( RefCell :: new( 1 ) ) ,
@@ -294,10 +291,9 @@ fn main_0() -> i32 {
294291 . borrow( )
295292 . 1
296293 . as_pointer( )
297- }
298- ) ,
299- ( m1. as_pointer( ) as Ptr <Map <i32 , ( Value <i32 >, Value <Tracked >) >>) . with_mut(
300- |__m: & mut Map <i32 , ( Value <i32 >, Value <Tracked >) >| {
294+ } ) ,
295+ m1. as_pointer( )
296+ . with_mut( |__m: & mut Map <i32 , ( Value <i32 >, Value <Tracked >) >| {
301297 __m. get_or_insert_with( 2 . clone( ) , || {
302298 (
303299 Rc :: new( RefCell :: new( 2 ) ) ,
@@ -307,11 +303,10 @@ fn main_0() -> i32 {
307303 . borrow( )
308304 . 1
309305 . as_pointer( )
310- }
311- )
306+ } )
312307 ) ;
313308 assert ! (
314- ( ( m1. as_pointer( ) as Ptr < Map < i32 , ( Value < i32 > , Value < Tracked > ) >> )
309+ ( m1. as_pointer( )
315310 . with_mut( |__m: & mut Map <i32 , ( Value <i32 >, Value <Tracked >) >| {
316311 __m. get_or_insert_with( 1 . clone( ) , || {
317312 (
@@ -325,7 +320,8 @@ fn main_0() -> i32 {
325320 } )
326321 . with( |__s| __s. v)
327322 == 20 )
328- && ( ( m1. as_pointer( ) as Ptr <Map <i32 , ( Value <i32 >, Value <Tracked >) >>)
323+ && ( m1
324+ . as_pointer( )
329325 . with_mut( |__m: & mut Map <i32 , ( Value <i32 >, Value <Tracked >) >| {
330326 __m. get_or_insert_with( 2 . clone( ) , || {
331327 (
@@ -344,7 +340,8 @@ fn main_0() -> i32 {
344340 cpp_swap ! ( m1. as_pointer( ) , m2. as_pointer( ) ) ;
345341 assert ! (
346342 ( ( * m1. borrow( ) ) . len( ) == 1_usize )
347- && ( ( m1. as_pointer( ) as Ptr <Map <i32 , ( Value <i32 >, Value <Tracked >) >>)
343+ && ( m1
344+ . as_pointer( )
348345 . with_mut( |__m: & mut Map <i32 , ( Value <i32 >, Value <Tracked >) >| {
349346 __m. get_or_insert_with( 3 . clone( ) , || {
350347 (
@@ -361,7 +358,8 @@ fn main_0() -> i32 {
361358 ) ;
362359 assert ! (
363360 ( ( ( * m2. borrow( ) ) . len( ) == 2_usize )
364- && ( ( m2. as_pointer( ) as Ptr <Map <i32 , ( Value <i32 >, Value <Tracked >) >>)
361+ && ( m2
362+ . as_pointer( )
365363 . with_mut( |__m: & mut Map <i32 , ( Value <i32 >, Value <Tracked >) >| {
366364 __m. get_or_insert_with( 1 . clone( ) , || {
367365 (
@@ -375,7 +373,8 @@ fn main_0() -> i32 {
375373 } )
376374 . with( |__s| __s. v)
377375 == 20 ) )
378- && ( ( m2. as_pointer( ) as Ptr <Map <i32 , ( Value <i32 >, Value <Tracked >) >>)
376+ && ( m2
377+ . as_pointer( )
379378 . with_mut( |__m: & mut Map <i32 , ( Value <i32 >, Value <Tracked >) >| {
380379 __m. get_or_insert_with( 2 . clone( ) , || {
381380 (
@@ -419,8 +418,8 @@ fn main_0() -> i32 {
419418 ( * vec_. borrow_mut ( ) ) . push ( __init)
420419 } ;
421420 cpp_swap ! (
422- ( vec_. as_pointer( ) as Ptr < Tracked > ) . offset( 0_usize ) ,
423- ( vec_. as_pointer( ) as Ptr < Tracked > ) . offset( 1_usize )
421+ vec_. as_pointer( ) . decay ( ) . offset( 0_usize ) ,
422+ vec_. as_pointer( ) . decay ( ) . offset( 1_usize )
424423 ) ;
425424 assert ! ( ( { ( * vec_. borrow( ) ) [ 0_usize ] . v } == 5 ) && ( { ( * vec_. borrow( ) ) [ 1_usize ] . v } == 4 ) ) ;
426425 assert ! ( ( copies_0. with( |rc| * rc. borrow( ) ) == 0 ) ) ;
@@ -490,61 +489,42 @@ fn main_0() -> i32 {
490489 ) ) ;
491490 {
492491 let __init = Tracked :: new_2 ( { 1 } ) ;
493- elem ! ( ( grid. as_pointer( ) as Ptr < Vec < Tracked >> ) , 0_usize )
492+ elem ! ( grid. as_pointer( ) . decay ( ) , 0_usize )
494493 . with_mut ( |__v : & mut Vec < Tracked > | __v. push ( __init) )
495494 } ;
496495 {
497496 let __init = Tracked :: new_2 ( { 2 } ) ;
498- elem ! ( ( grid. as_pointer( ) as Ptr < Vec < Tracked >> ) , 0_usize )
497+ elem ! ( grid. as_pointer( ) . decay ( ) , 0_usize )
499498 . with_mut ( |__v : & mut Vec < Tracked > | __v. push ( __init) )
500499 } ;
501500 {
502501 let __init = Tracked :: new_2 ( { 3 } ) ;
503- elem ! ( ( grid. as_pointer( ) as Ptr < Vec < Tracked >> ) , 1_usize )
502+ elem ! ( grid. as_pointer( ) . decay ( ) , 1_usize )
504503 . with_mut ( |__v : & mut Vec < Tracked > | __v. push ( __init) )
505504 } ;
506505 cpp_swap ! (
507- ( ( grid. as_pointer( ) as Ptr <Vec <Tracked >>)
506+ grid. as_pointer( )
507+ . decay( )
508508 . offset( 0_usize )
509- . as_pointer ( ) as Ptr < Tracked > )
509+ . decay ( )
510510 . offset( 1_usize ) ,
511- ( ( grid. as_pointer( ) as Ptr <Vec <Tracked >>)
511+ grid. as_pointer( )
512+ . decay( )
512513 . offset( 1_usize )
513- . as_pointer ( ) as Ptr < Tracked > )
514+ . decay ( )
514515 . offset( 0_usize )
515516 ) ;
516517 assert ! (
517- ( index!(
518- elem!( ( grid. as_pointer( ) as Ptr <Vec <Tracked >>) , 0_usize ) ,
519- 1_usize
520- )
521- . with( |__s| __s. v)
522- == 3 )
523- && ( index!(
524- elem!( ( grid. as_pointer( ) as Ptr <Vec <Tracked >>) , 1_usize ) ,
525- 0_usize
526- )
527- . with( |__s| __s. v)
528- == 2 )
518+ ( index!( elem!( grid. as_pointer( ) . decay( ) , 0_usize ) , 1_usize ) . with( |__s| __s. v) == 3 )
519+ && ( index!( elem!( grid. as_pointer( ) . decay( ) , 1_usize ) , 0_usize ) . with( |__s| __s. v) == 2 )
529520 ) ;
530521 cpp_swap ! (
531- ( grid. as_pointer( ) as Ptr < Vec < Tracked >> ) . offset( 0_usize ) ,
532- ( grid. as_pointer( ) as Ptr < Vec < Tracked >> ) . offset( 1_usize )
522+ grid. as_pointer( ) . decay ( ) . offset( 0_usize ) ,
523+ grid. as_pointer( ) . decay ( ) . offset( 1_usize )
533524 ) ;
534525 assert ! (
535- ( ( * ( ( grid. as_pointer( ) as Ptr <Vec <Tracked >>)
536- . offset( 0_usize )
537- . as_pointer( ) as Ptr <Vec <Tracked >>)
538- . upgrade( )
539- . deref( ) )
540- . len( )
541- == 1_usize )
542- && ( index!(
543- elem!( ( grid. as_pointer( ) as Ptr <Vec <Tracked >>) , 0_usize ) ,
544- 0_usize
545- )
546- . with( |__s| __s. v)
547- == 2 )
526+ ( ( * grid. as_pointer( ) . decay( ) . offset( 0_usize ) . upgrade( ) . deref( ) ) . len( ) == 1_usize )
527+ && ( index!( elem!( grid. as_pointer( ) . decay( ) , 0_usize ) , 0_usize ) . with( |__s| __s. v) == 2 )
548528 ) ;
549529 assert ! ( ( copies_0. with( |rc| * rc. borrow( ) ) == 0 ) ) ;
550530 let maps: Value < Box < [ Map < i32 , ( Value < i32 > , Value < Tracked > ) > ] > > = Rc :: new ( RefCell :: new (
@@ -555,8 +535,8 @@ fn main_0() -> i32 {
555535 ( {
556536 let _o: Value < Tracked > = Rc :: new ( RefCell :: new ( Tracked :: new_2 ( { 1 } ) ) ) ;
557537 TrackedImpl :: move_assign (
558- & ( ( maps. as_pointer ( ) as Ptr < Map < i32 , ( Value < i32 > , Value < Tracked > ) > > ) . offset ( 0 )
559- as Ptr < Map < i32 , ( Value < i32 > , Value < Tracked > ) > > )
538+ & ( maps. as_pointer ( ) as Ptr < Map < i32 , ( Value < i32 > , Value < Tracked > ) > > )
539+ . offset ( 0 )
560540 . with_mut ( |__m : & mut Map < i32 , ( Value < i32 > , Value < Tracked > ) > | {
561541 __m. get_or_insert_with ( 1 . clone ( ) , || {
562542 (
@@ -574,8 +554,8 @@ fn main_0() -> i32 {
574554 ( {
575555 let _o: Value < Tracked > = Rc :: new ( RefCell :: new ( Tracked :: new_2 ( { 2 } ) ) ) ;
576556 TrackedImpl :: move_assign (
577- & ( ( maps. as_pointer ( ) as Ptr < Map < i32 , ( Value < i32 > , Value < Tracked > ) > > ) . offset ( 1 )
578- as Ptr < Map < i32 , ( Value < i32 > , Value < Tracked > ) > > )
557+ & ( maps. as_pointer ( ) as Ptr < Map < i32 , ( Value < i32 > , Value < Tracked > ) > > )
558+ . offset ( 1 )
579559 . with_mut ( |__m : & mut Map < i32 , ( Value < i32 > , Value < Tracked > ) > | {
580560 __m. get_or_insert_with ( 2 . clone ( ) , || {
581561 (
@@ -596,8 +576,8 @@ fn main_0() -> i32 {
596576 ) ;
597577 assert ! (
598578 ( ( * maps. borrow( ) ) [ ( 0 ) as usize ] . len( ) == 1_usize )
599- && ( ( ( maps. as_pointer( ) as Ptr <Map <i32 , ( Value <i32 >, Value <Tracked >) >>) . offset ( 0 )
600- as Ptr < Map < i32 , ( Value < i32 > , Value < Tracked > ) >> )
579+ && ( ( maps. as_pointer( ) as Ptr <Map <i32 , ( Value <i32 >, Value <Tracked >) >>)
580+ . offset ( 0 )
601581 . with_mut( |__m: & mut Map <i32 , ( Value <i32 >, Value <Tracked >) >| {
602582 __m. get_or_insert_with( 2 . clone( ) , || {
603583 (
@@ -614,8 +594,8 @@ fn main_0() -> i32 {
614594 ) ;
615595 assert ! (
616596 ( ( * maps. borrow( ) ) [ ( 1 ) as usize ] . len( ) == 1_usize )
617- && ( ( ( maps. as_pointer( ) as Ptr <Map <i32 , ( Value <i32 >, Value <Tracked >) >>) . offset ( 1 )
618- as Ptr < Map < i32 , ( Value < i32 > , Value < Tracked > ) >> )
597+ && ( ( maps. as_pointer( ) as Ptr <Map <i32 , ( Value <i32 >, Value <Tracked >) >>)
598+ . offset ( 1 )
619599 . with_mut( |__m: & mut Map <i32 , ( Value <i32 >, Value <Tracked >) >| {
620600 __m. get_or_insert_with( 1 . clone( ) , || {
621601 (
@@ -831,7 +811,7 @@ pub trait OwnerImpl {
831811}
832812impl OwnerImpl for Ptr < Owner > {
833813 fn move_assign ( & self , _a0 : Ptr < Owner > ) -> Ptr < Owner > {
834- ( field_ptr ! ( ( * self ) , p) as Ptr < Option < Value < i32 > > > )
814+ field_ptr ! ( ( * self ) , p)
835815 . write ( field ! ( _a0, p) . with_mut ( |__v : & mut Option < Value < i32 > > | __v. take ( ) ) ) ;
836816 return ( * self ) . clone ( ) ;
837817 }
0 commit comments