[INFO] crate nvapi 0.1.2 is already in cache [INFO] extracting crate nvapi 0.1.2 into work/ex/clippy-test-run/sources/stable/reg/nvapi/0.1.2 [INFO] extracting crate nvapi 0.1.2 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/nvapi/0.1.2 [INFO] validating manifest of nvapi-0.1.2 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of nvapi-0.1.2 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing nvapi-0.1.2 [INFO] finished frobbing nvapi-0.1.2 [INFO] frobbed toml for nvapi-0.1.2 written to work/ex/clippy-test-run/sources/stable/reg/nvapi/0.1.2/Cargo.toml [INFO] started frobbing nvapi-0.1.2 [INFO] finished frobbing nvapi-0.1.2 [INFO] frobbed toml for nvapi-0.1.2 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/nvapi/0.1.2/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting nvapi-0.1.2 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-2/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/nvapi/0.1.2:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] b8cb11717c92f3defba50b589e24c07fae5057ba1000454a758a32e4fcd5712c [INFO] running `"docker" "start" "-a" "b8cb11717c92f3defba50b589e24c07fae5057ba1000454a758a32e4fcd5712c"` [INFO] [stderr] Checking nvapi-sys v0.1.2 [INFO] [stderr] Checking nvapi v0.1.2 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/clock.rs:98:13 [INFO] [stderr] | [INFO] [stderr] 98 | mask: mask, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `mask` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/clock.rs:550:17 [INFO] [stderr] | [INFO] [stderr] 550 | unknown: unknown, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `unknown` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gpu.rs:738:13 [INFO] [stderr] | [INFO] [stderr] 738 | value: value, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/clock.rs:98:13 [INFO] [stderr] | [INFO] [stderr] 98 | mask: mask, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `mask` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/clock.rs:550:17 [INFO] [stderr] | [INFO] [stderr] 550 | unknown: unknown, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `unknown` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gpu.rs:738:13 [INFO] [stderr] | [INFO] [stderr] 738 | value: value, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/types.rs:351:28 [INFO] [stderr] | [INFO] [stderr] 351 | } else if self.0 < 1000000 { [INFO] [stderr] | ^^^^^^^ help: consider: `1_000_000` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/types.rs:359:41 [INFO] [stderr] | [INFO] [stderr] 359 | let value = self.0 as f32 / 1048576.0; [INFO] [stderr] | ^^^^^^^^^ help: consider: `1_048_576.0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/types.rs:351:28 [INFO] [stderr] | [INFO] [stderr] 351 | } else if self.0 < 1000000 { [INFO] [stderr] | ^^^^^^^ help: consider: `1_000_000` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/types.rs:359:41 [INFO] [stderr] | [INFO] [stderr] 359 | let value = self.0 as f32 / 1048576.0; [INFO] [stderr] | ^^^^^^^^^ help: consider: `1_048_576.0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/clock.rs:328:5 [INFO] [stderr] | [INFO] [stderr] 328 | return s.iter().all(|&v| v == 0) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `s.iter().all(|&v| v == 0)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/clock.rs:340:17 [INFO] [stderr] | [INFO] [stderr] 340 | version: _, flags: 0, ref zero, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unneeded_field_pattern)] on by default [INFO] [stderr] = help: Try with `NV_VOLTAGE_STATUS_V1 { flags: 0, ref zero, value_uV, ref unknown, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/clock.rs:357:17 [INFO] [stderr] | [INFO] [stderr] 357 | version: _, percent, ref unknown, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `NV_VOLTAGE_BOOST_PERCENT { percent, ref unknown, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/clock.rs:328:5 [INFO] [stderr] | [INFO] [stderr] 328 | return s.iter().all(|&v| v == 0) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `s.iter().all(|&v| v == 0)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/clock.rs:340:17 [INFO] [stderr] | [INFO] [stderr] 340 | version: _, flags: 0, ref zero, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unneeded_field_pattern)] on by default [INFO] [stderr] = help: Try with `NV_VOLTAGE_STATUS_V1 { flags: 0, ref zero, value_uV, ref unknown, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/clock.rs:357:17 [INFO] [stderr] | [INFO] [stderr] 357 | version: _, percent, ref unknown, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `NV_VOLTAGE_BOOST_PERCENT { percent, ref unknown, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: unused variable: `unknown` [INFO] [stderr] --> src/clock.rs:426:20 [INFO] [stderr] | [INFO] [stderr] 426 | a: unknown, b: 0, power, d: 0 [INFO] [stderr] | ^^^^^^^ help: consider using `_unknown` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `unknown` [INFO] [stderr] --> src/clock.rs:426:20 [INFO] [stderr] | [INFO] [stderr] 426 | a: unknown, b: 0, power, d: 0 [INFO] [stderr] | ^^^^^^^ help: consider using `_unknown` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/types.rs:58:16 [INFO] [stderr] | [INFO] [stderr] 58 | pub fn get(&self) -> i32 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/types.rs:177:16 [INFO] [stderr] | [INFO] [stderr] 177 | pub fn get(&self) -> u32 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/types.rs:296:16 [INFO] [stderr] | [INFO] [stderr] 296 | pub fn get(&self) -> i32 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/types.rs:422:16 [INFO] [stderr] | [INFO] [stderr] 422 | pub fn get(&self) -> u32 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/clock.rs:108:15 [INFO] [stderr] | [INFO] [stderr] 108 | while self.mask.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.mask.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/thermal.rs:80:23 [INFO] [stderr] | [INFO] [stderr] 80 | .map(|t| (self.flags as _, t)) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u32::from(self.flags)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: The function/method `cooler::private::NvAPI_GPU_SetCoolerLevels` doesn't need a mutable reference [INFO] [stderr] --> src/gpu.rs:489:152 [INFO] [stderr] | [INFO] [stderr] 489 | sys::status_result(unsafe { cooler::private::NvAPI_GPU_SetCoolerLevels(self.0, index.unwrap_or(cooler::private::NVAPI_COOLER_TARGET_ALL as _), &mut data) }) [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_mut_passed)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/gpu.rs:607:5 [INFO] [stderr] | [INFO] [stderr] 607 | / pub fn i2c_read(&self, display_mask: u32, port: Option, port_is_ddc: bool, address: u8, register: &[u8], bytes: &mut [u8], speed: i2c::I2cSpeed) -> sys::Result { [INFO] [stderr] 608 | | trace!("i2c_read({}, {:?}, {:?}, 0x{:02x}, {:?}, {:?})", display_mask, port, port_is_ddc, address, register, speed); [INFO] [stderr] 609 | | let mut data = i2c::NV_I2C_INFO::zeroed(); [INFO] [stderr] 610 | | data.version = i2c::NV_I2C_INFO_VER; [INFO] [stderr] ... | [INFO] [stderr] 626 | | .map(|_| data.cbSize as usize) // TODO: not actually sure if this ever changes? [INFO] [stderr] 627 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/gpu.rs:622:33 [INFO] [stderr] | [INFO] [stderr] 622 | data.bIsPortIdSet = sys::NV_TRUE as _; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(sys::NV_TRUE)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/gpu.rs:629:5 [INFO] [stderr] | [INFO] [stderr] 629 | / pub fn i2c_write(&self, display_mask: u32, port: Option, port_is_ddc: bool, address: u8, register: &[u8], bytes: &[u8], speed: i2c::I2cSpeed) -> sys::Result<()> { [INFO] [stderr] 630 | | trace!("i2c_write({}, {:?}, {:?}, 0x{:02x}, {:?}, {:?})", display_mask, port, port_is_ddc, address, register, speed); [INFO] [stderr] 631 | | let mut data = i2c::NV_I2C_INFO::zeroed(); [INFO] [stderr] 632 | | data.version = i2c::NV_I2C_INFO_VER; [INFO] [stderr] ... | [INFO] [stderr] 648 | | .map(drop) [INFO] [stderr] 649 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/gpu.rs:644:33 [INFO] [stderr] | [INFO] [stderr] 644 | data.bIsPortIdSet = sys::NV_TRUE as _; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(sys::NV_TRUE)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/types.rs:58:16 [INFO] [stderr] | [INFO] [stderr] 58 | pub fn get(&self) -> i32 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/gpu.rs:696:26 [INFO] [stderr] | [INFO] [stderr] 696 | Vendor::from_raw(self.vendor_id() as _) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.vendor_id())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/types.rs:177:16 [INFO] [stderr] | [INFO] [stderr] 177 | pub fn get(&self) -> u32 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/types.rs:296:16 [INFO] [stderr] | [INFO] [stderr] 296 | pub fn get(&self) -> i32 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/gpu.rs:742:17 [INFO] [stderr] | [INFO] [stderr] 742 | pub fn wddm(&self) -> (u8, u8) { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/types.rs:422:16 [INFO] [stderr] | [INFO] [stderr] 422 | pub fn get(&self) -> u32 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/clock.rs:108:15 [INFO] [stderr] | [INFO] [stderr] 108 | while self.mask.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.mask.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/thermal.rs:80:23 [INFO] [stderr] | [INFO] [stderr] 80 | .map(|t| (self.flags as _, t)) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u32::from(self.flags)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: The function/method `cooler::private::NvAPI_GPU_SetCoolerLevels` doesn't need a mutable reference [INFO] [stderr] --> src/gpu.rs:489:152 [INFO] [stderr] | [INFO] [stderr] 489 | sys::status_result(unsafe { cooler::private::NvAPI_GPU_SetCoolerLevels(self.0, index.unwrap_or(cooler::private::NVAPI_COOLER_TARGET_ALL as _), &mut data) }) [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_mut_passed)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/gpu.rs:607:5 [INFO] [stderr] | [INFO] [stderr] 607 | / pub fn i2c_read(&self, display_mask: u32, port: Option, port_is_ddc: bool, address: u8, register: &[u8], bytes: &mut [u8], speed: i2c::I2cSpeed) -> sys::Result { [INFO] [stderr] 608 | | trace!("i2c_read({}, {:?}, {:?}, 0x{:02x}, {:?}, {:?})", display_mask, port, port_is_ddc, address, register, speed); [INFO] [stderr] 609 | | let mut data = i2c::NV_I2C_INFO::zeroed(); [INFO] [stderr] 610 | | data.version = i2c::NV_I2C_INFO_VER; [INFO] [stderr] ... | [INFO] [stderr] 626 | | .map(|_| data.cbSize as usize) // TODO: not actually sure if this ever changes? [INFO] [stderr] 627 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/gpu.rs:622:33 [INFO] [stderr] | [INFO] [stderr] 622 | data.bIsPortIdSet = sys::NV_TRUE as _; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(sys::NV_TRUE)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/gpu.rs:629:5 [INFO] [stderr] | [INFO] [stderr] 629 | / pub fn i2c_write(&self, display_mask: u32, port: Option, port_is_ddc: bool, address: u8, register: &[u8], bytes: &[u8], speed: i2c::I2cSpeed) -> sys::Result<()> { [INFO] [stderr] 630 | | trace!("i2c_write({}, {:?}, {:?}, 0x{:02x}, {:?}, {:?})", display_mask, port, port_is_ddc, address, register, speed); [INFO] [stderr] 631 | | let mut data = i2c::NV_I2C_INFO::zeroed(); [INFO] [stderr] 632 | | data.version = i2c::NV_I2C_INFO_VER; [INFO] [stderr] ... | [INFO] [stderr] 648 | | .map(drop) [INFO] [stderr] 649 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/gpu.rs:644:33 [INFO] [stderr] | [INFO] [stderr] 644 | data.bIsPortIdSet = sys::NV_TRUE as _; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(sys::NV_TRUE)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/gpu.rs:696:26 [INFO] [stderr] | [INFO] [stderr] 696 | Vendor::from_raw(self.vendor_id() as _) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.vendor_id())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/gpu.rs:742:17 [INFO] [stderr] | [INFO] [stderr] 742 | pub fn wddm(&self) -> (u8, u8) { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 13.59s [INFO] running `"docker" "inspect" "b8cb11717c92f3defba50b589e24c07fae5057ba1000454a758a32e4fcd5712c"` [INFO] running `"docker" "rm" "-f" "b8cb11717c92f3defba50b589e24c07fae5057ba1000454a758a32e4fcd5712c"` [INFO] [stdout] b8cb11717c92f3defba50b589e24c07fae5057ba1000454a758a32e4fcd5712c