File tree Expand file tree Collapse file tree 1 file changed +24
-1
lines changed Expand file tree Collapse file tree 1 file changed +24
-1
lines changed Original file line number Diff line number Diff line change @@ -240,4 +240,27 @@ macro_rules! test_cast_20(
240
240
#[ test] fn test_int_cast ( ) { test_cast_20 ! ( 20 i) }
241
241
#[ test] fn test_f32_cast ( ) { test_cast_20 ! ( 20f32 ) }
242
242
#[ test] fn test_f64_cast ( ) { test_cast_20 ! ( 20f64 ) }
243
- #[ test] fn test_float_cast ( ) { test_cast_20 ! ( 20 f) }
243
+ #[ test] fn test_float_cast ( ) { test_cast_20 ! ( 20 f) }
244
+
245
+ #[ test]
246
+ fn test_generic_cast ( ) {
247
+ use ops:: Add ;
248
+
249
+ fn add_2 < T : Add < T , T > + NumCast > ( n : T ) -> T {
250
+ n + cast ( 2 )
251
+ }
252
+
253
+ assert ! ( add_2( 1 u) == 3 u) ;
254
+ assert ! ( add_2( 1u8 ) == 3u8 ) ;
255
+ assert ! ( add_2( 1u16 ) == 3u16 ) ;
256
+ assert ! ( add_2( 1u32 ) == 3u32 ) ;
257
+ assert ! ( add_2( 1u64 ) == 3u64 ) ;
258
+ assert ! ( add_2( 1 i) == 3 i) ;
259
+ assert ! ( add_2( 1i8 ) == 3i8 ) ;
260
+ assert ! ( add_2( 1i16 ) == 3i16 ) ;
261
+ assert ! ( add_2( 1i32 ) == 3i32 ) ;
262
+ assert ! ( add_2( 1i64 ) == 3i64 ) ;
263
+ assert ! ( add_2( 1 f) == 3 f) ;
264
+ assert ! ( add_2( 1f32 ) == 3f32 ) ;
265
+ assert ! ( add_2( 1f64 ) == 3f64 ) ;
266
+ }
You can’t perform that action at this time.
0 commit comments