@@ -21,8 +21,8 @@ fn main_0() -> i32 {
2121 return ( x + x) ;
2222 } ,
2323 ) ) ) ;
24- assert ! ( ( ( { ( * twice. borrow( ) ) . spec:: <fn ( i32 ) -> i32 >( ) . call( 4 , ) } ) == 8 ) ) ;
25- assert ! ( ( ( { ( * twice. borrow( ) ) . spec:: <fn ( f64 ) -> f64 >( ) . call( 1.5_f64 , ) } ) == 3_f64 ) ) ;
24+ assert ! ( ( ( { ( * twice. borrow( ) ) . spec:: <fn ( i32 ) -> i32 >( 0 ) . call( 4 , ) } ) == 8 ) ) ;
25+ assert ! ( ( ( { ( * twice. borrow( ) ) . spec:: <fn ( f64 ) -> f64 >( 1 ) . call( 1.5_f64 , ) } ) == 3_f64 ) ) ;
2626 let base: Value < i32 > = Rc :: new ( RefCell :: new ( 10 ) ) ;
2727 let add_base: Value < FnPtr < Generic > > = Rc :: new ( RefCell :: new ( lambda ! (
2828 Generic ,
@@ -36,8 +36,12 @@ fn main_0() -> i32 {
3636 return ( x + ( ( * base. borrow( ) ) as f64 ) ) ;
3737 } ,
3838 ) ) ) ;
39- assert ! ( ( ( { ( * add_base. borrow( ) ) . spec:: <fn ( i32 ) -> i32 >( ) . call( 5 , ) } ) == 15 ) ) ;
40- assert ! ( ( ( { ( * add_base. borrow( ) ) . spec:: <fn ( f64 ) -> f64 >( ) . call( 2.5_f64 , ) } ) == 12.5_f64 ) ) ;
39+ assert ! ( ( ( { ( * add_base. borrow( ) ) . spec:: <fn ( i32 ) -> i32 >( 0 ) . call( 5 , ) } ) == 15 ) ) ;
40+ assert ! (
41+ ( ( {
42+ ( * add_base. borrow( ) ) . spec:: <fn ( f64 ) -> f64 >( 1 ) . call( 2.5_f64 )
43+ } ) == 12.5_f64 )
44+ ) ;
4145 let total: Value < i32 > = Rc :: new ( RefCell :: new ( 0 ) ) ;
4246 let accumulate: Value < FnPtr < Generic > > = Rc :: new ( RefCell :: new ( lambda ! (
4347 Generic ,
@@ -54,10 +58,10 @@ fn main_0() -> i32 {
5458 total. write( { ( ( ( total. read( ) ) as u32 ) . wrapping_add( ( x) . wrapping_mul( y) ) ) as i32 } ) ;
5559 } ,
5660 ) ) ) ;
57- ( { ( * accumulate. borrow ( ) ) . spec :: < fn ( i32 , i32 ) > ( ) . call ( 2 , 3 ) } ) ;
61+ ( { ( * accumulate. borrow ( ) ) . spec :: < fn ( i32 , i32 ) > ( 0 ) . call ( 2 , 3 ) } ) ;
5862 ( {
5963 ( * accumulate. borrow ( ) )
60- . spec :: < fn ( u32 , u32 ) > ( )
64+ . spec :: < fn ( u32 , u32 ) > ( 1 )
6165 . call ( 4_u32 , 5_u32 )
6266 } ) ;
6367 assert ! ( ( ( * total. borrow( ) ) == 26 ) ) ;
@@ -71,11 +75,11 @@ fn main_0() -> i32 {
7175 return ( x - y) ;
7276 } ,
7377 ) ) ) ;
74- assert ! ( ( ( { ( * sub. borrow( ) ) . spec:: <fn ( i32 , i32 ) -> i32 >( ) . call( 9 , 4 , ) } ) == 5 ) ) ;
78+ assert ! ( ( ( { ( * sub. borrow( ) ) . spec:: <fn ( i32 , i32 ) -> i32 >( 0 ) . call( 9 , 4 , ) } ) == 5 ) ) ;
7579 assert ! (
7680 ( ( {
7781 ( * sub. borrow( ) )
78- . spec:: <fn ( f64 , f64 ) -> f64 >( )
82+ . spec:: <fn ( f64 , f64 ) -> f64 >( 1 )
7983 . call( 2.5_f64 , 1_f64 )
8084 } ) == 1.5_f64 )
8185 ) ;
@@ -91,11 +95,11 @@ fn main_0() -> i32 {
9195 return ( ( ( x as f64 ) * y) + ( ( * base. borrow( ) ) as f64 ) ) ;
9296 } ,
9397 ) ) ) ;
94- assert ! ( ( ( { ( * mixed. borrow( ) ) . spec:: <fn ( i32 , i32 ) -> i32 >( ) . call( 2 , 3 , ) } ) == 16 ) ) ;
98+ assert ! ( ( ( { ( * mixed. borrow( ) ) . spec:: <fn ( i32 , i32 ) -> i32 >( 0 ) . call( 2 , 3 , ) } ) == 16 ) ) ;
9599 assert ! (
96100 ( ( {
97101 ( * mixed. borrow( ) )
98- . spec:: <fn ( i32 , f64 ) -> f64 >( )
102+ . spec:: <fn ( i32 , f64 ) -> f64 >( 1 )
99103 . call( 2 , 0.5_f64 )
100104 } ) == 11_f64 )
101105 ) ;
0 commit comments