[INFO] updating cached repository tawashichan/rust_practice [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/tawashichan/rust_practice [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/tawashichan/rust_practice" "work/ex/clippy-test-run/sources/stable/gh/tawashichan/rust_practice"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/tawashichan/rust_practice'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/tawashichan/rust_practice" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/tawashichan/rust_practice"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/tawashichan/rust_practice'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 992c5786d87cf1c4f63638deb3072ca615053dfe [INFO] sha for GitHub repo tawashichan/rust_practice: 992c5786d87cf1c4f63638deb3072ca615053dfe [INFO] validating manifest of tawashichan/rust_practice 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 tawashichan/rust_practice 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 tawashichan/rust_practice [INFO] finished frobbing tawashichan/rust_practice [INFO] frobbed toml for tawashichan/rust_practice written to work/ex/clippy-test-run/sources/stable/gh/tawashichan/rust_practice/Cargo.toml [INFO] started frobbing tawashichan/rust_practice [INFO] finished frobbing tawashichan/rust_practice [INFO] frobbed toml for tawashichan/rust_practice written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/tawashichan/rust_practice/Cargo.toml [INFO] crate tawashichan/rust_practice 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 tawashichan/rust_practice 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-0/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/tawashichan/rust_practice:/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] 3d0041f7c7bda82b2d73909a53b84725a91bc31c6f20b7c97e0d2a5bda7a4ebb [INFO] running `"docker" "start" "-a" "3d0041f7c7bda82b2d73909a53b84725a91bc31c6f20b7c97e0d2a5bda7a4ebb"` [INFO] [stderr] Checking t_lib v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused variable: `p` [INFO] [stderr] --> src/main.rs:28:22 [INFO] [stderr] | [INFO] [stderr] 28 | Some(p) => { [INFO] [stderr] | ^ help: consider using `_p` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `from` [INFO] [stderr] --> src/main.rs:51:17 [INFO] [stderr] | [INFO] [stderr] 51 | fn reachable(from: &T, to: &T) -> bool { [INFO] [stderr] | ^^^^ help: consider using `_from` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `to` [INFO] [stderr] --> src/main.rs:51:27 [INFO] [stderr] | [INFO] [stderr] 51 | fn reachable(from: &T, to: &T) -> bool { [INFO] [stderr] | ^^ help: consider using `_to` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `p` [INFO] [stderr] --> src/main.rs:72:22 [INFO] [stderr] | [INFO] [stderr] 72 | Some(p) => continue, [INFO] [stderr] | ^ help: consider using `_p` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `p` [INFO] [stderr] --> src/main.rs:99:18 [INFO] [stderr] | [INFO] [stderr] 99 | Some(p) => { [INFO] [stderr] | ^ help: consider using `_p` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `p` [INFO] [stderr] --> src/main.rs:124:18 [INFO] [stderr] | [INFO] [stderr] 124 | Some(p) => { [INFO] [stderr] | ^ help: consider using `_p` instead [INFO] [stderr] [INFO] [stderr] warning: function is never used: `bfs` [INFO] [stderr] --> src/main.rs:16:1 [INFO] [stderr] | [INFO] [stderr] 16 | fn bfs(start: usize, goal: usize, m: Vec>) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `reachable` [INFO] [stderr] --> src/main.rs:51:1 [INFO] [stderr] | [INFO] [stderr] 51 | fn reachable(from: &T, to: &T) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `dfs` [INFO] [stderr] --> src/main.rs:94:1 [INFO] [stderr] | [INFO] [stderr] 94 | fn dfs(start: usize, goal: usize, current: usize, current_path: Vec, m: &Vec>) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/main.rs:32:40 [INFO] [stderr] | [INFO] [stderr] 32 | let current_node = match ¤t_path.last() { [INFO] [stderr] | ________________________________________^ [INFO] [stderr] 33 | | &Some(l) => l, [INFO] [stderr] 34 | | &None => continue [INFO] [stderr] 35 | | }; [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: try [INFO] [stderr] | [INFO] [stderr] 32 | let current_node = match current_path.last() { [INFO] [stderr] 33 | Some(l) => l, [INFO] [stderr] 34 | None => continue [INFO] [stderr] | [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:55:49 [INFO] [stderr] | [INFO] [stderr] 55 | fn reachable_usize(cn: &usize,next: &usize,map: &Vec>) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Vec]` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:55:24 [INFO] [stderr] | [INFO] [stderr] 55 | fn reachable_usize(cn: &usize,next: &usize,map: &Vec>) -> bool { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `usize` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:55:37 [INFO] [stderr] | [INFO] [stderr] 55 | fn reachable_usize(cn: &usize,next: &usize,map: &Vec>) -> bool { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `usize` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [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:60:58 [INFO] [stderr] | [INFO] [stderr] 60 | fn bfs_gen(start: T, goal: T, nodes: &Vec, map: &M,reachable: F) [INFO] [stderr] | ^^^^^^^ help: change this to: `&[T]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/main.rs:74:40 [INFO] [stderr] | [INFO] [stderr] 74 | let current_node = match ¤t_path.last() { [INFO] [stderr] | ________________________________________^ [INFO] [stderr] 75 | | &Some(l) => l, [INFO] [stderr] 76 | | &None => continue [INFO] [stderr] 77 | | }; [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 74 | let current_node = match current_path.last() { [INFO] [stderr] 75 | Some(l) => l, [INFO] [stderr] 76 | None => continue [INFO] [stderr] | [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:94:80 [INFO] [stderr] | [INFO] [stderr] 94 | fn dfs(start: usize, goal: usize, current: usize, current_path: Vec, m: &Vec>) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Vec]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [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:119:55 [INFO] [stderr] | [INFO] [stderr] 119 | fn dfs_gen(start: T, goal: T,nodes: &Vec,current: T, current_path: Vec, m: &M,reachable: &F) [INFO] [stderr] | ^^^^^^^ help: change this to: `&[T]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: unused variable: `p` [INFO] [stderr] --> src/main.rs:28:22 [INFO] [stderr] | [INFO] [stderr] 28 | Some(p) => { [INFO] [stderr] | ^ help: consider using `_p` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `from` [INFO] [stderr] --> src/main.rs:51:17 [INFO] [stderr] | [INFO] [stderr] 51 | fn reachable(from: &T, to: &T) -> bool { [INFO] [stderr] | ^^^^ help: consider using `_from` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `to` [INFO] [stderr] --> src/main.rs:51:27 [INFO] [stderr] | [INFO] [stderr] 51 | fn reachable(from: &T, to: &T) -> bool { [INFO] [stderr] | ^^ help: consider using `_to` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `p` [INFO] [stderr] --> src/main.rs:72:22 [INFO] [stderr] | [INFO] [stderr] 72 | Some(p) => continue, [INFO] [stderr] | ^ help: consider using `_p` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `p` [INFO] [stderr] --> src/main.rs:99:18 [INFO] [stderr] | [INFO] [stderr] 99 | Some(p) => { [INFO] [stderr] | ^ help: consider using `_p` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `p` [INFO] [stderr] --> src/main.rs:124:18 [INFO] [stderr] | [INFO] [stderr] 124 | Some(p) => { [INFO] [stderr] | ^ help: consider using `_p` instead [INFO] [stderr] [INFO] [stderr] warning: function is never used: `bfs` [INFO] [stderr] --> src/main.rs:16:1 [INFO] [stderr] | [INFO] [stderr] 16 | fn bfs(start: usize, goal: usize, m: Vec>) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `reachable` [INFO] [stderr] --> src/main.rs:51:1 [INFO] [stderr] | [INFO] [stderr] 51 | fn reachable(from: &T, to: &T) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `dfs` [INFO] [stderr] --> src/main.rs:94:1 [INFO] [stderr] | [INFO] [stderr] 94 | fn dfs(start: usize, goal: usize, current: usize, current_path: Vec, m: &Vec>) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/main.rs:32:40 [INFO] [stderr] | [INFO] [stderr] 32 | let current_node = match ¤t_path.last() { [INFO] [stderr] | ________________________________________^ [INFO] [stderr] 33 | | &Some(l) => l, [INFO] [stderr] 34 | | &None => continue [INFO] [stderr] 35 | | }; [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: try [INFO] [stderr] | [INFO] [stderr] 32 | let current_node = match current_path.last() { [INFO] [stderr] 33 | Some(l) => l, [INFO] [stderr] 34 | None => continue [INFO] [stderr] | [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:55:49 [INFO] [stderr] | [INFO] [stderr] 55 | fn reachable_usize(cn: &usize,next: &usize,map: &Vec>) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Vec]` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:55:24 [INFO] [stderr] | [INFO] [stderr] 55 | fn reachable_usize(cn: &usize,next: &usize,map: &Vec>) -> bool { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `usize` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:55:37 [INFO] [stderr] | [INFO] [stderr] 55 | fn reachable_usize(cn: &usize,next: &usize,map: &Vec>) -> bool { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `usize` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [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:60:58 [INFO] [stderr] | [INFO] [stderr] 60 | fn bfs_gen(start: T, goal: T, nodes: &Vec, map: &M,reachable: F) [INFO] [stderr] | ^^^^^^^ help: change this to: `&[T]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/main.rs:74:40 [INFO] [stderr] | [INFO] [stderr] 74 | let current_node = match ¤t_path.last() { [INFO] [stderr] | ________________________________________^ [INFO] [stderr] 75 | | &Some(l) => l, [INFO] [stderr] 76 | | &None => continue [INFO] [stderr] 77 | | }; [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 74 | let current_node = match current_path.last() { [INFO] [stderr] 75 | Some(l) => l, [INFO] [stderr] 76 | None => continue [INFO] [stderr] | [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:94:80 [INFO] [stderr] | [INFO] [stderr] 94 | fn dfs(start: usize, goal: usize, current: usize, current_path: Vec, m: &Vec>) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Vec]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [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:119:55 [INFO] [stderr] | [INFO] [stderr] 119 | fn dfs_gen(start: T, goal: T,nodes: &Vec,current: T, current_path: Vec, m: &M,reachable: &F) [INFO] [stderr] | ^^^^^^^ help: change this to: `&[T]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.71s [INFO] running `"docker" "inspect" "3d0041f7c7bda82b2d73909a53b84725a91bc31c6f20b7c97e0d2a5bda7a4ebb"` [INFO] running `"docker" "rm" "-f" "3d0041f7c7bda82b2d73909a53b84725a91bc31c6f20b7c97e0d2a5bda7a4ebb"` [INFO] [stdout] 3d0041f7c7bda82b2d73909a53b84725a91bc31c6f20b7c97e0d2a5bda7a4ebb