[INFO] crate tuneutils 0.1.1 is already in cache [INFO] extracting crate tuneutils 0.1.1 into work/ex/clippy-test-run/sources/stable/reg/tuneutils/0.1.1 [INFO] extracting crate tuneutils 0.1.1 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/tuneutils/0.1.1 [INFO] validating manifest of tuneutils-0.1.1 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 tuneutils-0.1.1 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 tuneutils-0.1.1 [INFO] finished frobbing tuneutils-0.1.1 [INFO] frobbed toml for tuneutils-0.1.1 written to work/ex/clippy-test-run/sources/stable/reg/tuneutils/0.1.1/Cargo.toml [INFO] started frobbing tuneutils-0.1.1 [INFO] finished frobbing tuneutils-0.1.1 [INFO] frobbed toml for tuneutils-0.1.1 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/tuneutils/0.1.1/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 tuneutils-0.1.1 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-0/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/tuneutils/0.1.1:/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] 3d3a2741ae0da550e975e721eb6c953f7dddd8910594840bebc87dcd10c18443 [INFO] running `"docker" "start" "-a" "3d3a2741ae0da550e975e721eb6c953f7dddd8910594840bebc87dcd10c18443"` [INFO] [stderr] Compiling feature-probe v0.1.1 [INFO] [stderr] Checking eval v0.4.3 [INFO] [stderr] Compiling bv v0.10.0 [INFO] [stderr] Checking tuneutils v0.1.1 (/opt/crater/workdir) [INFO] [stderr] warning: unused import: `IsotpCan` [INFO] [stderr] --> src/link.rs:9:33 [INFO] [stderr] | [INFO] [stderr] 9 | isotp::{self, IsotpInterface, IsotpCan}, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/link.rs:147:2 [INFO] [stderr] | [INFO] [stderr] 147 | links [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/link.rs:132:18 [INFO] [stderr] | [INFO] [stderr] 132 | let mut links = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: unused import: `self` [INFO] [stderr] --> src/authenticator.rs:2:19 [INFO] [stderr] | [INFO] [stderr] 2 | protocols::uds::{self, UdsInterface}, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/authenticator.rs:18:37 [INFO] [stderr] | [INFO] [stderr] 18 | let key = Self::generate_key(key, 0xC541A9, &seed); [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00C5_41A9` [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: unneeded return statement [INFO] [stderr] --> src/definition/mod.rs:232:3 [INFO] [stderr] | [INFO] [stderr] 232 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [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: unused import: `Path` [INFO] [stderr] --> src/rom/mod.rs:7:17 [INFO] [stderr] | [INFO] [stderr] 7 | use std::path::{Path, PathBuf}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Arc`, `Mutex` [INFO] [stderr] --> src/datalog.rs:6:17 [INFO] [stderr] | [INFO] [stderr] 6 | use std::sync::{Arc, Mutex}; [INFO] [stderr] | ^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/diagnostics.rs:29:21 [INFO] [stderr] | [INFO] [stderr] 29 | let second_char = ((self.raw[0] & 0x30) >> 4); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `IsotpCan` [INFO] [stderr] --> src/link.rs:9:33 [INFO] [stderr] | [INFO] [stderr] 9 | isotp::{self, IsotpInterface, IsotpCan}, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/link.rs:147:2 [INFO] [stderr] | [INFO] [stderr] 147 | links [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/link.rs:132:18 [INFO] [stderr] | [INFO] [stderr] 132 | let mut links = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: unused import: `self` [INFO] [stderr] --> src/authenticator.rs:2:19 [INFO] [stderr] | [INFO] [stderr] 2 | protocols::uds::{self, UdsInterface}, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/authenticator.rs:18:37 [INFO] [stderr] | [INFO] [stderr] 18 | let key = Self::generate_key(key, 0xC541A9, &seed); [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00C5_41A9` [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: unneeded return statement [INFO] [stderr] --> src/definition/mod.rs:232:3 [INFO] [stderr] | [INFO] [stderr] 232 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [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: unused import: `Path` [INFO] [stderr] --> src/rom/mod.rs:7:17 [INFO] [stderr] | [INFO] [stderr] 7 | use std::path::{Path, PathBuf}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Arc`, `Mutex` [INFO] [stderr] --> src/datalog.rs:6:17 [INFO] [stderr] | [INFO] [stderr] 6 | use std::sync::{Arc, Mutex}; [INFO] [stderr] | ^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/diagnostics.rs:29:21 [INFO] [stderr] | [INFO] [stderr] 29 | let second_char = ((self.raw[0] & 0x30) >> 4); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/error.rs:81:13 [INFO] [stderr] | [INFO] [stderr] 81 | _ => write!(f, "unimplemented: {:?}", *self), [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unreachable_patterns)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `r` [INFO] [stderr] --> src/authenticator.rs:38:8 [INFO] [stderr] | [INFO] [stderr] 38 | for r in (1..=8).rev() { [INFO] [stderr] | ^ help: consider using `_r` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/link.rs:132:6 [INFO] [stderr] | [INFO] [stderr] 132 | let mut links = Vec::new(); [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/error.rs:81:13 [INFO] [stderr] | [INFO] [stderr] 81 | _ => write!(f, "unimplemented: {:?}", *self), [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unreachable_patterns)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `r` [INFO] [stderr] --> src/authenticator.rs:38:8 [INFO] [stderr] | [INFO] [stderr] 38 | for r in (1..=8).rev() { [INFO] [stderr] | ^ help: consider using `_r` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/link.rs:132:6 [INFO] [stderr] | [INFO] [stderr] 132 | let mut links = Vec::new(); [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `index` [INFO] [stderr] --> src/protocols/isotp/mod.rs:101:5 [INFO] [stderr] | [INFO] [stderr] 101 | index: u8, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `data` [INFO] [stderr] --> src/protocols/isotp/mod.rs:102:5 [INFO] [stderr] | [INFO] [stderr] 102 | data: [u8; 7], [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `data_length` [INFO] [stderr] --> src/protocols/isotp/mod.rs:103:5 [INFO] [stderr] | [INFO] [stderr] 103 | data_length: u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_type` [INFO] [stderr] --> src/protocols/isotp/mod.rs:184:5 [INFO] [stderr] | [INFO] [stderr] 184 | fn get_type(&self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:83:30 [INFO] [stderr] | [INFO] [stderr] 83 | NumVariant::I8(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i16::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:87:30 [INFO] [stderr] | [INFO] [stderr] 87 | NumVariant::U8(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i16::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:83:30 [INFO] [stderr] | [INFO] [stderr] 83 | NumVariant::I8(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i32::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:84:31 [INFO] [stderr] | [INFO] [stderr] 84 | NumVariant::I16(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i32::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:87:30 [INFO] [stderr] | [INFO] [stderr] 87 | NumVariant::U8(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i32::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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/numvariant.rs:88:31 [INFO] [stderr] | [INFO] [stderr] 88 | NumVariant::U16(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i32::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 i8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:83:30 [INFO] [stderr] | [INFO] [stderr] 83 | NumVariant::I8(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 i16 to i64 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:84:31 [INFO] [stderr] | [INFO] [stderr] 84 | NumVariant::I16(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:85:31 [INFO] [stderr] | [INFO] [stderr] 85 | NumVariant::I32(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:87:30 [INFO] [stderr] | [INFO] [stderr] 87 | NumVariant::U8(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 i64 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:88:31 [INFO] [stderr] | [INFO] [stderr] 88 | NumVariant::U16(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:89:31 [INFO] [stderr] | [INFO] [stderr] 89 | NumVariant::U32(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:87:30 [INFO] [stderr] | [INFO] [stderr] 87 | NumVariant::U8(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:87:30 [INFO] [stderr] | [INFO] [stderr] 87 | NumVariant::U8(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u32::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:88:31 [INFO] [stderr] | [INFO] [stderr] 88 | NumVariant::U16(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u32::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:87:30 [INFO] [stderr] | [INFO] [stderr] 87 | NumVariant::U8(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u64::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 u64 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:88:31 [INFO] [stderr] | [INFO] [stderr] 88 | NumVariant::U16(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u64::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:89:31 [INFO] [stderr] | [INFO] [stderr] 89 | NumVariant::U32(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u64::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 i8 to f32 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:83:30 [INFO] [stderr] | [INFO] [stderr] 83 | NumVariant::I8(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f32::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 i16 to f32 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:84:31 [INFO] [stderr] | [INFO] [stderr] 84 | NumVariant::I16(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f32::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 u8 to f32 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:87:30 [INFO] [stderr] | [INFO] [stderr] 87 | NumVariant::U8(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f32::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 f32 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:88:31 [INFO] [stderr] | [INFO] [stderr] 88 | NumVariant::U16(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f32::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 i8 to f64 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:83:30 [INFO] [stderr] | [INFO] [stderr] 83 | NumVariant::I8(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f64::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 i16 to f64 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:84:31 [INFO] [stderr] | [INFO] [stderr] 84 | NumVariant::I16(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f64::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:85:31 [INFO] [stderr] | [INFO] [stderr] 85 | NumVariant::I32(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f64::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 u8 to f64 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:87:30 [INFO] [stderr] | [INFO] [stderr] 87 | NumVariant::U8(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f64::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:88:31 [INFO] [stderr] | [INFO] [stderr] 88 | NumVariant::U16(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f64::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:89:31 [INFO] [stderr] | [INFO] [stderr] 89 | NumVariant::U32(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f64::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:91:31 [INFO] [stderr] | [INFO] [stderr] 91 | NumVariant::F32(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f64::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/protocols/isotp/can.rs:19:44 [INFO] [stderr] | [INFO] [stderr] 19 | return time::Duration::from_millis(st as u64); [INFO] [stderr] | ^^^^^^^^^ help: try: `u64::from(st)` [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/protocols/isotp/can.rs:21:33 [INFO] [stderr] | [INFO] [stderr] 21 | time::Duration::from_micros(st as u64) [INFO] [stderr] | ^^^^^^^^^ help: try: `u64::from(st)` [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 u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/protocols/isotp/mod.rs:89:24 [INFO] [stderr] | [INFO] [stderr] 89 | let length = ((frame[0] as u16 & 0x0F) << 8) | frame[1] as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u16::from(frame[0])` [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 u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/protocols/isotp/mod.rs:89:56 [INFO] [stderr] | [INFO] [stderr] 89 | let length = ((frame[0] as u16 & 0x0F) << 8) | frame[1] as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u16::from(frame[1])` [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/download/mod.rs:9:16 [INFO] [stderr] | [INFO] [stderr] 9 | pub callback: Option>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/flash/mazda.rs:60:9 [INFO] [stderr] | [INFO] [stderr] 60 | while buffer.len() != 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!buffer.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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/flash/mod.rs:13:16 [INFO] [stderr] | [INFO] [stderr] 13 | pub callback: Option>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/link.rs:192:19 [INFO] [stderr] | [INFO] [stderr] 192 | let server_id = self.platform.transfer.server_id as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.platform.transfer.server_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: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/authenticator.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | let mut m: u32 = 0; [INFO] [stderr] | _________________^ [INFO] [stderr] 41 | | if s != 0 { [INFO] [stderr] 42 | | parameter |= 0x0100_0000; [INFO] [stderr] 43 | | m = 0x0010_9028; [INFO] [stderr] 44 | | } [INFO] [stderr] | |_________________^ help: it is more idiomatic to write: `let m = if s != 0 { ..; 0x0010_9028 } else { 0 };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: field is never used: `index` [INFO] [stderr] --> src/protocols/isotp/mod.rs:101:5 [INFO] [stderr] | [INFO] [stderr] 101 | index: u8, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `data` [INFO] [stderr] --> src/protocols/isotp/mod.rs:102:5 [INFO] [stderr] | [INFO] [stderr] 102 | data: [u8; 7], [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `data_length` [INFO] [stderr] --> src/protocols/isotp/mod.rs:103:5 [INFO] [stderr] | [INFO] [stderr] 103 | data_length: u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_type` [INFO] [stderr] --> src/protocols/isotp/mod.rs:184:5 [INFO] [stderr] | [INFO] [stderr] 184 | fn get_type(&self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:83:30 [INFO] [stderr] | [INFO] [stderr] 83 | NumVariant::I8(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i16::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:87:30 [INFO] [stderr] | [INFO] [stderr] 87 | NumVariant::U8(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i16::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:83:30 [INFO] [stderr] | [INFO] [stderr] 83 | NumVariant::I8(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i32::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:84:31 [INFO] [stderr] | [INFO] [stderr] 84 | NumVariant::I16(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i32::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:87:30 [INFO] [stderr] | [INFO] [stderr] 87 | NumVariant::U8(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i32::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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/numvariant.rs:88:31 [INFO] [stderr] | [INFO] [stderr] 88 | NumVariant::U16(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i32::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 i8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:83:30 [INFO] [stderr] | [INFO] [stderr] 83 | NumVariant::I8(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 i16 to i64 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:84:31 [INFO] [stderr] | [INFO] [stderr] 84 | NumVariant::I16(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:85:31 [INFO] [stderr] | [INFO] [stderr] 85 | NumVariant::I32(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:87:30 [INFO] [stderr] | [INFO] [stderr] 87 | NumVariant::U8(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 i64 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:88:31 [INFO] [stderr] | [INFO] [stderr] 88 | NumVariant::U16(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:89:31 [INFO] [stderr] | [INFO] [stderr] 89 | NumVariant::U32(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:87:30 [INFO] [stderr] | [INFO] [stderr] 87 | NumVariant::U8(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:87:30 [INFO] [stderr] | [INFO] [stderr] 87 | NumVariant::U8(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u32::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:88:31 [INFO] [stderr] | [INFO] [stderr] 88 | NumVariant::U16(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u32::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:87:30 [INFO] [stderr] | [INFO] [stderr] 87 | NumVariant::U8(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u64::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 u64 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:88:31 [INFO] [stderr] | [INFO] [stderr] 88 | NumVariant::U16(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u64::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:89:31 [INFO] [stderr] | [INFO] [stderr] 89 | NumVariant::U32(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u64::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 i8 to f32 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:83:30 [INFO] [stderr] | [INFO] [stderr] 83 | NumVariant::I8(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f32::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 i16 to f32 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:84:31 [INFO] [stderr] | [INFO] [stderr] 84 | NumVariant::I16(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f32::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 u8 to f32 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:87:30 [INFO] [stderr] | [INFO] [stderr] 87 | NumVariant::U8(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f32::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 f32 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:88:31 [INFO] [stderr] | [INFO] [stderr] 88 | NumVariant::U16(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f32::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 i8 to f64 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:83:30 [INFO] [stderr] | [INFO] [stderr] 83 | NumVariant::I8(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f64::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 i16 to f64 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:84:31 [INFO] [stderr] | [INFO] [stderr] 84 | NumVariant::I16(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f64::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:85:31 [INFO] [stderr] | [INFO] [stderr] 85 | NumVariant::I32(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f64::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 u8 to f64 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:87:30 [INFO] [stderr] | [INFO] [stderr] 87 | NumVariant::U8(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f64::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:88:31 [INFO] [stderr] | [INFO] [stderr] 88 | NumVariant::U16(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f64::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:89:31 [INFO] [stderr] | [INFO] [stderr] 89 | NumVariant::U32(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f64::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/numvariant.rs:91:31 [INFO] [stderr] | [INFO] [stderr] 91 | NumVariant::F32(num) => num as Self, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f64::from(num)` [INFO] [stderr] ... [INFO] [stderr] 100 | impl_variant!(i8, i16, i32, i64, u8, u16, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------------- in this macro invocation [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/protocols/isotp/can.rs:19:44 [INFO] [stderr] | [INFO] [stderr] 19 | return time::Duration::from_millis(st as u64); [INFO] [stderr] | ^^^^^^^^^ help: try: `u64::from(st)` [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/protocols/isotp/can.rs:21:33 [INFO] [stderr] | [INFO] [stderr] 21 | time::Duration::from_micros(st as u64) [INFO] [stderr] | ^^^^^^^^^ help: try: `u64::from(st)` [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 u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/protocols/isotp/mod.rs:89:24 [INFO] [stderr] | [INFO] [stderr] 89 | let length = ((frame[0] as u16 & 0x0F) << 8) | frame[1] as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u16::from(frame[0])` [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 u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/protocols/isotp/mod.rs:89:56 [INFO] [stderr] | [INFO] [stderr] 89 | let length = ((frame[0] as u16 & 0x0F) << 8) | frame[1] as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u16::from(frame[1])` [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/download/mod.rs:9:16 [INFO] [stderr] | [INFO] [stderr] 9 | pub callback: Option>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/flash/mazda.rs:60:9 [INFO] [stderr] | [INFO] [stderr] 60 | while buffer.len() != 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!buffer.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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/flash/mod.rs:13:16 [INFO] [stderr] | [INFO] [stderr] 13 | pub callback: Option>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/link.rs:192:19 [INFO] [stderr] | [INFO] [stderr] 192 | let server_id = self.platform.transfer.server_id as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.platform.transfer.server_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: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/authenticator.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | let mut m: u32 = 0; [INFO] [stderr] | _________________^ [INFO] [stderr] 41 | | if s != 0 { [INFO] [stderr] 42 | | parameter |= 0x0100_0000; [INFO] [stderr] 43 | | m = 0x0010_9028; [INFO] [stderr] 44 | | } [INFO] [stderr] | |_________________^ help: it is more idiomatic to write: `let m = if s != 0 { ..; 0x0010_9028 } else { 0 };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/rom/tune.rs:382:14 [INFO] [stderr] | [INFO] [stderr] 382 | return Ok(self.tables.get(&id).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.tables[&id]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: methods called `new` usually take no self; consider choosing a less ambiguous name [INFO] [stderr] --> src/rom/tune.rs:443:13 [INFO] [stderr] | [INFO] [stderr] 443 | pub fn new(&mut self, name: String, id: String, rom: &Rc) -> Tune { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: methods called `new` usually return `Self` [INFO] [stderr] --> src/rom/tune.rs:443:2 [INFO] [stderr] | [INFO] [stderr] 443 | pub fn new(&mut self, name: String, id: String, rom: &Rc) -> Tune { [INFO] [stderr] | _____^ [INFO] [stderr] 444 | | let tune = Tune { [INFO] [stderr] 445 | | rom: rom.clone(), [INFO] [stderr] 446 | | tables: HashMap::new(), [INFO] [stderr] ... | [INFO] [stderr] 455 | | tune [INFO] [stderr] 456 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_ret_no_self)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_ret_no_self [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/datalog.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | callbacks: Vec>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/datalog.rs:130:8 [INFO] [stderr] | [INFO] [stderr] 130 | if response.len() >= 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!response.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/rom/tune.rs:382:14 [INFO] [stderr] | [INFO] [stderr] 382 | return Ok(self.tables.get(&id).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.tables[&id]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: methods called `new` usually take no self; consider choosing a less ambiguous name [INFO] [stderr] --> src/rom/tune.rs:443:13 [INFO] [stderr] | [INFO] [stderr] 443 | pub fn new(&mut self, name: String, id: String, rom: &Rc) -> Tune { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: methods called `new` usually return `Self` [INFO] [stderr] --> src/rom/tune.rs:443:2 [INFO] [stderr] | [INFO] [stderr] 443 | pub fn new(&mut self, name: String, id: String, rom: &Rc) -> Tune { [INFO] [stderr] | _____^ [INFO] [stderr] 444 | | let tune = Tune { [INFO] [stderr] 445 | | rom: rom.clone(), [INFO] [stderr] 446 | | tables: HashMap::new(), [INFO] [stderr] ... | [INFO] [stderr] 455 | | tune [INFO] [stderr] 456 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_ret_no_self)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_ret_no_self [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/datalog.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | callbacks: Vec>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/datalog.rs:130:8 [INFO] [stderr] | [INFO] [stderr] 130 | if response.len() >= 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!response.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 9.28s [INFO] running `"docker" "inspect" "3d3a2741ae0da550e975e721eb6c953f7dddd8910594840bebc87dcd10c18443"` [INFO] running `"docker" "rm" "-f" "3d3a2741ae0da550e975e721eb6c953f7dddd8910594840bebc87dcd10c18443"` [INFO] [stdout] 3d3a2741ae0da550e975e721eb6c953f7dddd8910594840bebc87dcd10c18443