[INFO] updating cached repository sdonnan/aoc-2018 [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/sdonnan/aoc-2018 [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/sdonnan/aoc-2018" "work/ex/clippy-test-run/sources/stable/gh/sdonnan/aoc-2018"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/sdonnan/aoc-2018'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/sdonnan/aoc-2018" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/sdonnan/aoc-2018"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/sdonnan/aoc-2018'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 3f02ea1503a6ad8803050e4950f34706ed511836 [INFO] sha for GitHub repo sdonnan/aoc-2018: 3f02ea1503a6ad8803050e4950f34706ed511836 [INFO] validating manifest of sdonnan/aoc-2018 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 sdonnan/aoc-2018 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 sdonnan/aoc-2018 [INFO] finished frobbing sdonnan/aoc-2018 [INFO] frobbed toml for sdonnan/aoc-2018 written to work/ex/clippy-test-run/sources/stable/gh/sdonnan/aoc-2018/Cargo.toml [INFO] started frobbing sdonnan/aoc-2018 [INFO] finished frobbing sdonnan/aoc-2018 [INFO] frobbed toml for sdonnan/aoc-2018 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/sdonnan/aoc-2018/Cargo.toml [INFO] crate sdonnan/aoc-2018 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 sdonnan/aoc-2018 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-2/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/sdonnan/aoc-2018:/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] a6d11378651e9de17851c6a2fc6fc0274eac23fb8799aedfe57aebb70f81de12 [INFO] running `"docker" "start" "-a" "a6d11378651e9de17851c6a2fc6fc0274eac23fb8799aedfe57aebb70f81de12"` [INFO] [stderr] Checking clap v2.32.0 [INFO] [stderr] Checking advent-of-code-2018 v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/bin/c1.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | current_freq = current_freq + f; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `current_freq += f` [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] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/bin/c1.rs:52:28 [INFO] [stderr] | [INFO] [stderr] 52 | assert_eq!(find_repeat(&vec![7, 7, -2, -7, -4]), 14); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[7, 7, -2, -7, -4]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_vec)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/bin/c2.rs:21:13 [INFO] [stderr] | [INFO] [stderr] 21 | char_count[idx] = char_count[idx] + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `char_count[idx] += 1` [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] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/bin/c2.rs:94:9 [INFO] [stderr] | [INFO] [stderr] 94 | / match diff_idx { [INFO] [stderr] 95 | | Some(_) => { [INFO] [stderr] 96 | | return Some((a.to_string(), b.to_string())); [INFO] [stderr] 97 | | } [INFO] [stderr] 98 | | None => {} [INFO] [stderr] 99 | | }; [INFO] [stderr] | |_________^ [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] help: try this [INFO] [stderr] | [INFO] [stderr] 94 | if let Some(_) = diff_idx { [INFO] [stderr] 95 | return Some((a.to_string(), b.to_string())); [INFO] [stderr] 96 | }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/bin/c1.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | current_freq = current_freq + f; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `current_freq += f` [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] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/bin/c3.rs:122:45 [INFO] [stderr] | [INFO] [stderr] 122 | assert_eq!(4, find_double_occupancy(&vec![ [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 123 | | Rect {id: 1, xpos: 1, ypos: 3, xdim: 4, ydim: 4}, [INFO] [stderr] 124 | | Rect {id: 2, xpos: 3, ypos: 1, xdim: 4, ydim: 4}, [INFO] [stderr] 125 | | Rect {id: 3, xpos: 5, ypos: 5, xdim: 2, ydim: 2}, [INFO] [stderr] 126 | | ])); [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_vec)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] help: you can use a slice directly [INFO] [stderr] | [INFO] [stderr] 122 | assert_eq!(4, find_double_occupancy(&[Rect {id: 1, xpos: 1, ypos: 3, xdim: 4, ydim: 4}, [INFO] [stderr] 123 | Rect {id: 2, xpos: 3, ypos: 1, xdim: 4, ydim: 4}, [INFO] [stderr] 124 | Rect {id: 3, xpos: 5, ypos: 5, xdim: 2, ydim: 2}])); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/bin/c3.rs:134:45 [INFO] [stderr] | [INFO] [stderr] 134 | assert_eq!(Some(3), find_solo_claim(&vec![ [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 135 | | Rect {id: 1, xpos: 1, ypos: 3, xdim: 4, ydim: 4}, [INFO] [stderr] 136 | | Rect {id: 2, xpos: 3, ypos: 1, xdim: 4, ydim: 4}, [INFO] [stderr] 137 | | Rect {id: 3, xpos: 5, ypos: 5, xdim: 2, ydim: 2}, [INFO] [stderr] 138 | | ])); [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] help: you can use a slice directly [INFO] [stderr] | [INFO] [stderr] 134 | assert_eq!(Some(3), find_solo_claim(&[Rect {id: 1, xpos: 1, ypos: 3, xdim: 4, ydim: 4}, [INFO] [stderr] 135 | Rect {id: 2, xpos: 3, ypos: 1, xdim: 4, ydim: 4}, [INFO] [stderr] 136 | Rect {id: 3, xpos: 5, ypos: 5, xdim: 2, ydim: 2}])); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/bin/c2.rs:21:13 [INFO] [stderr] | [INFO] [stderr] 21 | char_count[idx] = char_count[idx] + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `char_count[idx] += 1` [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] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/bin/c2.rs:94:9 [INFO] [stderr] | [INFO] [stderr] 94 | / match diff_idx { [INFO] [stderr] 95 | | Some(_) => { [INFO] [stderr] 96 | | return Some((a.to_string(), b.to_string())); [INFO] [stderr] 97 | | } [INFO] [stderr] 98 | | None => {} [INFO] [stderr] 99 | | }; [INFO] [stderr] | |_________^ [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] help: try this [INFO] [stderr] | [INFO] [stderr] 94 | if let Some(_) = diff_idx { [INFO] [stderr] 95 | return Some((a.to_string(), b.to_string())); [INFO] [stderr] 96 | }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/bin/c2.rs:141:32 [INFO] [stderr] | [INFO] [stderr] 141 | assert_eq!(12,checksum(&vec!["abcdef".to_string(), [INFO] [stderr] | ________________________________^ [INFO] [stderr] 142 | | "bababc".to_string(), [INFO] [stderr] 143 | | "abbcde".to_string(), [INFO] [stderr] 144 | | "abcccd".to_string(), [INFO] [stderr] 145 | | "aabcdd".to_string(), [INFO] [stderr] 146 | | "abcdee".to_string(), [INFO] [stderr] 147 | | "ababab".to_string()])); [INFO] [stderr] | |__________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_vec)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] help: you can use a slice directly [INFO] [stderr] | [INFO] [stderr] 141 | assert_eq!(12,checksum(&["abcdef".to_string(), [INFO] [stderr] 142 | "bababc".to_string(), [INFO] [stderr] 143 | "abbcde".to_string(), [INFO] [stderr] 144 | "abcccd".to_string(), [INFO] [stderr] 145 | "aabcdd".to_string(), [INFO] [stderr] 146 | "abcdee".to_string(), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/bin/c2.rs:152:35 [INFO] [stderr] | [INFO] [stderr] 152 | assert_eq!(12,checksum_ht(&vec!["abcdef".to_string(), [INFO] [stderr] | ___________________________________^ [INFO] [stderr] 153 | | "bababc".to_string(), [INFO] [stderr] 154 | | "abbcde".to_string(), [INFO] [stderr] 155 | | "abcccd".to_string(), [INFO] [stderr] 156 | | "aabcdd".to_string(), [INFO] [stderr] 157 | | "abcdee".to_string(), [INFO] [stderr] 158 | | "ababab".to_string()])); [INFO] [stderr] | |_____________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] help: you can use a slice directly [INFO] [stderr] | [INFO] [stderr] 152 | assert_eq!(12,checksum_ht(&["abcdef".to_string(), [INFO] [stderr] 153 | "bababc".to_string(), [INFO] [stderr] 154 | "abbcde".to_string(), [INFO] [stderr] 155 | "abcccd".to_string(), [INFO] [stderr] 156 | "aabcdd".to_string(), [INFO] [stderr] 157 | "abcdee".to_string(), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/bin/c2.rs:165:25 [INFO] [stderr] | [INFO] [stderr] 165 | / &vec!["abcde".to_string(), [INFO] [stderr] 166 | | "fghij".to_string(), [INFO] [stderr] 167 | | "klmno".to_string(), [INFO] [stderr] 168 | | "pqrst".to_string(), [INFO] [stderr] 169 | | "fguij".to_string(), [INFO] [stderr] 170 | | "axcye".to_string(), [INFO] [stderr] 171 | | "wvxyz".to_string()])); [INFO] [stderr] | |__________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] help: you can use a slice directly [INFO] [stderr] | [INFO] [stderr] 165 | &["abcde".to_string(), [INFO] [stderr] 166 | "fghij".to_string(), [INFO] [stderr] 167 | "klmno".to_string(), [INFO] [stderr] 168 | "pqrst".to_string(), [INFO] [stderr] 169 | "fguij".to_string(), [INFO] [stderr] 170 | "axcye".to_string(), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 8.12s [INFO] running `"docker" "inspect" "a6d11378651e9de17851c6a2fc6fc0274eac23fb8799aedfe57aebb70f81de12"` [INFO] running `"docker" "rm" "-f" "a6d11378651e9de17851c6a2fc6fc0274eac23fb8799aedfe57aebb70f81de12"` [INFO] [stdout] a6d11378651e9de17851c6a2fc6fc0274eac23fb8799aedfe57aebb70f81de12