[INFO] updating cached repository m1kc/sfn-rust [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/m1kc/sfn-rust [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/m1kc/sfn-rust" "work/ex/clippy-test-run/sources/stable/gh/m1kc/sfn-rust"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/m1kc/sfn-rust'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/m1kc/sfn-rust" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/m1kc/sfn-rust"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/m1kc/sfn-rust'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 117a6c663dff70a171fba6cbe9ebde3bf3d7cd95 [INFO] sha for GitHub repo m1kc/sfn-rust: 117a6c663dff70a171fba6cbe9ebde3bf3d7cd95 [INFO] validating manifest of m1kc/sfn-rust 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 m1kc/sfn-rust 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 m1kc/sfn-rust [INFO] finished frobbing m1kc/sfn-rust [INFO] frobbed toml for m1kc/sfn-rust written to work/ex/clippy-test-run/sources/stable/gh/m1kc/sfn-rust/Cargo.toml [INFO] started frobbing m1kc/sfn-rust [INFO] finished frobbing m1kc/sfn-rust [INFO] frobbed toml for m1kc/sfn-rust written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/m1kc/sfn-rust/Cargo.toml [INFO] crate m1kc/sfn-rust has a lockfile. skipping [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 m1kc/sfn-rust 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/gh/m1kc/sfn-rust:/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] 7fe6d9e5198558126e5461f1f5756afae9e7e1128546c8519178ad581d2fc871 [INFO] running `"docker" "start" "-a" "7fe6d9e5198558126e5461f1f5756afae9e7e1128546c8519178ad581d2fc871"` [INFO] [stderr] Checking md5 v0.5.0 [INFO] [stderr] Checking sfn v1.0.0 (/opt/crater/workdir) [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/protocol/sm_header.rs:69:3 [INFO] [stderr] | [INFO] [stderr] 69 | return Ok(SMFileHeader{ filename, size, md5 }); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(SMFileHeader{ filename, size, md5 })` [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: unneeded return statement [INFO] [stderr] --> src/main.rs:56:3 [INFO] [stderr] | [INFO] [stderr] 56 | return work_as_server(listen_addr, filenames); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `work_as_server(listen_addr, filenames)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:58:3 [INFO] [stderr] | [INFO] [stderr] 58 | return work_as_client(connect_addr, filenames); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `work_as_client(connect_addr, filenames)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:82:2 [INFO] [stderr] | [INFO] [stderr] 82 | return protocol::handle_client(sock, files); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `protocol::handle_client(sock, files)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/protocol/sm_header.rs:69:3 [INFO] [stderr] | [INFO] [stderr] 69 | return Ok(SMFileHeader{ filename, size, md5 }); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(SMFileHeader{ filename, size, md5 })` [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: unneeded return statement [INFO] [stderr] --> src/main.rs:56:3 [INFO] [stderr] | [INFO] [stderr] 56 | return work_as_server(listen_addr, filenames); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `work_as_server(listen_addr, filenames)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:58:3 [INFO] [stderr] | [INFO] [stderr] 58 | return work_as_client(connect_addr, filenames); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `work_as_client(connect_addr, filenames)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:82:2 [INFO] [stderr] | [INFO] [stderr] 82 | return protocol::handle_client(sock, files); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `protocol::handle_client(sock, files)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `i*2` [INFO] [stderr] --> src/protocol/sm_header.rs:52:28 [INFO] [stderr] | [INFO] [stderr] 52 | let c1: u8 = parse_hex(s[i*2+0] as char); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/protocol/sm_header.rs:77:3 [INFO] [stderr] | [INFO] [stderr] 77 | stream.write(&[ opcode ])?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/protocol/sm_header.rs:79:3 [INFO] [stderr] | [INFO] [stderr] 79 | stream.write(self.filename.as_bytes())?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/protocol/sm_header.rs:80:3 [INFO] [stderr] | [INFO] [stderr] 80 | stream.write(&[ 0x0A ])?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: slow zero-filling initialization [INFO] [stderr] --> src/protocol.rs:36:4 [INFO] [stderr] | [INFO] [stderr] 34 | let mut buf = Vec::with_capacity(BUFFER_SIZE); [INFO] [stderr] | ------------------------------- help: consider replace allocation with: `vec![0; BUFFER_SIZE]` [INFO] [stderr] 35 | loop { [INFO] [stderr] 36 | buf.resize(BUFFER_SIZE, 0x00); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::slow_vector_initialization)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#slow_vector_initialization [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/protocol.rs:43:4 [INFO] [stderr] | [INFO] [stderr] 43 | stream.write(&buf)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/protocol.rs:47:2 [INFO] [stderr] | [INFO] [stderr] 47 | stream.write(&[ SFN_DONE ])?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: this loop never actually loops [INFO] [stderr] --> src/main.rs:67:2 [INFO] [stderr] | [INFO] [stderr] 67 | for stream in listener.incoming() { [INFO] [stderr] | _____^ [INFO] [stderr] 68 | | let stream = stream?; [INFO] [stderr] 69 | | println!("Accepted connection from {}", stream.peer_addr()?); [INFO] [stderr] 70 | | return protocol::handle_client(stream, files); [INFO] [stderr] 71 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::never_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#never_loop [INFO] [stderr] [INFO] [stderr] error: aborting due to 6 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `sfn`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `i*2` [INFO] [stderr] --> src/protocol/sm_header.rs:52:28 [INFO] [stderr] | [INFO] [stderr] 52 | let c1: u8 = parse_hex(s[i*2+0] as char); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/protocol/sm_header.rs:77:3 [INFO] [stderr] | [INFO] [stderr] 77 | stream.write(&[ opcode ])?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/protocol/sm_header.rs:79:3 [INFO] [stderr] | [INFO] [stderr] 79 | stream.write(self.filename.as_bytes())?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/protocol/sm_header.rs:80:3 [INFO] [stderr] | [INFO] [stderr] 80 | stream.write(&[ 0x0A ])?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: slow zero-filling initialization [INFO] [stderr] --> src/protocol.rs:36:4 [INFO] [stderr] | [INFO] [stderr] 34 | let mut buf = Vec::with_capacity(BUFFER_SIZE); [INFO] [stderr] | ------------------------------- help: consider replace allocation with: `vec![0; BUFFER_SIZE]` [INFO] [stderr] 35 | loop { [INFO] [stderr] 36 | buf.resize(BUFFER_SIZE, 0x00); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::slow_vector_initialization)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#slow_vector_initialization [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/protocol.rs:43:4 [INFO] [stderr] | [INFO] [stderr] 43 | stream.write(&buf)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/protocol.rs:47:2 [INFO] [stderr] | [INFO] [stderr] 47 | stream.write(&[ SFN_DONE ])?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: this loop never actually loops [INFO] [stderr] --> src/main.rs:67:2 [INFO] [stderr] | [INFO] [stderr] 67 | for stream in listener.incoming() { [INFO] [stderr] | _____^ [INFO] [stderr] 68 | | let stream = stream?; [INFO] [stderr] 69 | | println!("Accepted connection from {}", stream.peer_addr()?); [INFO] [stderr] 70 | | return protocol::handle_client(stream, files); [INFO] [stderr] 71 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::never_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#never_loop [INFO] [stderr] [INFO] [stderr] error: aborting due to 6 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `sfn`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "7fe6d9e5198558126e5461f1f5756afae9e7e1128546c8519178ad581d2fc871"` [INFO] running `"docker" "rm" "-f" "7fe6d9e5198558126e5461f1f5756afae9e7e1128546c8519178ad581d2fc871"` [INFO] [stdout] 7fe6d9e5198558126e5461f1f5756afae9e7e1128546c8519178ad581d2fc871