40 lines
719 B
Rust
40 lines
719 B
Rust
#![warn(clippy::unnecessary_cast)]
|
|
#![allow(clippy::no_effect)]
|
|
|
|
#[rustfmt::skip]
|
|
fn main() {
|
|
// Test cast_unnecessary
|
|
1i32 as i32;
|
|
1f32 as f32;
|
|
false as bool;
|
|
&1i32 as &i32;
|
|
|
|
-1_i32 as i32;
|
|
- 1_i32 as i32;
|
|
-1f32 as f32;
|
|
1_i32 as i32;
|
|
1_f32 as f32;
|
|
|
|
// macro version
|
|
macro_rules! foo {
|
|
($a:ident, $b:ident) => {
|
|
#[allow(unused)]
|
|
pub fn $a() -> $b {
|
|
1 as $b
|
|
}
|
|
};
|
|
}
|
|
foo!(a, i32);
|
|
foo!(b, f32);
|
|
foo!(c, f64);
|
|
|
|
// do not lint cast to cfg-dependant type
|
|
1 as std::os::raw::c_char;
|
|
|
|
// do not lint cast to alias type
|
|
1 as I32Alias;
|
|
&1 as &I32Alias;
|
|
}
|
|
|
|
type I32Alias = i32;
|