[INFO] updating cached repository sector-f/peregrine [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/sector-f/peregrine [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/sector-f/peregrine" "work/ex/clippy-test-run/sources/stable/gh/sector-f/peregrine"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/sector-f/peregrine'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/sector-f/peregrine" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/sector-f/peregrine"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/sector-f/peregrine'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 98507963a7eb8856caac21d6e72721f3daa15283 [INFO] sha for GitHub repo sector-f/peregrine: 98507963a7eb8856caac21d6e72721f3daa15283 [INFO] validating manifest of sector-f/peregrine 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 sector-f/peregrine 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 sector-f/peregrine [INFO] finished frobbing sector-f/peregrine [INFO] frobbed toml for sector-f/peregrine written to work/ex/clippy-test-run/sources/stable/gh/sector-f/peregrine/Cargo.toml [INFO] started frobbing sector-f/peregrine [INFO] finished frobbing sector-f/peregrine [INFO] frobbed toml for sector-f/peregrine written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/sector-f/peregrine/Cargo.toml [INFO] crate sector-f/peregrine 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 sector-f/peregrine 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/gh/sector-f/peregrine:/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] 1f7f8fe6a36dce8e6010433592a94e512a9c794cdc9c712b057ac24646b9f072 [INFO] running `"docker" "start" "-a" "1f7f8fe6a36dce8e6010433592a94e512a9c794cdc9c712b057ac24646b9f072"` [INFO] [stderr] Compiling openssl v0.9.10 [INFO] [stderr] Checking lazy_static v0.2.5 [INFO] [stderr] Checking rustc-serialize v0.3.23 [INFO] [stderr] Checking threadpool v1.3.2 [INFO] [stderr] Checking num_cpus v1.3.0 [INFO] [stderr] Compiling hyper v0.10.5 [INFO] [stderr] Checking idna v0.1.0 [INFO] [stderr] Checking clap v2.22.2 [INFO] [stderr] Checking url v1.4.0 [INFO] [stderr] Checking native-tls v0.1.1 [INFO] [stderr] Checking hyper-native-tls v0.2.2 [INFO] [stderr] Checking peregrine v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/dl.rs:52:13 [INFO] [stderr] | [INFO] [stderr] 52 | url: url, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `url` [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/dl.rs:53:13 [INFO] [stderr] | [INFO] [stderr] 53 | name: name, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/dl.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | ranges: ranges, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `ranges` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/dl.rs:96:13 [INFO] [stderr] | [INFO] [stderr] 96 | url: url, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `url` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/dl.rs:97:13 [INFO] [stderr] | [INFO] [stderr] 97 | name: name, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/dl.rs:52:13 [INFO] [stderr] | [INFO] [stderr] 52 | url: url, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `url` [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/dl.rs:53:13 [INFO] [stderr] | [INFO] [stderr] 53 | name: name, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/dl.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | ranges: ranges, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `ranges` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/dl.rs:96:13 [INFO] [stderr] | [INFO] [stderr] 96 | url: url, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `url` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/dl.rs:97:13 [INFO] [stderr] | [INFO] [stderr] 97 | name: name, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread` [INFO] [stderr] --> src/main.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | use std::thread; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Read` [INFO] [stderr] --> src/main.rs:19:15 [INFO] [stderr] | [INFO] [stderr] 19 | use std::io::{Read, Write, copy, stderr}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `hyper::Url` [INFO] [stderr] --> src/dl.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use hyper::Url; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Path` [INFO] [stderr] --> src/dl.rs:6:17 [INFO] [stderr] | [INFO] [stderr] 6 | use std::path::{Path, PathBuf}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | return Err(format!("{}", e)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(format!("{}", e))` [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: `std::thread` [INFO] [stderr] --> src/main.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | use std::thread; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Read` [INFO] [stderr] --> src/main.rs:19:15 [INFO] [stderr] | [INFO] [stderr] 19 | use std::io::{Read, Write, copy, stderr}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `hyper::Url` [INFO] [stderr] --> src/dl.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use hyper::Url; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Path` [INFO] [stderr] --> src/dl.rs:6:17 [INFO] [stderr] | [INFO] [stderr] 6 | use std::path::{Path, PathBuf}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | return Err(format!("{}", e)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(format!("{}", e))` [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 variable: `part_number` [INFO] [stderr] --> src/main.rs:106:25 [INFO] [stderr] | [INFO] [stderr] 106 | let mut part_number: u64 = 1; [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_part_number` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `copied_bits` [INFO] [stderr] --> src/main.rs:200:29 [INFO] [stderr] | [INFO] [stderr] 200 | let copied_bits = copy(&mut response, &mut file); [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_copied_bits` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `copied_bits` [INFO] [stderr] --> src/main.rs:216:25 [INFO] [stderr] | [INFO] [stderr] 216 | let copied_bits = copy(&mut response, &mut file); [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_copied_bits` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sections` [INFO] [stderr] --> src/main.rs:144:9 [INFO] [stderr] | [INFO] [stderr] 144 | let sections = 3; [INFO] [stderr] | ^^^^^^^^ help: consider using `_sections` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ranges` [INFO] [stderr] --> src/main.rs:183:21 [INFO] [stderr] | [INFO] [stderr] 183 | let ranges = part_dl.ranges(); [INFO] [stderr] | ^^^^^^ help: consider using `_ranges` instead [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/dl.rs:26:9 [INFO] [stderr] | [INFO] [stderr] 26 | / match self { [INFO] [stderr] 27 | | &Download::Partial(ref part_dl) => { [INFO] [stderr] 28 | | part_dl.ranges.len() [INFO] [stderr] 29 | | }, [INFO] [stderr] ... | [INFO] [stderr] 32 | | } [INFO] [stderr] 33 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 26 | match *self { [INFO] [stderr] 27 | Download::Partial(ref part_dl) => { [INFO] [stderr] 28 | part_dl.ranges.len() [INFO] [stderr] 29 | }, [INFO] [stderr] 30 | Download::Full(_) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused variable: `part_number` [INFO] [stderr] --> src/main.rs:106:25 [INFO] [stderr] | [INFO] [stderr] 106 | let mut part_number: u64 = 1; [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_part_number` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `copied_bits` [INFO] [stderr] --> src/main.rs:200:29 [INFO] [stderr] | [INFO] [stderr] 200 | let copied_bits = copy(&mut response, &mut file); [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_copied_bits` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `copied_bits` [INFO] [stderr] --> src/main.rs:216:25 [INFO] [stderr] | [INFO] [stderr] 216 | let copied_bits = copy(&mut response, &mut file); [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_copied_bits` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sections` [INFO] [stderr] --> src/main.rs:144:9 [INFO] [stderr] | [INFO] [stderr] 144 | let sections = 3; [INFO] [stderr] | ^^^^^^^^ help: consider using `_sections` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ranges` [INFO] [stderr] --> src/main.rs:183:21 [INFO] [stderr] | [INFO] [stderr] 183 | let ranges = part_dl.ranges(); [INFO] [stderr] | ^^^^^^ help: consider using `_ranges` instead [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/main.rs:57:9 [INFO] [stderr] | [INFO] [stderr] 57 | let ref headers = response.headers; [INFO] [stderr] | ----^^^^^^^^^^^-------------------- help: try: `let headers = &response.headers;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:201:25 [INFO] [stderr] | [INFO] [stderr] 201 | tx.send(()); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:217:21 [INFO] [stderr] | [INFO] [stderr] 217 | tx.send(()); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/dl.rs:26:9 [INFO] [stderr] | [INFO] [stderr] 26 | / match self { [INFO] [stderr] 27 | | &Download::Partial(ref part_dl) => { [INFO] [stderr] 28 | | part_dl.ranges.len() [INFO] [stderr] 29 | | }, [INFO] [stderr] ... | [INFO] [stderr] 32 | | } [INFO] [stderr] 33 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 26 | match *self { [INFO] [stderr] 27 | Download::Partial(ref part_dl) => { [INFO] [stderr] 28 | part_dl.ranges.len() [INFO] [stderr] 29 | }, [INFO] [stderr] 30 | Download::Full(_) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/main.rs:57:9 [INFO] [stderr] | [INFO] [stderr] 57 | let ref headers = response.headers; [INFO] [stderr] | ----^^^^^^^^^^^-------------------- help: try: `let headers = &response.headers;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:201:25 [INFO] [stderr] | [INFO] [stderr] 201 | tx.send(()); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:217:21 [INFO] [stderr] | [INFO] [stderr] 217 | tx.send(()); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 17.38s [INFO] running `"docker" "inspect" "1f7f8fe6a36dce8e6010433592a94e512a9c794cdc9c712b057ac24646b9f072"` [INFO] running `"docker" "rm" "-f" "1f7f8fe6a36dce8e6010433592a94e512a9c794cdc9c712b057ac24646b9f072"` [INFO] [stdout] 1f7f8fe6a36dce8e6010433592a94e512a9c794cdc9c712b057ac24646b9f072