]>
Commit | Line | Data |
---|---|---|
f20569fa XL |
1 | // ignore-32bit |
2 | ||
3 | #![warn(clippy::fn_to_numeric_cast, clippy::fn_to_numeric_cast_with_truncation)] | |
4 | ||
5 | fn foo() -> String { | |
6 | String::new() | |
7 | } | |
8 | ||
9 | fn test_function_to_numeric_cast() { | |
10 | let _ = foo as i8; | |
11 | let _ = foo as i16; | |
12 | let _ = foo as i32; | |
13 | let _ = foo as i64; | |
14 | let _ = foo as i128; | |
15 | let _ = foo as isize; | |
16 | ||
17 | let _ = foo as u8; | |
18 | let _ = foo as u16; | |
19 | let _ = foo as u32; | |
20 | let _ = foo as u64; | |
21 | let _ = foo as u128; | |
22 | ||
23 | // Casting to usize is OK and should not warn | |
24 | let _ = foo as usize; | |
25 | ||
26 | // Cast `f` (a `FnDef`) to `fn()` should not warn | |
27 | fn f() {} | |
28 | let _ = f as fn(); | |
29 | } | |
30 | ||
31 | fn test_function_var_to_numeric_cast() { | |
32 | let abc: fn() -> String = foo; | |
33 | ||
34 | let _ = abc as i8; | |
35 | let _ = abc as i16; | |
36 | let _ = abc as i32; | |
37 | let _ = abc as i64; | |
38 | let _ = abc as i128; | |
39 | let _ = abc as isize; | |
40 | ||
41 | let _ = abc as u8; | |
42 | let _ = abc as u16; | |
43 | let _ = abc as u32; | |
44 | let _ = abc as u64; | |
45 | let _ = abc as u128; | |
46 | ||
47 | // Casting to usize is OK and should not warn | |
48 | let _ = abc as usize; | |
49 | } | |
50 | ||
51 | fn fn_with_fn_args(f: fn(i32) -> i32) -> i32 { | |
52 | f as i32 | |
53 | } | |
54 | ||
55 | fn main() {} |