[INFO] updating cached repository bpglaser/red-mountain-resize [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/bpglaser/red-mountain-resize [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/bpglaser/red-mountain-resize" "work/ex/clippy-test-run/sources/stable/gh/bpglaser/red-mountain-resize"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/bpglaser/red-mountain-resize'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/bpglaser/red-mountain-resize" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/bpglaser/red-mountain-resize"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/bpglaser/red-mountain-resize'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] a71e923a3c3e0192ab82062537696833392bd80f [INFO] sha for GitHub repo bpglaser/red-mountain-resize: a71e923a3c3e0192ab82062537696833392bd80f [INFO] validating manifest of bpglaser/red-mountain-resize 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 bpglaser/red-mountain-resize 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 bpglaser/red-mountain-resize [INFO] finished frobbing bpglaser/red-mountain-resize [INFO] frobbed toml for bpglaser/red-mountain-resize written to work/ex/clippy-test-run/sources/stable/gh/bpglaser/red-mountain-resize/Cargo.toml [INFO] started frobbing bpglaser/red-mountain-resize [INFO] finished frobbing bpglaser/red-mountain-resize [INFO] frobbed toml for bpglaser/red-mountain-resize written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/bpglaser/red-mountain-resize/Cargo.toml [INFO] crate bpglaser/red-mountain-resize 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 bpglaser/red-mountain-resize 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/bpglaser/red-mountain-resize:/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] d121b87f9cb3ed688dffce28ec50b85c8ca4ee309787813b94b6c47ed438d7c1 [INFO] running `"docker" "start" "-a" "d121b87f9cb3ed688dffce28ec50b85c8ca4ee309787813b94b6c47ed438d7c1"` [INFO] [stderr] warning: An explicit [[bin]] section is specified in Cargo.toml which currently [INFO] [stderr] disables Cargo from automatically inferring other binary targets. [INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following [INFO] [stderr] files will be included as a binary target: [INFO] [stderr] [INFO] [stderr] * /opt/crater/workdir/src/bin/main.rs [INFO] [stderr] [INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be [INFO] [stderr] ready to be compiled as a binary target today. You can future-proof yourself [INFO] [stderr] and disable this warning by adding `autobins = false` to your [package] [INFO] [stderr] section. You may also move the files to a location where Cargo would not [INFO] [stderr] automatically infer them to be a target, such as in subfolders. [INFO] [stderr] [INFO] [stderr] For more information on this warning you can consult [INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330 [INFO] [stderr] warning: path `/opt/crater/workdir/src/bin/main.rs` was erroneously implicitly accepted for binary `rmr`, [INFO] [stderr] please set bin.path in Cargo.toml [INFO] [stderr] Checking clap v2.24.2 [INFO] [stderr] Checking rayon-core v1.2.1 [INFO] [stderr] Checking png v0.6.2 [INFO] [stderr] Checking rayon v0.8.1 [INFO] [stderr] Checking jpeg-decoder v0.1.13 [INFO] [stderr] Checking image v0.12.4 [INFO] [stderr] Checking rmr v0.3.0 (/opt/crater/workdir) [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/carve.rs:351:25 [INFO] [stderr] | [INFO] [stderr] 351 | vec![83233, 114650, 84057], [INFO] [stderr] | ^^^^^^ help: consider: `114_650` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/carve.rs:372:25 [INFO] [stderr] | [INFO] [stderr] 372 | vec![66314, 107227, 48226, 80214, 37059, 58551], [INFO] [stderr] | ^^^^^^ help: consider: `107_227` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/carve.rs:373:32 [INFO] [stderr] | [INFO] [stderr] 373 | vec![78658, 67462, 100256, 54767, 81794, 57722], [INFO] [stderr] | ^^^^^^ help: consider: `100_256` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/carve.rs:374:39 [INFO] [stderr] | [INFO] [stderr] 374 | vec![84536, 91140, 85046, 135430, 92598, 103317], [INFO] [stderr] | ^^^^^^ help: consider: `135_430` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/carve.rs:374:54 [INFO] [stderr] | [INFO] [stderr] 374 | vec![84536, 91140, 85046, 135430, 92598, 103317], [INFO] [stderr] | ^^^^^^ help: consider: `103_317` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/carve.rs:375:18 [INFO] [stderr] | [INFO] [stderr] 375 | vec![116873, 115332, 89955, 158380, 133211, 129154], [INFO] [stderr] | ^^^^^^ help: consider: `116_873` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/carve.rs:375:26 [INFO] [stderr] | [INFO] [stderr] 375 | vec![116873, 115332, 89955, 158380, 133211, 129154], [INFO] [stderr] | ^^^^^^ help: consider: `115_332` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/carve.rs:375:41 [INFO] [stderr] | [INFO] [stderr] 375 | vec![116873, 115332, 89955, 158380, 133211, 129154], [INFO] [stderr] | ^^^^^^ help: consider: `158_380` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/carve.rs:375:49 [INFO] [stderr] | [INFO] [stderr] 375 | vec![116873, 115332, 89955, 158380, 133211, 129154], [INFO] [stderr] | ^^^^^^ help: consider: `133_211` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/carve.rs:375:57 [INFO] [stderr] | [INFO] [stderr] 375 | vec![116873, 115332, 89955, 158380, 133211, 129154], [INFO] [stderr] | ^^^^^^ help: consider: `129_154` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/energy.rs:72:31 [INFO] [stderr] | [INFO] [stderr] 72 | fn average_pixel_data(pixel1: &[u8; 4], pixel2: &[u8; 4]) -> [u8; 4] { [INFO] [stderr] | ^^^^^^^^ help: consider passing by value instead: `[u8; 4]` [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/energy.rs:72:49 [INFO] [stderr] | [INFO] [stderr] 72 | fn average_pixel_data(pixel1: &[u8; 4], pixel2: &[u8; 4]) -> [u8; 4] { [INFO] [stderr] | ^^^^^^^^ help: consider passing by value instead: `[u8; 4]` [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/energy.rs:74:11 [INFO] [stderr] | [INFO] [stderr] 74 | ((pixel1[0] as u16 + pixel2[0] as u16) / 2) as u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u16::from(pixel1[0])` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/energy.rs:74:30 [INFO] [stderr] | [INFO] [stderr] 74 | ((pixel1[0] as u16 + pixel2[0] as u16) / 2) as u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u16::from(pixel2[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/energy.rs:75:11 [INFO] [stderr] | [INFO] [stderr] 75 | ((pixel1[1] as u16 + pixel2[1] as u16) / 2) as u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u16::from(pixel1[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/energy.rs:75:30 [INFO] [stderr] | [INFO] [stderr] 75 | ((pixel1[1] as u16 + pixel2[1] as u16) / 2) as u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u16::from(pixel2[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/energy.rs:76:11 [INFO] [stderr] | [INFO] [stderr] 76 | ((pixel1[2] as u16 + pixel2[2] as u16) / 2) as u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u16::from(pixel1[2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/energy.rs:76:30 [INFO] [stderr] | [INFO] [stderr] 76 | ((pixel1[2] as u16 + pixel2[2] as u16) / 2) as u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u16::from(pixel2[2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/energy.rs:77:11 [INFO] [stderr] | [INFO] [stderr] 77 | ((pixel1[3] as u16 + pixel2[3] as u16) / 2) as u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u16::from(pixel1[3])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/energy.rs:77:30 [INFO] [stderr] | [INFO] [stderr] 77 | ((pixel1[3] as u16 + pixel2[3] as u16) / 2) as u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u16::from(pixel2[3])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/energy.rs:72:31 [INFO] [stderr] | [INFO] [stderr] 72 | fn average_pixel_data(pixel1: &[u8; 4], pixel2: &[u8; 4]) -> [u8; 4] { [INFO] [stderr] | ^^^^^^^^ help: consider passing by value instead: `[u8; 4]` [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/energy.rs:72:49 [INFO] [stderr] | [INFO] [stderr] 72 | fn average_pixel_data(pixel1: &[u8; 4], pixel2: &[u8; 4]) -> [u8; 4] { [INFO] [stderr] | ^^^^^^^^ help: consider passing by value instead: `[u8; 4]` [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/energy.rs:74:11 [INFO] [stderr] | [INFO] [stderr] 74 | ((pixel1[0] as u16 + pixel2[0] as u16) / 2) as u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u16::from(pixel1[0])` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/energy.rs:74:30 [INFO] [stderr] | [INFO] [stderr] 74 | ((pixel1[0] as u16 + pixel2[0] as u16) / 2) as u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u16::from(pixel2[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/energy.rs:75:11 [INFO] [stderr] | [INFO] [stderr] 75 | ((pixel1[1] as u16 + pixel2[1] as u16) / 2) as u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u16::from(pixel1[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/energy.rs:75:30 [INFO] [stderr] | [INFO] [stderr] 75 | ((pixel1[1] as u16 + pixel2[1] as u16) / 2) as u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u16::from(pixel2[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/energy.rs:76:11 [INFO] [stderr] | [INFO] [stderr] 76 | ((pixel1[2] as u16 + pixel2[2] as u16) / 2) as u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u16::from(pixel1[2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/energy.rs:76:30 [INFO] [stderr] | [INFO] [stderr] 76 | ((pixel1[2] as u16 + pixel2[2] as u16) / 2) as u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u16::from(pixel2[2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/energy.rs:77:11 [INFO] [stderr] | [INFO] [stderr] 77 | ((pixel1[3] as u16 + pixel2[3] as u16) / 2) as u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u16::from(pixel1[3])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/energy.rs:77:30 [INFO] [stderr] | [INFO] [stderr] 77 | ((pixel1[3] as u16 + pixel2[3] as u16) / 2) as u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u16::from(pixel2[3])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 37 [INFO] [stderr] --> tests/grid.rs:135:1 [INFO] [stderr] | [INFO] [stderr] 135 | / fn grid_get_adjacent_test() { [INFO] [stderr] 136 | | let grid = make_test_grid(); [INFO] [stderr] 137 | | [INFO] [stderr] 138 | | // First row [INFO] [stderr] ... | [INFO] [stderr] 193 | | assert_eq!(&2, down); [INFO] [stderr] 194 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 25.34s [INFO] running `"docker" "inspect" "d121b87f9cb3ed688dffce28ec50b85c8ca4ee309787813b94b6c47ed438d7c1"` [INFO] running `"docker" "rm" "-f" "d121b87f9cb3ed688dffce28ec50b85c8ca4ee309787813b94b6c47ed438d7c1"` [INFO] [stdout] d121b87f9cb3ed688dffce28ec50b85c8ca4ee309787813b94b6c47ed438d7c1