rust-clippy icon indicating copy to clipboard operation
rust-clippy copied to clipboard

`unnecessary_cast` false negative: parameter vs. local

Open ojeda opened this issue 1 year ago • 0 comments

Summary

unnecessary_cast appears to trigger for a parameter, but not for a local.

Lint Name

unnecessary_cast

Reproducer

I tried this code:

fn g() -> i16 { 42 }

pub fn f1() -> i32 {
    let x = g();
    x as i32 as i32
}

pub fn f2(x: i16) -> i32 {
    x as i32 as i32
}

I expected to see this happen: two lints, one on each function.

Instead, this happened: one lint, only on f2.

Version

rustc 1.83.0-nightly (18b1161ec 2024-10-02) binary: rustc commit-hash: 18b1161ec9eeab8927f91405bca0ddf59a4a26c9 commit-date: 2024-10-02 host: x86_64-unknown-linux-gnu release: 1.83.0-nightly LLVM version: 19.1.0

ojeda avatar Oct 03 '24 17:10 ojeda