[INFO] crate rustpi_io 0.1.0 is already in cache [INFO] extracting crate rustpi_io 0.1.0 into work/ex/clippy-test-run/sources/stable/reg/rustpi_io/0.1.0 [INFO] extracting crate rustpi_io 0.1.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/rustpi_io/0.1.0 [INFO] validating manifest of rustpi_io-0.1.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 rustpi_io-0.1.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 rustpi_io-0.1.0 [INFO] finished frobbing rustpi_io-0.1.0 [INFO] frobbed toml for rustpi_io-0.1.0 written to work/ex/clippy-test-run/sources/stable/reg/rustpi_io/0.1.0/Cargo.toml [INFO] started frobbing rustpi_io-0.1.0 [INFO] finished frobbing rustpi_io-0.1.0 [INFO] frobbed toml for rustpi_io-0.1.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/rustpi_io/0.1.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 rustpi_io-0.1.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/rustpi_io/0.1.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] 13859b2cf51cf7879aa6c7fae2119eab4b50cf80fb5d08d334550231210667a7 [INFO] running `"docker" "start" "-a" "13859b2cf51cf7879aa6c7fae2119eab4b50cf80fb5d08d334550231210667a7"` [INFO] [stderr] Checking rustpi_io v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gpio.rs:90:13 [INFO] [stderr] | [INFO] [stderr] 90 | mode: mode, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `mode` [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/gpio.rs:90:13 [INFO] [stderr] | [INFO] [stderr] 90 | mode: mode, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `mode` [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: long literal lacking separators [INFO] [stderr] --> src/pi.rs:223:42 [INFO] [stderr] | [INFO] [stderr] 223 | Type::from((revision_int >> 4) & 0b11111111u32).unwrap(), [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider: `0b1111_1111u32` [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/pi.rs:223:42 [INFO] [stderr] | [INFO] [stderr] 223 | Type::from((revision_int >> 4) & 0b11111111u32).unwrap(), [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider: `0b1111_1111u32` [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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/gpio.rs:65:56 [INFO] [stderr] | [INFO] [stderr] 65 | GPIOMode::Read => try!(direction.write_all("in".as_bytes())), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"in"` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::string_lit_as_bytes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/gpio.rs:66:57 [INFO] [stderr] | [INFO] [stderr] 66 | GPIOMode::Write => try!(direction.write_all("out".as_bytes())), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"out"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/gpio.rs:144:13 [INFO] [stderr] | [INFO] [stderr] 144 | / match unexport.write_all(format!("{}", self.pin).as_bytes()) { [INFO] [stderr] 145 | | Err(why) => panic!("couldn't close gpio {}: {}", self.pin, why), [INFO] [stderr] 146 | | Ok(_) => {} [INFO] [stderr] 147 | | } [INFO] [stderr] | |_____________^ help: try this: `if let Err(why) = unexport.write_all(format!("{}", self.pin).as_bytes()) { panic!("couldn't close gpio {}: {}", self.pin, why) }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you probably are missing some parameter in your format string [INFO] [stderr] --> src/gpio.rs:149:20 [INFO] [stderr] | [INFO] [stderr] 149 | panic!("file error: {}") [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::panic_params)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#panic_params [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/serial.rs:251:13 [INFO] [stderr] | [INFO] [stderr] 251 | buffer_read_count = buffer_read_count + try!(self.device.read(rest_buffer)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] help: replace it with [INFO] [stderr] | [INFO] [stderr] 251 | buffer_read_count += match $ expr { [INFO] [stderr] 252 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 253 | :: Err ( err ) => { [INFO] [stderr] 254 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 255 | $ crate :: convert :: From :: from ( err ) ) } }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/gpio.rs:65:56 [INFO] [stderr] | [INFO] [stderr] 65 | GPIOMode::Read => try!(direction.write_all("in".as_bytes())), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"in"` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::string_lit_as_bytes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/gpio.rs:66:57 [INFO] [stderr] | [INFO] [stderr] 66 | GPIOMode::Write => try!(direction.write_all("out".as_bytes())), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"out"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/gpio.rs:144:13 [INFO] [stderr] | [INFO] [stderr] 144 | / match unexport.write_all(format!("{}", self.pin).as_bytes()) { [INFO] [stderr] 145 | | Err(why) => panic!("couldn't close gpio {}: {}", self.pin, why), [INFO] [stderr] 146 | | Ok(_) => {} [INFO] [stderr] 147 | | } [INFO] [stderr] | |_____________^ help: try this: `if let Err(why) = unexport.write_all(format!("{}", self.pin).as_bytes()) { panic!("couldn't close gpio {}: {}", self.pin, why) }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you probably are missing some parameter in your format string [INFO] [stderr] --> src/gpio.rs:149:20 [INFO] [stderr] | [INFO] [stderr] 149 | panic!("file error: {}") [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::panic_params)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#panic_params [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/serial.rs:251:13 [INFO] [stderr] | [INFO] [stderr] 251 | buffer_read_count = buffer_read_count + try!(self.device.read(rest_buffer)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] help: replace it with [INFO] [stderr] | [INFO] [stderr] 251 | buffer_read_count += match $ expr { [INFO] [stderr] 252 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 253 | :: Err ( err ) => { [INFO] [stderr] 254 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 255 | $ crate :: convert :: From :: from ( err ) ) } }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.44s [INFO] running `"docker" "inspect" "13859b2cf51cf7879aa6c7fae2119eab4b50cf80fb5d08d334550231210667a7"` [INFO] running `"docker" "rm" "-f" "13859b2cf51cf7879aa6c7fae2119eab4b50cf80fb5d08d334550231210667a7"` [INFO] [stdout] 13859b2cf51cf7879aa6c7fae2119eab4b50cf80fb5d08d334550231210667a7