diff options
| author | Centri3 <114838443+Centri3@users.noreply.github.com> | 2023-05-25 04:05:13 -0500 |
|---|---|---|
| committer | Centri3 <114838443+Centri3@users.noreply.github.com> | 2023-05-25 04:05:13 -0500 |
| commit | d2de5769a134eb71f3481e93db31aaf0eeba1af7 (patch) | |
| tree | 741109dd79669bfbeaa1adc586b56381b266ecac | |
| parent | 94e586e85d8ecc278ed8766ffafdc39d41583b4e (diff) | |
| download | rust-d2de5769a134eb71f3481e93db31aaf0eeba1af7.tar.gz rust-d2de5769a134eb71f3481e93db31aaf0eeba1af7.zip | |
add generics in test
| -rw-r--r-- | tests/ui/unnecessary_cast.fixed | 15 | ||||
| -rw-r--r-- | tests/ui/unnecessary_cast.rs | 15 | ||||
| -rw-r--r-- | tests/ui/unnecessary_cast.stderr | 96 |
3 files changed, 88 insertions, 38 deletions
diff --git a/tests/ui/unnecessary_cast.fixed b/tests/ui/unnecessary_cast.fixed index 7038a2915cb..42fcb6ef411 100644 --- a/tests/ui/unnecessary_cast.fixed +++ b/tests/ui/unnecessary_cast.fixed @@ -1,7 +1,7 @@ //@run-rustfix #![warn(clippy::unnecessary_cast)] #![allow( - unused_must_use, + unused, clippy::borrow_as_ptr, clippy::no_effect, clippy::nonstandard_macro_braces, @@ -11,6 +11,14 @@ type PtrConstU8 = *const u8; type PtrMutU8 = *mut u8; +fn owo<T>(ptr: *const T) -> *const T { + ptr +} + +fn uwu<T, U>(ptr: *const T) -> *const U { + ptr as *const U +} + #[rustfmt::skip] fn main() { // Test cast_unnecessary @@ -25,6 +33,8 @@ fn main() { 1_i32; 1_f32; + let _: *mut u8 = [1u8, 2].as_ptr() as *mut u8; + [1u8, 2].as_ptr(); [1u8, 2].as_ptr() as *mut u8; [1u8, 2].as_mut_ptr(); @@ -36,6 +46,9 @@ fn main() { let _: *const u8 = [1u8, 2].as_ptr() as _; let _: *mut u8 = [1u8, 2].as_mut_ptr() as _; + owo::<u32>([1u32].as_ptr()); + uwu::<u32, u8>([1u32].as_ptr()); + // macro version macro_rules! foo { ($a:ident, $b:ident) => { diff --git a/tests/ui/unnecessary_cast.rs b/tests/ui/unnecessary_cast.rs index 5e766405809..2daf2e9938f 100644 --- a/tests/ui/unnecessary_cast.rs +++ b/tests/ui/unnecessary_cast.rs @@ -1,7 +1,7 @@ //@run-rustfix #![warn(clippy::unnecessary_cast)] #![allow( - unused_must_use, + unused, clippy::borrow_as_ptr, clippy::no_effect, clippy::nonstandard_macro_braces, @@ -11,6 +11,14 @@ type PtrConstU8 = *const u8; type PtrMutU8 = *mut u8; +fn owo<T>(ptr: *const T) -> *const T { + ptr as *const T +} + +fn uwu<T, U>(ptr: *const T) -> *const U { + ptr as *const U +} + #[rustfmt::skip] fn main() { // Test cast_unnecessary @@ -25,6 +33,8 @@ fn main() { 1_i32 as i32; 1_f32 as f32; + let _: *mut u8 = [1u8, 2].as_ptr() as *const u8 as *mut u8; + [1u8, 2].as_ptr() as *const u8; [1u8, 2].as_ptr() as *mut u8; [1u8, 2].as_mut_ptr() as *mut u8; @@ -36,6 +46,9 @@ fn main() { let _: *const u8 = [1u8, 2].as_ptr() as _; let _: *mut u8 = [1u8, 2].as_mut_ptr() as _; + owo::<u32>([1u32].as_ptr()) as *const u32; + uwu::<u32, u8>([1u32].as_ptr()) as *const u8; + // macro version macro_rules! foo { ($a:ident, $b:ident) => { diff --git a/tests/ui/unnecessary_cast.stderr b/tests/ui/unnecessary_cast.stderr index 077274c2337..61e165e2ddd 100644 --- a/tests/ui/unnecessary_cast.stderr +++ b/tests/ui/unnecessary_cast.stderr @@ -1,202 +1,226 @@ +error: casting raw pointers to the same type and constness is unnecessary (`*const T` -> `*const T`) + --> $DIR/unnecessary_cast.rs:15:5 + | +LL | ptr as *const T + | ^^^^^^^^^^^^^^^ help: try: `ptr` + | + = note: `-D clippy::unnecessary-cast` implied by `-D warnings` + error: casting integer literal to `i32` is unnecessary - --> $DIR/unnecessary_cast.rs:17:5 + --> $DIR/unnecessary_cast.rs:25:5 | LL | 1i32 as i32; | ^^^^^^^^^^^ help: try: `1_i32` - | - = note: `-D clippy::unnecessary-cast` implied by `-D warnings` error: casting float literal to `f32` is unnecessary - --> $DIR/unnecessary_cast.rs:18:5 + --> $DIR/unnecessary_cast.rs:26:5 | LL | 1f32 as f32; | ^^^^^^^^^^^ help: try: `1_f32` error: casting to the same type is unnecessary (`bool` -> `bool`) - --> $DIR/unnecessary_cast.rs:19:5 + --> $DIR/unnecessary_cast.rs:27:5 | LL | false as bool; | ^^^^^^^^^^^^^ help: try: `false` error: casting integer literal to `i32` is unnecessary - --> $DIR/unnecessary_cast.rs:22:5 + --> $DIR/unnecessary_cast.rs:30:5 | LL | -1_i32 as i32; | ^^^^^^^^^^^^^ help: try: `-1_i32` error: casting integer literal to `i32` is unnecessary - --> $DIR/unnecessary_cast.rs:23:5 + --> $DIR/unnecessary_cast.rs:31:5 | LL | - 1_i32 as i32; | ^^^^^^^^^^^^^^ help: try: `- 1_i32` error: casting float literal to `f32` is unnecessary - --> $DIR/unnecessary_cast.rs:24:5 + --> $DIR/unnecessary_cast.rs:32:5 | LL | -1f32 as f32; | ^^^^^^^^^^^^ help: try: `-1_f32` error: casting integer literal to `i32` is unnecessary - --> $DIR/unnecessary_cast.rs:25:5 + --> $DIR/unnecessary_cast.rs:33:5 | LL | 1_i32 as i32; | ^^^^^^^^^^^^ help: try: `1_i32` error: casting float literal to `f32` is unnecessary - --> $DIR/unnecessary_cast.rs:26:5 + --> $DIR/unnecessary_cast.rs:34:5 | LL | 1_f32 as f32; | ^^^^^^^^^^^^ help: try: `1_f32` error: casting raw pointers to the same type and constness is unnecessary (`*const u8` -> `*const u8`) - --> $DIR/unnecessary_cast.rs:28:5 + --> $DIR/unnecessary_cast.rs:36:22 + | +LL | let _: *mut u8 = [1u8, 2].as_ptr() as *const u8 as *mut u8; + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `[1u8, 2].as_ptr()` + +error: casting raw pointers to the same type and constness is unnecessary (`*const u8` -> `*const u8`) + --> $DIR/unnecessary_cast.rs:38:5 | LL | [1u8, 2].as_ptr() as *const u8; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `[1u8, 2].as_ptr()` error: casting raw pointers to the same type and constness is unnecessary (`*mut u8` -> `*mut u8`) - --> $DIR/unnecessary_cast.rs:30:5 + --> $DIR/unnecessary_cast.rs:40:5 | LL | [1u8, 2].as_mut_ptr() as *mut u8; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `[1u8, 2].as_mut_ptr()` +error: casting raw pointers to the same type and constness is unnecessary (`*const u32` -> `*const u32`) + --> $DIR/unnecessary_cast.rs:49:5 + | +LL | owo::<u32>([1u32].as_ptr()) as *const u32; + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `owo::<u32>([1u32].as_ptr())` + +error: casting raw pointers to the same type and constness is unnecessary (`*const u8` -> `*const u8`) + --> $DIR/unnecessary_cast.rs:50:5 + | +LL | uwu::<u32, u8>([1u32].as_ptr()) as *const u8; + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `uwu::<u32, u8>([1u32].as_ptr())` + error: casting integer literal to `f32` is unnecessary - --> $DIR/unnecessary_cast.rs:78:9 + --> $DIR/unnecessary_cast.rs:91:9 | LL | 100 as f32; | ^^^^^^^^^^ help: try: `100_f32` error: casting integer literal to `f64` is unnecessary - --> $DIR/unnecessary_cast.rs:79:9 + --> $DIR/unnecessary_cast.rs:92:9 | LL | 100 as f64; | ^^^^^^^^^^ help: try: `100_f64` error: casting integer literal to `f64` is unnecessary - --> $DIR/unnecessary_cast.rs:80:9 + --> $DIR/unnecessary_cast.rs:93:9 | LL | 100_i32 as f64; | ^^^^^^^^^^^^^^ help: try: `100_f64` error: casting integer literal to `f32` is unnecessary - --> $DIR/unnecessary_cast.rs:81:17 + --> $DIR/unnecessary_cast.rs:94:17 | LL | let _ = -100 as f32; | ^^^^^^^^^^^ help: try: `-100_f32` error: casting integer literal to `f64` is unnecessary - --> $DIR/unnecessary_cast.rs:82:17 + --> $DIR/unnecessary_cast.rs:95:17 | LL | let _ = -100 as f64; | ^^^^^^^^^^^ help: try: `-100_f64` error: casting integer literal to `f64` is unnecessary - --> $DIR/unnecessary_cast.rs:83:17 + --> $DIR/unnecessary_cast.rs:96:17 | LL | let _ = -100_i32 as f64; | ^^^^^^^^^^^^^^^ help: try: `-100_f64` error: casting float literal to `f32` is unnecessary - --> $DIR/unnecessary_cast.rs:84:9 + --> $DIR/unnecessary_cast.rs:97:9 | LL | 100. as f32; | ^^^^^^^^^^^ help: try: `100_f32` error: casting float literal to `f64` is unnecessary - --> $DIR/unnecessary_cast.rs:85:9 + --> $DIR/unnecessary_cast.rs:98:9 | LL | 100. as f64; | ^^^^^^^^^^^ help: try: `100_f64` error: casting integer literal to `u32` is unnecessary - --> $DIR/unnecessary_cast.rs:97:9 + --> $DIR/unnecessary_cast.rs:110:9 | LL | 1 as u32; | ^^^^^^^^ help: try: `1_u32` error: casting integer literal to `i32` is unnecessary - --> $DIR/unnecessary_cast.rs:98:9 + --> $DIR/unnecessary_cast.rs:111:9 | LL | 0x10 as i32; | ^^^^^^^^^^^ help: try: `0x10_i32` error: casting integer literal to `usize` is unnecessary - --> $DIR/unnecessary_cast.rs:99:9 + --> $DIR/unnecessary_cast.rs:112:9 | LL | 0b10 as usize; | ^^^^^^^^^^^^^ help: try: `0b10_usize` error: casting integer literal to `u16` is unnecessary - --> $DIR/unnecessary_cast.rs:100:9 + --> $DIR/unnecessary_cast.rs:113:9 | LL | 0o73 as u16; | ^^^^^^^^^^^ help: try: `0o73_u16` error: casting integer literal to `u32` is unnecessary - --> $DIR/unnecessary_cast.rs:101:9 + --> $DIR/unnecessary_cast.rs:114:9 | LL | 1_000_000_000 as u32; | ^^^^^^^^^^^^^^^^^^^^ help: try: `1_000_000_000_u32` error: casting float literal to `f64` is unnecessary - --> $DIR/unnecessary_cast.rs:103:9 + --> $DIR/unnecessary_cast.rs:116:9 | LL | 1.0 as f64; | ^^^^^^^^^^ help: try: `1.0_f64` error: casting float literal to `f32` is unnecessary - --> $DIR/unnecessary_cast.rs:104:9 + --> $DIR/unnecessary_cast.rs:117:9 | LL | 0.5 as f32; | ^^^^^^^^^^ help: try: `0.5_f32` error: casting integer literal to `i32` is unnecessary - --> $DIR/unnecessary_cast.rs:108:17 + --> $DIR/unnecessary_cast.rs:121:17 | LL | let _ = -1 as i32; | ^^^^^^^^^ help: try: `-1_i32` error: casting float literal to `f32` is unnecessary - --> $DIR/unnecessary_cast.rs:109:17 + --> $DIR/unnecessary_cast.rs:122:17 | LL | let _ = -1.0 as f32; | ^^^^^^^^^^^ help: try: `-1.0_f32` error: casting to the same type is unnecessary (`i32` -> `i32`) - --> $DIR/unnecessary_cast.rs:115:18 + --> $DIR/unnecessary_cast.rs:128:18 | LL | let _ = &(x as i32); | ^^^^^^^^^^ help: try: `{ x }` error: casting integer literal to `i32` is unnecessary - --> $DIR/unnecessary_cast.rs:121:22 + --> $DIR/unnecessary_cast.rs:134:22 | LL | let _: i32 = -(1) as i32; | ^^^^^^^^^^^ help: try: `-1_i32` error: casting integer literal to `i64` is unnecessary - --> $DIR/unnecessary_cast.rs:123:22 + --> $DIR/unnecessary_cast.rs:136:22 | LL | let _: i64 = -(1) as i64; | ^^^^^^^^^^^ help: try: `-1_i64` error: casting float literal to `f64` is unnecessary - --> $DIR/unnecessary_cast.rs:130:22 + --> $DIR/unnecessary_cast.rs:143:22 | LL | let _: f64 = (-8.0 as f64).exp(); | ^^^^^^^^^^^^^ help: try: `(-8.0_f64)` error: casting float literal to `f64` is unnecessary - --> $DIR/unnecessary_cast.rs:132:23 + --> $DIR/unnecessary_cast.rs:145:23 | LL | let _: f64 = -(8.0 as f64).exp(); // should suggest `-8.0_f64.exp()` here not to change code behavior | ^^^^^^^^^^^^ help: try: `8.0_f64` error: casting to the same type is unnecessary (`f32` -> `f32`) - --> $DIR/unnecessary_cast.rs:140:20 + --> $DIR/unnecessary_cast.rs:153:20 | LL | let _num = foo() as f32; | ^^^^^^^^^^^^ help: try: `foo()` -error: aborting due to 33 previous errors +error: aborting due to 37 previous errors |
