[INFO] updating cached repository CloneRob/circular_sampler [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/CloneRob/circular_sampler [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/CloneRob/circular_sampler" "work/ex/clippy-test-run/sources/stable/gh/CloneRob/circular_sampler"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/CloneRob/circular_sampler'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/CloneRob/circular_sampler" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/CloneRob/circular_sampler"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/CloneRob/circular_sampler'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] fe6474a6ded12a11cef15f1e46a927d083ab4928 [INFO] sha for GitHub repo CloneRob/circular_sampler: fe6474a6ded12a11cef15f1e46a927d083ab4928 [INFO] validating manifest of CloneRob/circular_sampler 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 CloneRob/circular_sampler 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 CloneRob/circular_sampler [INFO] finished frobbing CloneRob/circular_sampler [INFO] frobbed toml for CloneRob/circular_sampler written to work/ex/clippy-test-run/sources/stable/gh/CloneRob/circular_sampler/Cargo.toml [INFO] started frobbing CloneRob/circular_sampler [INFO] finished frobbing CloneRob/circular_sampler [INFO] frobbed toml for CloneRob/circular_sampler written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/CloneRob/circular_sampler/Cargo.toml [INFO] crate CloneRob/circular_sampler 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 CloneRob/circular_sampler 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-1/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/CloneRob/circular_sampler:/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] ba32763a5349319c96d5b6143933c44184f8c6bfea31e74b5a2a9d90f7d6748f [INFO] running `"docker" "start" "-a" "ba32763a5349319c96d5b6143933c44184f8c6bfea31e74b5a2a9d90f7d6748f"` [INFO] [stderr] Checking image v0.12.3 [INFO] [stderr] Checking image_split v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/argparse/mod.rs:89:21 [INFO] [stderr] | [INFO] [stderr] 89 | scaling: scaling, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `scaling` [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/argparse/mod.rs:110:13 [INFO] [stderr] | [INFO] [stderr] 110 | files: files, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `files` [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/argparse/mod.rs:111:13 [INFO] [stderr] | [INFO] [stderr] 111 | target: target, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `target` [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/argparse/mod.rs:112:13 [INFO] [stderr] | [INFO] [stderr] 112 | prefix: prefix, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `prefix` [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/argparse/mod.rs:113:13 [INFO] [stderr] | [INFO] [stderr] 113 | split_size: split_size, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `split_size` [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/argparse/mod.rs:114:13 [INFO] [stderr] | [INFO] [stderr] 114 | split_type: split_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `split_type` [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/candidates/mod.rs:17:17 [INFO] [stderr] | [INFO] [stderr] 17 | Point { x: x, y: y } [INFO] [stderr] | ^^^^ help: replace it with: `x` [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/candidates/mod.rs:17:23 [INFO] [stderr] | [INFO] [stderr] 17 | Point { x: x, y: y } [INFO] [stderr] | ^^^^ help: replace it with: `y` [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: 5th binding whose name is just one char [INFO] [stderr] --> src/candidates/mod.rs:100:13 [INFO] [stderr] | [INFO] [stderr] 100 | let y = f64::sin(t) * r * scale; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/crop/mod.rs:73:13 [INFO] [stderr] | [INFO] [stderr] 73 | label_map: label_map, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `label_map` [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/argparse/mod.rs:89:21 [INFO] [stderr] | [INFO] [stderr] 89 | scaling: scaling, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `scaling` [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/argparse/mod.rs:110:13 [INFO] [stderr] | [INFO] [stderr] 110 | files: files, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `files` [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/argparse/mod.rs:111:13 [INFO] [stderr] | [INFO] [stderr] 111 | target: target, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `target` [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/argparse/mod.rs:112:13 [INFO] [stderr] | [INFO] [stderr] 112 | prefix: prefix, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `prefix` [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/argparse/mod.rs:113:13 [INFO] [stderr] | [INFO] [stderr] 113 | split_size: split_size, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `split_size` [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/argparse/mod.rs:114:13 [INFO] [stderr] | [INFO] [stderr] 114 | split_type: split_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `split_type` [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/candidates/mod.rs:17:17 [INFO] [stderr] | [INFO] [stderr] 17 | Point { x: x, y: y } [INFO] [stderr] | ^^^^ help: replace it with: `x` [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/candidates/mod.rs:17:23 [INFO] [stderr] | [INFO] [stderr] 17 | Point { x: x, y: y } [INFO] [stderr] | ^^^^ help: replace it with: `y` [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: 5th binding whose name is just one char [INFO] [stderr] --> src/candidates/mod.rs:100:13 [INFO] [stderr] | [INFO] [stderr] 100 | let y = f64::sin(t) * r * scale; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/crop/mod.rs:73:13 [INFO] [stderr] | [INFO] [stderr] 73 | label_map: label_map, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `label_map` [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::ffi::OsStr` [INFO] [stderr] --> src/argparse/mod.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::ffi::OsStr; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ffi::OsStr` [INFO] [stderr] --> src/argparse/mod.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::ffi::OsStr; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/candidates/mod.rs:35:9 [INFO] [stderr] | [INFO] [stderr] 35 | return f64::sqrt(x_component + y_component); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `f64::sqrt(x_component + y_component)` [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 imports: `thread`, `time` [INFO] [stderr] --> src/crop/mod.rs:11:11 [INFO] [stderr] | [INFO] [stderr] 11 | use std::{thread, time}; [INFO] [stderr] | ^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/candidates/mod.rs:35:9 [INFO] [stderr] | [INFO] [stderr] 35 | return f64::sqrt(x_component + y_component); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `f64::sqrt(x_component + y_component)` [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 imports: `thread`, `time` [INFO] [stderr] --> src/crop/mod.rs:11:11 [INFO] [stderr] | [INFO] [stderr] 11 | use std::{thread, time}; [INFO] [stderr] | ^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `source_path` [INFO] [stderr] --> src/argparse/mod.rs:208:9 [INFO] [stderr] | [INFO] [stderr] 208 | let source_path = if let Some(p) = source_str { [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_source_path` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `source_path` [INFO] [stderr] --> src/argparse/mod.rs:208:9 [INFO] [stderr] | [INFO] [stderr] 208 | let source_path = if let Some(p) = source_str { [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_source_path` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `label_map` [INFO] [stderr] --> src/argparse/mod.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | label_map: Option>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `label_map` [INFO] [stderr] --> src/argparse/mod.rs:58:5 [INFO] [stderr] | [INFO] [stderr] 58 | fn label_map(mut self, map: HashMap) -> ParamBuilder { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `print` [INFO] [stderr] --> src/argparse/mod.rs:117:5 [INFO] [stderr] | [INFO] [stderr] 117 | pub fn print(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_x` [INFO] [stderr] --> src/candidates/mod.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn get_x(&self) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_y` [INFO] [stderr] --> src/candidates/mod.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | pub fn get_y(&self) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `to_int` [INFO] [stderr] --> src/candidates/mod.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | fn to_int(self) -> (i32, i32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `print` [INFO] [stderr] --> src/candidates/mod.rs:54:5 [INFO] [stderr] | [INFO] [stderr] 54 | fn print(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `transform_points` [INFO] [stderr] --> src/candidates/mod.rs:66:1 [INFO] [stderr] | [INFO] [stderr] 66 | pub fn transform_points(points: Vec, transformer: Point) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: useless lint attribute [INFO] [stderr] --> src/main.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #[allow(unused_imports, dead_code)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if you just forgot a `!`, use: `#![allow(unused_imports, dead_code)]` [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::useless_attribute)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_attribute [INFO] [stderr] [INFO] [stderr] warning: field is never used: `label_map` [INFO] [stderr] --> src/argparse/mod.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | label_map: Option>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `label_map` [INFO] [stderr] --> src/argparse/mod.rs:58:5 [INFO] [stderr] | [INFO] [stderr] 58 | fn label_map(mut self, map: HashMap) -> ParamBuilder { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `print` [INFO] [stderr] --> src/argparse/mod.rs:117:5 [INFO] [stderr] | [INFO] [stderr] 117 | pub fn print(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_x` [INFO] [stderr] --> src/candidates/mod.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn get_x(&self) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_y` [INFO] [stderr] --> src/candidates/mod.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | pub fn get_y(&self) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `to_int` [INFO] [stderr] --> src/candidates/mod.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | fn to_int(self) -> (i32, i32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `print` [INFO] [stderr] --> src/candidates/mod.rs:54:5 [INFO] [stderr] | [INFO] [stderr] 54 | fn print(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `transform_points` [INFO] [stderr] --> src/candidates/mod.rs:66:1 [INFO] [stderr] | [INFO] [stderr] 66 | pub fn transform_points(points: Vec, transformer: Point) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: useless lint attribute [INFO] [stderr] --> src/main.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #[allow(unused_imports, dead_code)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if you just forgot a `!`, use: `#![allow(unused_imports, dead_code)]` [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::useless_attribute)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_attribute [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/candidates/mod.rs:142:9 [INFO] [stderr] | [INFO] [stderr] 142 | counter = counter - indices.len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `counter -= indices.len()` [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/crop/mod.rs:30:17 [INFO] [stderr] | [INFO] [stderr] 30 | / match *c { [INFO] [stderr] 31 | | Component::Normal(ident) => { [INFO] [stderr] 32 | | identifier.push_str(ident.to_str().unwrap()); [INFO] [stderr] 33 | | identifier.push_str("|"); [INFO] [stderr] 34 | | } [INFO] [stderr] 35 | | _ => {} [INFO] [stderr] 36 | | } [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] 30 | if let Component::Normal(ident) = *c { [INFO] [stderr] 31 | identifier.push_str(ident.to_str().unwrap()); [INFO] [stderr] 32 | identifier.push_str("|"); [INFO] [stderr] 33 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/crop/mod.rs:51:21 [INFO] [stderr] | [INFO] [stderr] 51 | let ref mut fout = File::create(patch_target).unwrap(); [INFO] [stderr] | ----^^^^^^^^^^^^--------------------------------------- help: try: `let fout = &mut File::create(patch_target).unwrap();` [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: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/crop/mod.rs:62:17 [INFO] [stderr] | [INFO] [stderr] 62 | / let _ = DirBuilder::new() [INFO] [stderr] 63 | | .recursive(true) [INFO] [stderr] 64 | | .create(Path::join(&config.target, label)) [INFO] [stderr] 65 | | .unwrap(); [INFO] [stderr] | |______________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_unit_value)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/crop/mod.rs:79:5 [INFO] [stderr] | [INFO] [stderr] 79 | let _ = DirBuilder::new().recursive(true).create(config.target.clone()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/crop/mod.rs:135:35 [INFO] [stderr] | [INFO] [stderr] 135 | let min_dim = min(xdim, ydim) as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(min(xdim, ydim))` [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/crop/mod.rs:140:37 [INFO] [stderr] | [INFO] [stderr] 140 | let half_crop = (crop_resolution.0 / 2) as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(crop_resolution.0 / 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: manual implementation of an assign operation [INFO] [stderr] --> src/crop/mod.rs:141:21 [INFO] [stderr] | [INFO] [stderr] 141 | scaling = scaling - half_crop; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `scaling -= half_crop` [INFO] [stderr] | [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: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/crop/mod.rs:144:62 [INFO] [stderr] | [INFO] [stderr] 144 | let transformer = candidates::Point::new((xdim / 2) as f64 - half_crop, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `f64::from(xdim / 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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/crop/mod.rs:145:62 [INFO] [stderr] | [INFO] [stderr] 145 | (ydim / 2) as f64 - half_crop); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `f64::from(ydim / 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] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/candidates/mod.rs:142:9 [INFO] [stderr] | [INFO] [stderr] 142 | counter = counter - indices.len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `counter -= indices.len()` [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/crop/mod.rs:30:17 [INFO] [stderr] | [INFO] [stderr] 30 | / match *c { [INFO] [stderr] 31 | | Component::Normal(ident) => { [INFO] [stderr] 32 | | identifier.push_str(ident.to_str().unwrap()); [INFO] [stderr] 33 | | identifier.push_str("|"); [INFO] [stderr] 34 | | } [INFO] [stderr] 35 | | _ => {} [INFO] [stderr] 36 | | } [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] 30 | if let Component::Normal(ident) = *c { [INFO] [stderr] 31 | identifier.push_str(ident.to_str().unwrap()); [INFO] [stderr] 32 | identifier.push_str("|"); [INFO] [stderr] 33 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/crop/mod.rs:51:21 [INFO] [stderr] | [INFO] [stderr] 51 | let ref mut fout = File::create(patch_target).unwrap(); [INFO] [stderr] | ----^^^^^^^^^^^^--------------------------------------- help: try: `let fout = &mut File::create(patch_target).unwrap();` [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] error: Could not compile `image_split`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/crop/mod.rs:62:17 [INFO] [stderr] | [INFO] [stderr] 62 | / let _ = DirBuilder::new() [INFO] [stderr] 63 | | .recursive(true) [INFO] [stderr] 64 | | .create(Path::join(&config.target, label)) [INFO] [stderr] 65 | | .unwrap(); [INFO] [stderr] | |______________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_unit_value)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/crop/mod.rs:79:5 [INFO] [stderr] | [INFO] [stderr] 79 | let _ = DirBuilder::new().recursive(true).create(config.target.clone()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/crop/mod.rs:135:35 [INFO] [stderr] | [INFO] [stderr] 135 | let min_dim = min(xdim, ydim) as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(min(xdim, ydim))` [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/crop/mod.rs:140:37 [INFO] [stderr] | [INFO] [stderr] 140 | let half_crop = (crop_resolution.0 / 2) as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(crop_resolution.0 / 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: manual implementation of an assign operation [INFO] [stderr] --> src/crop/mod.rs:141:21 [INFO] [stderr] | [INFO] [stderr] 141 | scaling = scaling - half_crop; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `scaling -= half_crop` [INFO] [stderr] | [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: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/crop/mod.rs:144:62 [INFO] [stderr] | [INFO] [stderr] 144 | let transformer = candidates::Point::new((xdim / 2) as f64 - half_crop, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `f64::from(xdim / 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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/crop/mod.rs:145:62 [INFO] [stderr] | [INFO] [stderr] 145 | (ydim / 2) as f64 - half_crop); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `f64::from(ydim / 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] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `image_split`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "ba32763a5349319c96d5b6143933c44184f8c6bfea31e74b5a2a9d90f7d6748f"` [INFO] running `"docker" "rm" "-f" "ba32763a5349319c96d5b6143933c44184f8c6bfea31e74b5a2a9d90f7d6748f"` [INFO] [stdout] ba32763a5349319c96d5b6143933c44184f8c6bfea31e74b5a2a9d90f7d6748f