@@ -38,12 +38,6 @@ impl Owner {
3838 } ,
3939 || -> i32 {
4040 return ( * self_. p) ;
41- } ,
42- move_from {
43- self_: Owner :: move_from( { & mut self_ } , ) ,
44- } ,
45- destroy = {
46- Owner :: destructor( & mut self . self_) ;
4741 }
4842 ) ;
4943 }
@@ -63,19 +57,11 @@ unsafe fn main_0() -> i32 {
6357 } ,
6458 || -> i32 {
6559 return ( * h. p) ;
66- } ,
67- move_from {
68- h: Owner :: move_from( { & mut h } , ) ,
69- } ,
70- destroy = {
71- Owner :: destructor( & mut self . h) ;
7260 }
7361 ) ;
74- let _dtor_f = ScopedDestructorUnsafe :: new ( & raw mut f, |__f| __f. destroy ( ) ) ;
7562 assert ! ( ( o. p) . is_null( ) ) ;
7663 assert ! ( ( ( unsafe { f. call( ) } ) == ( 5 ) ) ) ;
77- let mut g: FnPtr < fn ( ) -> i32 > = f. move_from ( ) ;
78- let _dtor_g = ScopedDestructorUnsafe :: new ( & raw mut g, |__f| __f. destroy ( ) ) ;
64+ let mut g: FnPtr < fn ( ) -> i32 > = f;
7965 assert ! ( ( ( unsafe { g. call( ) } ) == ( 5 ) ) ) ;
8066 let mut total: i32 = 0 ;
8167 let mut consume: FnPtr < fn ( ) > = lambda_unsafe ! (
@@ -86,23 +72,14 @@ unsafe fn main_0() -> i32 {
8672 || {
8773 ( * total) += ( * h. p) ;
8874 ( * h. p) = 0 ;
89- } ,
90- move_from {
91- h: Owner :: move_from( { & mut h } , ) ,
92- total: total,
93- } ,
94- destroy = {
95- Owner :: destructor( & mut self . h) ;
9675 }
9776 ) ;
98- let _dtor_consume = ScopedDestructorUnsafe :: new ( & raw mut consume, |__f| __f. destroy ( ) ) ;
9977 ( unsafe { consume. call ( ) } ) ;
10078 ( unsafe { consume. call ( ) } ) ;
10179 assert ! ( ( ( total) == ( 7 ) ) ) ;
10280 let mut o2: Owner = Owner :: new ( { 9 } ) ;
10381 let _dtor_o2 = ScopedDestructorUnsafe :: new ( & raw mut o2, Owner :: destructor) ;
10482 let mut t: FnPtr < fn ( ) -> i32 > = ( unsafe { Owner :: take ( & mut o2) } ) ;
105- let _dtor_t = ScopedDestructorUnsafe :: new ( & raw mut t, |__f| __f. destroy ( ) ) ;
10683 assert ! ( ( o2. p) . is_null( ) ) ;
10784 assert ! ( ( ( unsafe { t. call( ) } ) == ( 9 ) ) ) ;
10885 return 0 ;
0 commit comments