[INFO] crate mcp3008 1.0.0 is already in cache [INFO] extracting crate mcp3008 1.0.0 into work/ex/clippy-test-run/sources/stable/reg/mcp3008/1.0.0 [INFO] extracting crate mcp3008 1.0.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/mcp3008/1.0.0 [INFO] validating manifest of mcp3008-1.0.0 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 mcp3008-1.0.0 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 mcp3008-1.0.0 [INFO] finished frobbing mcp3008-1.0.0 [INFO] frobbed toml for mcp3008-1.0.0 written to work/ex/clippy-test-run/sources/stable/reg/mcp3008/1.0.0/Cargo.toml [INFO] started frobbing mcp3008-1.0.0 [INFO] finished frobbing mcp3008-1.0.0 [INFO] frobbed toml for mcp3008-1.0.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/mcp3008/1.0.0/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 mcp3008-1.0.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-4/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/mcp3008/1.0.0:/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] 1d91deb85a4262125c2ff1c2c74918be2aa5f6ece8cec02bc0125e431a9b714e [INFO] running `"docker" "start" "-a" "1d91deb85a4262125c2ff1c2c74918be2aa5f6ece8cec02bc0125e431a9b714e"` [INFO] [stderr] Checking mcp3008 v1.0.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:120:35 [INFO] [stderr] | [INFO] [stderr] 120 | Ok(_) => Ok(Mcp3008 { spi: spi }), [INFO] [stderr] | ^^^^^^^^ help: replace it with: `spi` [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/lib.rs:120:35 [INFO] [stderr] | [INFO] [stderr] 120 | Ok(_) => Ok(Mcp3008 { spi: spi }), [INFO] [stderr] | ^^^^^^^^ help: replace it with: `spi` [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:152:35 [INFO] [stderr] | [INFO] [stderr] 152 | let mut result = (rx_buf[0] as u16 & 0x01) << 9; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u16::from(rx_buf[0])` [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 u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:153:28 [INFO] [stderr] | [INFO] [stderr] 153 | result |= (rx_buf[1] as u16 & 0xFF) << 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u16::from(rx_buf[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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:154:28 [INFO] [stderr] | [INFO] [stderr] 154 | result |= (rx_buf[2] as u16 & 0x80) >> 7; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u16::from(rx_buf[2])` [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 `else { if .. }` block can be collapsed [INFO] [stderr] --> src/lib.rs:22:20 [INFO] [stderr] | [INFO] [stderr] 22 | } else { [INFO] [stderr] | ____________________^ [INFO] [stderr] 23 | | if let Ok(_) = env::var("TRAVIS_RUST_VERSION") { [INFO] [stderr] 24 | | println!("can't mock spi interface on travis, passing test..."); [INFO] [stderr] 25 | | } else { [INFO] [stderr] 26 | | panic!("can not test on current setup (no spi interface)"); [INFO] [stderr] 27 | | } [INFO] [stderr] 28 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 22 | } else if let Ok(_) = env::var("TRAVIS_RUST_VERSION") { [INFO] [stderr] 23 | println!("can't mock spi interface on travis, passing test..."); [INFO] [stderr] 24 | } else { [INFO] [stderr] 25 | panic!("can not test on current setup (no spi interface)"); [INFO] [stderr] 26 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_ok()` [INFO] [stderr] --> src/lib.rs:19:24 [INFO] [stderr] | [INFO] [stderr] 19 | if let Ok(_) = mcp3008.read_adc(8) { [INFO] [stderr] | _________________- ^^^^^ [INFO] [stderr] 20 | | panic!("read from adc > 7"); [INFO] [stderr] 21 | | } [INFO] [stderr] | |_________________- help: try this: `if mcp3008.read_adc(8).is_ok()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_ok()` [INFO] [stderr] --> src/lib.rs:23:24 [INFO] [stderr] | [INFO] [stderr] 23 | if let Ok(_) = env::var("TRAVIS_RUST_VERSION") { [INFO] [stderr] | _________________- ^^^^^ [INFO] [stderr] 24 | | println!("can't mock spi interface on travis, passing test..."); [INFO] [stderr] 25 | | } else { [INFO] [stderr] 26 | | panic!("can not test on current setup (no spi interface)"); [INFO] [stderr] 27 | | } [INFO] [stderr] | |_________________- help: try this: `if env::var("TRAVIS_RUST_VERSION").is_ok()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:152:35 [INFO] [stderr] | [INFO] [stderr] 152 | let mut result = (rx_buf[0] as u16 & 0x01) << 9; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u16::from(rx_buf[0])` [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 u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:153:28 [INFO] [stderr] | [INFO] [stderr] 153 | result |= (rx_buf[1] as u16 & 0xFF) << 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u16::from(rx_buf[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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:154:28 [INFO] [stderr] | [INFO] [stderr] 154 | result |= (rx_buf[2] as u16 & 0x80) >> 7; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u16::from(rx_buf[2])` [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] Finished dev [unoptimized + debuginfo] target(s) in 2.39s [INFO] running `"docker" "inspect" "1d91deb85a4262125c2ff1c2c74918be2aa5f6ece8cec02bc0125e431a9b714e"` [INFO] running `"docker" "rm" "-f" "1d91deb85a4262125c2ff1c2c74918be2aa5f6ece8cec02bc0125e431a9b714e"` [INFO] [stdout] 1d91deb85a4262125c2ff1c2c74918be2aa5f6ece8cec02bc0125e431a9b714e