[INFO] updating cached repository alphalpha/image-generator [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/alphalpha/image-generator [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/alphalpha/image-generator" "work/ex/clippy-test-run/sources/stable/gh/alphalpha/image-generator"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/alphalpha/image-generator'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/alphalpha/image-generator" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/alphalpha/image-generator"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/alphalpha/image-generator'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 4eb9d8fc903bdd29e4618d276d2496481e4f90c8 [INFO] sha for GitHub repo alphalpha/image-generator: 4eb9d8fc903bdd29e4618d276d2496481e4f90c8 [INFO] validating manifest of alphalpha/image-generator 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 alphalpha/image-generator 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 alphalpha/image-generator [INFO] finished frobbing alphalpha/image-generator [INFO] frobbed toml for alphalpha/image-generator written to work/ex/clippy-test-run/sources/stable/gh/alphalpha/image-generator/Cargo.toml [INFO] started frobbing alphalpha/image-generator [INFO] finished frobbing alphalpha/image-generator [INFO] frobbed toml for alphalpha/image-generator written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/alphalpha/image-generator/Cargo.toml [INFO] crate alphalpha/image-generator 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 alphalpha/image-generator against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-3/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/alphalpha/image-generator:/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] 79864ffaaedba2a32ee69af10644686b1424cc8468981a36ca84a005d06591b4 [INFO] running `"docker" "start" "-a" "79864ffaaedba2a32ee69af10644686b1424cc8468981a36ca84a005d06591b4"` [INFO] [stderr] Checking itertools v0.7.7 [INFO] [stderr] Checking num-complex v0.1.42 [INFO] [stderr] Checking num-bigint v0.1.43 [INFO] [stderr] Checking generic-array v0.8.3 [INFO] [stderr] Checking png v0.11.0 [INFO] [stderr] Checking env_logger v0.4.3 [INFO] [stderr] Checking quickcheck v0.6.1 [INFO] [stderr] Checking alga v0.5.3 [INFO] [stderr] Checking num-rational v0.1.42 [INFO] [stderr] Checking image v0.18.0 [INFO] [stderr] Checking num v0.1.42 [INFO] [stderr] Checking nalgebra v0.13.1 [INFO] [stderr] Checking imageproc v0.14.0 [INFO] [stderr] Checking image-generator v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:33:17 [INFO] [stderr] | [INFO] [stderr] 33 | font: font, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `font` [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/lib.rs:37:17 [INFO] [stderr] | [INFO] [stderr] 37 | background_color: background_color, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `background_color` [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/lib.rs:133:13 [INFO] [stderr] | [INFO] [stderr] 133 | font: font, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `font` [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/lib.rs:134:13 [INFO] [stderr] | [INFO] [stderr] 134 | location: location, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `location` [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/lib.rs:33:17 [INFO] [stderr] | [INFO] [stderr] 33 | font: font, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `font` [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/lib.rs:37:17 [INFO] [stderr] | [INFO] [stderr] 37 | background_color: background_color, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `background_color` [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/lib.rs:133:13 [INFO] [stderr] | [INFO] [stderr] 133 | font: font, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `font` [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/lib.rs:134:13 [INFO] [stderr] | [INFO] [stderr] 134 | location: location, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `location` [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: use of `ok_or` followed by a function call [INFO] [stderr] --> src/lib.rs:60:18 [INFO] [stderr] | [INFO] [stderr] 60 | .ok_or(util::Error::Custom(String::from( [INFO] [stderr] | __________________^ [INFO] [stderr] 61 | | "Cannot parse input directory" [INFO] [stderr] 62 | | ))) [INFO] [stderr] | |___________________^ [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] help: try this [INFO] [stderr] | [INFO] [stderr] 60 | .ok_or_else(|| util::Error::Custom(String::from( [INFO] [stderr] 61 | "Cannot parse input directory" [INFO] [stderr] 62 | ))) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/lib.rs:78:18 [INFO] [stderr] | [INFO] [stderr] 78 | .ok_or(util::Error::Custom(String::from( [INFO] [stderr] | __________________^ [INFO] [stderr] 79 | | "Cannot parse location info", [INFO] [stderr] 80 | | ))) [INFO] [stderr] | |___________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 78 | .ok_or_else(|| util::Error::Custom(String::from( [INFO] [stderr] 79 | "Cannot parse location info", [INFO] [stderr] 80 | ))) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/lib.rs:82:46 [INFO] [stderr] | [INFO] [stderr] 82 | |l| location_map.get(&l).ok_or(util::Error::Custom(String::from( [INFO] [stderr] | ______________________________________________^ [INFO] [stderr] 83 | | "Given location info is unknown", [INFO] [stderr] 84 | | ))) [INFO] [stderr] | |_______________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 82 | |l| location_map.get(&l).ok_or_else(|| util::Error::Custom(String::from( [INFO] [stderr] 83 | "Given location info is unknown", [INFO] [stderr] 84 | ))) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/lib.rs:90:18 [INFO] [stderr] | [INFO] [stderr] 90 | .ok_or(util::Error::Custom(String::from("Cannot parse font path"))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| util::Error::Custom(String::from("Cannot parse font path")))` [INFO] [stderr] | [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: use of `ok_or` followed by a function call [INFO] [stderr] --> src/lib.rs:95:18 [INFO] [stderr] | [INFO] [stderr] 95 | .ok_or(util::Error::Custom(String::from("Cannot parse font size")))? [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| util::Error::Custom(String::from("Cannot parse font size")))` [INFO] [stderr] | [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: use of `ok_or` followed by a function call [INFO] [stderr] --> src/lib.rs:100:18 [INFO] [stderr] | [INFO] [stderr] 100 | .ok_or(util::Error::Custom(String::from( [INFO] [stderr] | __________________^ [INFO] [stderr] 101 | | "Cannot parse font background color Red value" [INFO] [stderr] 102 | | )))? [INFO] [stderr] | |___________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 100 | .ok_or_else(|| util::Error::Custom(String::from( [INFO] [stderr] 101 | "Cannot parse font background color Red value" [INFO] [stderr] 102 | )))? [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/lib.rs:108:18 [INFO] [stderr] | [INFO] [stderr] 108 | .ok_or(util::Error::Custom(String::from( [INFO] [stderr] | __________________^ [INFO] [stderr] 109 | | "Cannot parse font background color Green value" [INFO] [stderr] 110 | | )))? [INFO] [stderr] | |___________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 108 | .ok_or_else(|| util::Error::Custom(String::from( [INFO] [stderr] 109 | "Cannot parse font background color Green value" [INFO] [stderr] 110 | )))? [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/lib.rs:116:18 [INFO] [stderr] | [INFO] [stderr] 116 | .ok_or(util::Error::Custom(String::from( [INFO] [stderr] | __________________^ [INFO] [stderr] 117 | | "Cannot parse font background color Blue value" [INFO] [stderr] 118 | | )))? [INFO] [stderr] | |___________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 116 | .ok_or_else(|| util::Error::Custom(String::from( [INFO] [stderr] 117 | "Cannot parse font background color Blue value" [INFO] [stderr] 118 | )))? [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:221:27 [INFO] [stderr] | [INFO] [stderr] 221 | acc[i] += pixel[i] as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u32::from(pixel[i])` [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: identical conversion [INFO] [stderr] --> src/lib.rs:252:16 [INFO] [stderr] | [INFO] [stderr] 252 | Ok(String::from(date + ", " + &time)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `date + ", " + &time` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/lib.rs:254:38 [INFO] [stderr] | [INFO] [stderr] 254 | _ => Err(util::Error::Custom(String::from( [INFO] [stderr] | ______________________________________^ [INFO] [stderr] 255 | | "File: \"".to_string() + name + "\" has wrong name format", [INFO] [stderr] 256 | | ))), [INFO] [stderr] | |_________^ help: consider removing `String::from()`: `"File: \"".to_string() + name + "\" has wrong name format"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/lib.rs:272:63 [INFO] [stderr] | [INFO] [stderr] 272 | let input_paths = image_paths(&config.input_path).map_err(|e| Box::new(e))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove closure as shown: `Box::new` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/lib.rs:298:49 [INFO] [stderr] | [INFO] [stderr] 298 | .and_then(|n| parse_date(n).map_err(|e| Box::new(e)))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove closure as shown: `Box::new` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/lib.rs:319:59 [INFO] [stderr] | [INFO] [stderr] 319 | .and_then(|path| image.save(path).map_err(|e| util::Error::Io(e))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `util::Error::Io` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/lib.rs:332:13 [INFO] [stderr] | [INFO] [stderr] 332 | w = w + bb.width() as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `w += bb.width() as u32` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/lib.rs:339:65 [INFO] [stderr] | [INFO] [stderr] 339 | fn draw_citing(image: &mut RgbImage, config: &Config, position: &Point, text: &str) { [INFO] [stderr] | ^^^^^^^^^^^ help: consider passing by value instead: `Point` [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: use of `ok_or` followed by a function call [INFO] [stderr] --> src/lib.rs:60:18 [INFO] [stderr] | [INFO] [stderr] 60 | .ok_or(util::Error::Custom(String::from( [INFO] [stderr] | __________________^ [INFO] [stderr] 61 | | "Cannot parse input directory" [INFO] [stderr] 62 | | ))) [INFO] [stderr] | |___________________^ [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] help: try this [INFO] [stderr] | [INFO] [stderr] 60 | .ok_or_else(|| util::Error::Custom(String::from( [INFO] [stderr] 61 | "Cannot parse input directory" [INFO] [stderr] 62 | ))) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/lib.rs:78:18 [INFO] [stderr] | [INFO] [stderr] 78 | .ok_or(util::Error::Custom(String::from( [INFO] [stderr] | __________________^ [INFO] [stderr] 79 | | "Cannot parse location info", [INFO] [stderr] 80 | | ))) [INFO] [stderr] | |___________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 78 | .ok_or_else(|| util::Error::Custom(String::from( [INFO] [stderr] 79 | "Cannot parse location info", [INFO] [stderr] 80 | ))) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/lib.rs:82:46 [INFO] [stderr] | [INFO] [stderr] 82 | |l| location_map.get(&l).ok_or(util::Error::Custom(String::from( [INFO] [stderr] | ______________________________________________^ [INFO] [stderr] 83 | | "Given location info is unknown", [INFO] [stderr] 84 | | ))) [INFO] [stderr] | |_______________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 82 | |l| location_map.get(&l).ok_or_else(|| util::Error::Custom(String::from( [INFO] [stderr] 83 | "Given location info is unknown", [INFO] [stderr] 84 | ))) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/lib.rs:90:18 [INFO] [stderr] | [INFO] [stderr] 90 | .ok_or(util::Error::Custom(String::from("Cannot parse font path"))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| util::Error::Custom(String::from("Cannot parse font path")))` [INFO] [stderr] | [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: use of `ok_or` followed by a function call [INFO] [stderr] --> src/lib.rs:95:18 [INFO] [stderr] | [INFO] [stderr] 95 | .ok_or(util::Error::Custom(String::from("Cannot parse font size")))? [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| util::Error::Custom(String::from("Cannot parse font size")))` [INFO] [stderr] | [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: use of `ok_or` followed by a function call [INFO] [stderr] --> src/lib.rs:100:18 [INFO] [stderr] | [INFO] [stderr] 100 | .ok_or(util::Error::Custom(String::from( [INFO] [stderr] | __________________^ [INFO] [stderr] 101 | | "Cannot parse font background color Red value" [INFO] [stderr] 102 | | )))? [INFO] [stderr] | |___________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 100 | .ok_or_else(|| util::Error::Custom(String::from( [INFO] [stderr] 101 | "Cannot parse font background color Red value" [INFO] [stderr] 102 | )))? [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/lib.rs:108:18 [INFO] [stderr] | [INFO] [stderr] 108 | .ok_or(util::Error::Custom(String::from( [INFO] [stderr] | __________________^ [INFO] [stderr] 109 | | "Cannot parse font background color Green value" [INFO] [stderr] 110 | | )))? [INFO] [stderr] | |___________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 108 | .ok_or_else(|| util::Error::Custom(String::from( [INFO] [stderr] 109 | "Cannot parse font background color Green value" [INFO] [stderr] 110 | )))? [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/lib.rs:116:18 [INFO] [stderr] | [INFO] [stderr] 116 | .ok_or(util::Error::Custom(String::from( [INFO] [stderr] | __________________^ [INFO] [stderr] 117 | | "Cannot parse font background color Blue value" [INFO] [stderr] 118 | | )))? [INFO] [stderr] | |___________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 116 | .ok_or_else(|| util::Error::Custom(String::from( [INFO] [stderr] 117 | "Cannot parse font background color Blue value" [INFO] [stderr] 118 | )))? [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:221:27 [INFO] [stderr] | [INFO] [stderr] 221 | acc[i] += pixel[i] as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u32::from(pixel[i])` [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: identical conversion [INFO] [stderr] --> src/lib.rs:252:16 [INFO] [stderr] | [INFO] [stderr] 252 | Ok(String::from(date + ", " + &time)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `date + ", " + &time` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/lib.rs:254:38 [INFO] [stderr] | [INFO] [stderr] 254 | _ => Err(util::Error::Custom(String::from( [INFO] [stderr] | ______________________________________^ [INFO] [stderr] 255 | | "File: \"".to_string() + name + "\" has wrong name format", [INFO] [stderr] 256 | | ))), [INFO] [stderr] | |_________^ help: consider removing `String::from()`: `"File: \"".to_string() + name + "\" has wrong name format"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/lib.rs:272:63 [INFO] [stderr] | [INFO] [stderr] 272 | let input_paths = image_paths(&config.input_path).map_err(|e| Box::new(e))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove closure as shown: `Box::new` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/lib.rs:298:49 [INFO] [stderr] | [INFO] [stderr] 298 | .and_then(|n| parse_date(n).map_err(|e| Box::new(e)))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove closure as shown: `Box::new` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/lib.rs:319:59 [INFO] [stderr] | [INFO] [stderr] 319 | .and_then(|path| image.save(path).map_err(|e| util::Error::Io(e))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `util::Error::Io` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/lib.rs:332:13 [INFO] [stderr] | [INFO] [stderr] 332 | w = w + bb.width() as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `w += bb.width() as u32` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/lib.rs:339:65 [INFO] [stderr] | [INFO] [stderr] 339 | fn draw_citing(image: &mut RgbImage, config: &Config, position: &Point, text: &str) { [INFO] [stderr] | ^^^^^^^^^^^ help: consider passing by value instead: `Point` [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: The function/method `mean_color` doesn't need a mutable reference [INFO] [stderr] --> src/lib.rs:370:33 [INFO] [stderr] | [INFO] [stderr] 370 | let actual = mean_color(&mut image).unwrap(); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_mut_passed)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 54.23s [INFO] running `"docker" "inspect" "79864ffaaedba2a32ee69af10644686b1424cc8468981a36ca84a005d06591b4"` [INFO] running `"docker" "rm" "-f" "79864ffaaedba2a32ee69af10644686b1424cc8468981a36ca84a005d06591b4"` [INFO] [stdout] 79864ffaaedba2a32ee69af10644686b1424cc8468981a36ca84a005d06591b4