[INFO] updating cached repository chrisshyi/Karger-MinCut [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/chrisshyi/Karger-MinCut [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/chrisshyi/Karger-MinCut" "work/ex/clippy-test-run/sources/stable/gh/chrisshyi/Karger-MinCut"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/chrisshyi/Karger-MinCut'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/chrisshyi/Karger-MinCut" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/chrisshyi/Karger-MinCut"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/chrisshyi/Karger-MinCut'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 042eb28c16ac6af3718886f51b62cd68380df0ef [INFO] sha for GitHub repo chrisshyi/Karger-MinCut: 042eb28c16ac6af3718886f51b62cd68380df0ef [INFO] validating manifest of chrisshyi/Karger-MinCut 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 chrisshyi/Karger-MinCut 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 chrisshyi/Karger-MinCut [INFO] finished frobbing chrisshyi/Karger-MinCut [INFO] frobbed toml for chrisshyi/Karger-MinCut written to work/ex/clippy-test-run/sources/stable/gh/chrisshyi/Karger-MinCut/Cargo.toml [INFO] started frobbing chrisshyi/Karger-MinCut [INFO] finished frobbing chrisshyi/Karger-MinCut [INFO] frobbed toml for chrisshyi/Karger-MinCut written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/chrisshyi/Karger-MinCut/Cargo.toml [INFO] crate chrisshyi/Karger-MinCut 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 chrisshyi/Karger-MinCut against stable+rustflags=-Dclippy::into_iter_on_array for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/chrisshyi/Karger-MinCut:/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 -Dclippy::into_iter_on_array" "-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] 390887c2514e04592c4c5d7251877dfc2192bc64307e911123dc84f097891d4c [INFO] running `"docker" "start" "-a" "390887c2514e04592c4c5d7251877dfc2192bc64307e911123dc84f097891d4c"` [INFO] [stderr] Checking rand_core v0.1.0-pre.0 [INFO] [stderr] Checking rand v0.5.0-pre.0 [INFO] [stderr] Checking karger-min-cut v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused import: `thread_rng` [INFO] [stderr] --> src/main.rs:2:48 [INFO] [stderr] | [INFO] [stderr] 2 | use std::collections::HashMap; use rand::{Rng, thread_rng}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `E` [INFO] [stderr] --> src/main.rs:128:17 [INFO] [stderr] | [INFO] [stderr] 128 | Err(E) => panic!("line reading failure") [INFO] [stderr] | ^ help: consider using `_E` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `num_vertx` [INFO] [stderr] --> src/main.rs:159:9 [INFO] [stderr] | [INFO] [stderr] 159 | let num_vertx: f64 = active_vertx.len() as f64; [INFO] [stderr] | ^^^^^^^^^ help: consider using `_num_vertx` instead [INFO] [stderr] [INFO] [stderr] warning: unused import: `thread_rng` [INFO] [stderr] --> src/main.rs:2:48 [INFO] [stderr] | [INFO] [stderr] 2 | use std::collections::HashMap; use rand::{Rng, thread_rng}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/main.rs:17:32 [INFO] [stderr] | [INFO] [stderr] 17 | fn select_rand_edge(edge_list: &Vec<(i32, i32)>) -> (i32, i32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[(i32, i32)]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/main.rs:75:13 [INFO] [stderr] | [INFO] [stderr] 75 | / let old_edge: (i32, i32); [INFO] [stderr] 76 | | if small_vertx < *neighbor { [INFO] [stderr] 77 | | old_edge = (small_vertx, *neighbor); [INFO] [stderr] 78 | | } else { [INFO] [stderr] 79 | | old_edge = (*neighbor, small_vertx); [INFO] [stderr] 80 | | } [INFO] [stderr] | |_____________^ help: it is more idiomatic to write: `let old_edge = if small_vertx < *neighbor { (small_vertx, *neighbor) } else { (*neighbor, small_vertx) };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [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: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/main.rs:85:13 [INFO] [stderr] | [INFO] [stderr] 85 | / let new_edge: (i32, i32); [INFO] [stderr] 86 | | if large_vertx < *neighbor { [INFO] [stderr] 87 | | new_edge = (large_vertx, *neighbor); [INFO] [stderr] 88 | | } else { [INFO] [stderr] 89 | | new_edge = (*neighbor, large_vertx); [INFO] [stderr] 90 | | } [INFO] [stderr] | |_____________^ help: it is more idiomatic to write: `let new_edge = if large_vertx < *neighbor { (large_vertx, *neighbor) } else { (*neighbor, large_vertx) };` [INFO] [stderr] | [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: variable `E` should have a snake case name such as `e` [INFO] [stderr] --> src/main.rs:128:17 [INFO] [stderr] | [INFO] [stderr] 128 | Err(E) => panic!("line reading failure") [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/main.rs:131:52 [INFO] [stderr] | [INFO] [stderr] 131 | let split_line: Vec<&str> = line_str.split("\t").collect(); [INFO] [stderr] | ^^^^ help: try using a char instead: `'\t'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/main.rs:140:52 [INFO] [stderr] | [INFO] [stderr] 140 | let neighbors_list = adj_list.entry(vertx).or_insert(HashSet::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(HashSet::new)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/main.rs:144:13 [INFO] [stderr] | [INFO] [stderr] 144 | / let edge: (i32, i32); [INFO] [stderr] 145 | | if vertx < neighbor { [INFO] [stderr] 146 | | edge = (vertx, neighbor); [INFO] [stderr] 147 | | } else { [INFO] [stderr] 148 | | edge = (neighbor, vertx); [INFO] [stderr] 149 | | } [INFO] [stderr] | |_____________^ help: it is more idiomatic to write: `let edge = if vertx < neighbor { (vertx, neighbor) } else { (neighbor, vertx) };` [INFO] [stderr] | [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: unused variable: `E` [INFO] [stderr] --> src/main.rs:128:17 [INFO] [stderr] | [INFO] [stderr] 128 | Err(E) => panic!("line reading failure") [INFO] [stderr] | ^ help: consider using `_E` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `num_vertx` [INFO] [stderr] --> src/main.rs:159:9 [INFO] [stderr] | [INFO] [stderr] 159 | let num_vertx: f64 = active_vertx.len() as f64; [INFO] [stderr] | ^^^^^^^^^ help: consider using `_num_vertx` instead [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/main.rs:17:32 [INFO] [stderr] | [INFO] [stderr] 17 | fn select_rand_edge(edge_list: &Vec<(i32, i32)>) -> (i32, i32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[(i32, i32)]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/main.rs:75:13 [INFO] [stderr] | [INFO] [stderr] 75 | / let old_edge: (i32, i32); [INFO] [stderr] 76 | | if small_vertx < *neighbor { [INFO] [stderr] 77 | | old_edge = (small_vertx, *neighbor); [INFO] [stderr] 78 | | } else { [INFO] [stderr] 79 | | old_edge = (*neighbor, small_vertx); [INFO] [stderr] 80 | | } [INFO] [stderr] | |_____________^ help: it is more idiomatic to write: `let old_edge = if small_vertx < *neighbor { (small_vertx, *neighbor) } else { (*neighbor, small_vertx) };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [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: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/main.rs:85:13 [INFO] [stderr] | [INFO] [stderr] 85 | / let new_edge: (i32, i32); [INFO] [stderr] 86 | | if large_vertx < *neighbor { [INFO] [stderr] 87 | | new_edge = (large_vertx, *neighbor); [INFO] [stderr] 88 | | } else { [INFO] [stderr] 89 | | new_edge = (*neighbor, large_vertx); [INFO] [stderr] 90 | | } [INFO] [stderr] | |_____________^ help: it is more idiomatic to write: `let new_edge = if large_vertx < *neighbor { (large_vertx, *neighbor) } else { (*neighbor, large_vertx) };` [INFO] [stderr] | [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: variable `E` should have a snake case name such as `e` [INFO] [stderr] --> src/main.rs:128:17 [INFO] [stderr] | [INFO] [stderr] 128 | Err(E) => panic!("line reading failure") [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/main.rs:131:52 [INFO] [stderr] | [INFO] [stderr] 131 | let split_line: Vec<&str> = line_str.split("\t").collect(); [INFO] [stderr] | ^^^^ help: try using a char instead: `'\t'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/main.rs:140:52 [INFO] [stderr] | [INFO] [stderr] 140 | let neighbors_list = adj_list.entry(vertx).or_insert(HashSet::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(HashSet::new)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/main.rs:144:13 [INFO] [stderr] | [INFO] [stderr] 144 | / let edge: (i32, i32); [INFO] [stderr] 145 | | if vertx < neighbor { [INFO] [stderr] 146 | | edge = (vertx, neighbor); [INFO] [stderr] 147 | | } else { [INFO] [stderr] 148 | | edge = (neighbor, vertx); [INFO] [stderr] 149 | | } [INFO] [stderr] | |_____________^ help: it is more idiomatic to write: `let edge = if vertx < neighbor { (vertx, neighbor) } else { (neighbor, vertx) };` [INFO] [stderr] | [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] Finished dev [unoptimized + debuginfo] target(s) in 3.63s [INFO] running `"docker" "inspect" "390887c2514e04592c4c5d7251877dfc2192bc64307e911123dc84f097891d4c"` [INFO] running `"docker" "rm" "-f" "390887c2514e04592c4c5d7251877dfc2192bc64307e911123dc84f097891d4c"` [INFO] [stdout] 390887c2514e04592c4c5d7251877dfc2192bc64307e911123dc84f097891d4c