[INFO] updating cached repository spejss/Image-Processing-CLI-in-Rust [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/spejss/Image-Processing-CLI-in-Rust [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/spejss/Image-Processing-CLI-in-Rust" "work/ex/clippy-test-run/sources/stable/gh/spejss/Image-Processing-CLI-in-Rust"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/spejss/Image-Processing-CLI-in-Rust'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/spejss/Image-Processing-CLI-in-Rust" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/spejss/Image-Processing-CLI-in-Rust"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/spejss/Image-Processing-CLI-in-Rust'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 9545f0e68ca6761c6c9387636cfeb5be95109591 [INFO] sha for GitHub repo spejss/Image-Processing-CLI-in-Rust: 9545f0e68ca6761c6c9387636cfeb5be95109591 [INFO] validating manifest of spejss/Image-Processing-CLI-in-Rust 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 spejss/Image-Processing-CLI-in-Rust 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 spejss/Image-Processing-CLI-in-Rust [INFO] finished frobbing spejss/Image-Processing-CLI-in-Rust [INFO] frobbed toml for spejss/Image-Processing-CLI-in-Rust written to work/ex/clippy-test-run/sources/stable/gh/spejss/Image-Processing-CLI-in-Rust/Cargo.toml [INFO] started frobbing spejss/Image-Processing-CLI-in-Rust [INFO] finished frobbing spejss/Image-Processing-CLI-in-Rust [INFO] frobbed toml for spejss/Image-Processing-CLI-in-Rust written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/spejss/Image-Processing-CLI-in-Rust/Cargo.toml [INFO] crate spejss/Image-Processing-CLI-in-Rust 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 spejss/Image-Processing-CLI-in-Rust 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/spejss/Image-Processing-CLI-in-Rust:/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] 766c80baaa615a3b73c737f394277ce0c7ecb6938f8d831f268b6cc1dad28cd4 [INFO] running `"docker" "start" "-a" "766c80baaa615a3b73c737f394277ce0c7ecb6938f8d831f268b6cc1dad28cd4"` [INFO] [stderr] Checking ipcli v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused import: `SubCommand` [INFO] [stderr] --> src/main.rs:4:20 [INFO] [stderr] | [INFO] [stderr] 4 | use clap::{Arg,App,SubCommand}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `ImageBuffer` [INFO] [stderr] --> src/main.rs:6:45 [INFO] [stderr] | [INFO] [stderr] 6 | use image::{FilterType, GenericImage, Pixel,ImageBuffer,Rgb}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::path::Path` [INFO] [stderr] --> src/main.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::path::Path; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:222:11 [INFO] [stderr] | [INFO] [stderr] 222 | if(value > maxValue){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:323:11 [INFO] [stderr] | [INFO] [stderr] 323 | if(value > maxValueR){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:328:11 [INFO] [stderr] | [INFO] [stderr] 328 | if(value > maxValueG){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:333:11 [INFO] [stderr] | [INFO] [stderr] 333 | if(value > maxValueB){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `SubCommand` [INFO] [stderr] --> src/main.rs:4:20 [INFO] [stderr] | [INFO] [stderr] 4 | use clap::{Arg,App,SubCommand}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `ImageBuffer` [INFO] [stderr] --> src/main.rs:6:45 [INFO] [stderr] | [INFO] [stderr] 6 | use image::{FilterType, GenericImage, Pixel,ImageBuffer,Rgb}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::path::Path` [INFO] [stderr] --> src/main.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::path::Path; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:222:11 [INFO] [stderr] | [INFO] [stderr] 222 | if(value > maxValue){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:323:11 [INFO] [stderr] | [INFO] [stderr] 323 | if(value > maxValueR){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:328:11 [INFO] [stderr] | [INFO] [stderr] 328 | if(value > maxValueG){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:333:11 [INFO] [stderr] | [INFO] [stderr] 333 | if(value > maxValueB){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused variable: `occurences` [INFO] [stderr] --> src/main.rs:221:10 [INFO] [stderr] | [INFO] [stderr] 221 | for (occurences, &value) in occurences.iter() { [INFO] [stderr] | ^^^^^^^^^^ help: consider using `_occurences` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `occurences` [INFO] [stderr] --> src/main.rs:221:10 [INFO] [stderr] | [INFO] [stderr] 221 | for (occurences, &value) in occurences.iter() { [INFO] [stderr] | ^^^^^^^^^^ help: consider using `_occurences` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `occurencesR` [INFO] [stderr] --> src/main.rs:322:10 [INFO] [stderr] | [INFO] [stderr] 322 | for (occurencesR, &value) in occurencesR.iter() { [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_occurencesR` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `occurencesG` [INFO] [stderr] --> src/main.rs:327:10 [INFO] [stderr] | [INFO] [stderr] 327 | for (occurencesG, &value) in occurencesG.iter() { [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_occurencesG` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `occurencesR` [INFO] [stderr] --> src/main.rs:322:10 [INFO] [stderr] | [INFO] [stderr] 322 | for (occurencesR, &value) in occurencesR.iter() { [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_occurencesR` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `occurencesG` [INFO] [stderr] --> src/main.rs:327:10 [INFO] [stderr] | [INFO] [stderr] 327 | for (occurencesG, &value) in occurencesG.iter() { [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_occurencesG` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `occurencesB` [INFO] [stderr] --> src/main.rs:332:10 [INFO] [stderr] | [INFO] [stderr] 332 | for (occurencesB, &value) in occurencesB.iter() { [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_occurencesB` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `occurencesB` [INFO] [stderr] --> src/main.rs:332:10 [INFO] [stderr] | [INFO] [stderr] 332 | for (occurencesB, &value) in occurencesB.iter() { [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_occurencesB` instead [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:158:9 [INFO] [stderr] | [INFO] [stderr] 158 | let mut grayscale = img.grayscale(); [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:158:9 [INFO] [stderr] | [INFO] [stderr] 158 | let mut grayscale = img.grayscale(); [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable `imagePath` should have a snake case name such as `image_path` [INFO] [stderr] --> src/main.rs:37:9 [INFO] [stderr] | [INFO] [stderr] 37 | let imagePath = matches.value_of("image").unwrap_or("empty"); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/main.rs:46:11 [INFO] [stderr] | [INFO] [stderr] 46 | match operation.as_ref(){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try this: `operation` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_asref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: variable `imagePath` should have a snake case name such as `image_path` [INFO] [stderr] --> src/main.rs:37:9 [INFO] [stderr] | [INFO] [stderr] 37 | let imagePath = matches.value_of("image").unwrap_or("empty"); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: function `averageColor` should have a snake case name such as `average_color` [INFO] [stderr] --> src/main.rs:80:1 [INFO] [stderr] | [INFO] [stderr] 80 | / fn averageColor(i: &str){ [INFO] [stderr] 81 | | let img = image::open(i).expect("Opening image failed"); [INFO] [stderr] 82 | | let mut r: u32 = 0; [INFO] [stderr] 83 | | let mut g: u32 = 0; [INFO] [stderr] ... | [INFO] [stderr] 96 | | println!("Average color is: RGB {} {} {}",r,g,b); [INFO] [stderr] 97 | | } [INFO] [stderr] | |_^ [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/main.rs:46:11 [INFO] [stderr] | [INFO] [stderr] 46 | match operation.as_ref(){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try this: `operation` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_asref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: function `averageColor` should have a snake case name such as `average_color` [INFO] [stderr] --> src/main.rs:80:1 [INFO] [stderr] | [INFO] [stderr] 80 | / fn averageColor(i: &str){ [INFO] [stderr] 81 | | let img = image::open(i).expect("Opening image failed"); [INFO] [stderr] 82 | | let mut r: u32 = 0; [INFO] [stderr] 83 | | let mut g: u32 = 0; [INFO] [stderr] ... | [INFO] [stderr] 96 | | println!("Average color is: RGB {} {} {}",r,g,b); [INFO] [stderr] 97 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:90:29 [INFO] [stderr] | [INFO] [stderr] 90 | r = (r as u32 + rgb.data[0] as u32)/2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u32::from(rgb.data[0])` [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:90:29 [INFO] [stderr] | [INFO] [stderr] 90 | r = (r as u32 + rgb.data[0] as u32)/2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u32::from(rgb.data[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 u32 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:91:29 [INFO] [stderr] | [INFO] [stderr] 91 | g = (g as u32 + rgb.data[1] as u32)/2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u32::from(rgb.data[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 u32 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:92:29 [INFO] [stderr] | [INFO] [stderr] 92 | b = (b as u32 + rgb.data[2] as u32)/2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u32::from(rgb.data[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] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] warning: function `createThumnbail` should have a snake case name such as `create_thumnbail` [INFO] [stderr] --> src/main.rs:99:1 [INFO] [stderr] | [INFO] [stderr] 99 | / fn createThumnbail(i: &str, size: u32){ [INFO] [stderr] 100 | | let operation = "Thumbnail"; [INFO] [stderr] 101 | | let img = image::open(i).expect("Opening image failed"); [INFO] [stderr] 102 | | let thumbnail = img.resize(size,size, FilterType::Lanczos3); [INFO] [stderr] 103 | | saveFile(&thumbnail, &i, &operation); [INFO] [stderr] 104 | | [INFO] [stderr] 105 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: function `gaussianBlur` should have a snake case name such as `gaussian_blur` [INFO] [stderr] --> src/main.rs:113:1 [INFO] [stderr] | [INFO] [stderr] 113 | / fn gaussianBlur(i: &str, v: f32){ [INFO] [stderr] 114 | | let operation = "GuassianBlur"; [INFO] [stderr] 115 | | let img = image::open(i).expect("Opening image failed"); [INFO] [stderr] 116 | | let blurred = img.blur(v); [INFO] [stderr] 117 | | saveFile(&blurred, &i, &operation); [INFO] [stderr] 118 | | } [INFO] [stderr] | |_^ [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:91:29 [INFO] [stderr] | [INFO] [stderr] 91 | g = (g as u32 + rgb.data[1] as u32)/2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u32::from(rgb.data[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: variable `outputPath` should have a snake case name such as `output_path` [INFO] [stderr] --> src/main.rs:174:9 [INFO] [stderr] | [INFO] [stderr] 174 | let mut outputPath: String = i.chars().take(i.len()-4).collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `histogramGrayscale` should have a snake case name such as `histogram_grayscale` [INFO] [stderr] --> src/main.rs:184:1 [INFO] [stderr] | [INFO] [stderr] 184 | / fn histogramGrayscale(i: &str){ [INFO] [stderr] 185 | | let operation = "HistogramGrayscale"; [INFO] [stderr] 186 | | // size of the output image containing the histogram [INFO] [stderr] 187 | | let WIDTH = 255; [INFO] [stderr] ... | [INFO] [stderr] 258 | | image.save(outputPath).unwrap(); [INFO] [stderr] 259 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:92:29 [INFO] [stderr] | [INFO] [stderr] 92 | b = (b as u32 + rgb.data[2] as u32)/2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u32::from(rgb.data[2])` [INFO] [stderr] warning: variable `WIDTH` should have a snake case name such as `width` [INFO] [stderr] --> src/main.rs:187:9 [INFO] [stderr] | [INFO] [stderr] 187 | let WIDTH = 255; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `HEIGHT` should have a snake case name such as `height` [INFO] [stderr] --> src/main.rs:188:9 [INFO] [stderr] | [INFO] [stderr] 188 | let HEIGHT = 200; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: statement can be reduced [INFO] [stderr] --> src/main.rs:198:9 [INFO] [stderr] | [INFO] [stderr] 198 | &occurences.insert(fill,0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `occurences.insert(fill,0);` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_operation)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stderr] [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/main.rs:211:21 [INFO] [stderr] | [INFO] [stderr] 211 | current = current + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `current += 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: statement can be reduced [INFO] [stderr] --> src/main.rs:212:21 [INFO] [stderr] | [INFO] [stderr] 212 | &occurences.insert(intensity,current); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `occurences.insert(intensity,current);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stderr] [INFO] [stderr] warning: statement can be reduced [INFO] [stderr] --> src/main.rs:214:23 [INFO] [stderr] | [INFO] [stderr] 214 | _ => {&occurences.insert(w as u8,0);} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `occurences.insert(w as u8,0);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stderr] [INFO] [stderr] warning: variable `maxValue` should have a snake case name such as `max_value` [INFO] [stderr] --> src/main.rs:220:9 [INFO] [stderr] | [INFO] [stderr] 220 | let mut maxValue = 0; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:244:70 [INFO] [stderr] | [INFO] [stderr] 244 | let mut pixel = image.get_pixel_mut(cc, (HEIGHT-1) - height as u32); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(height)` [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/main.rs:249:9 [INFO] [stderr] | [INFO] [stderr] 249 | cc = cc + 1; [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `cc += 1` [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: variable `outputPath` should have a snake case name such as `output_path` [INFO] [stderr] --> src/main.rs:252:9 [INFO] [stderr] | [INFO] [stderr] 252 | let mut outputPath: String = i.chars().take(i.len()-4).collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `WIDTH` should have a snake case name such as `width` [INFO] [stderr] --> src/main.rs:265:9 [INFO] [stderr] | [INFO] [stderr] 265 | let WIDTH = 255; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `HEIGHT` should have a snake case name such as `height` [INFO] [stderr] --> src/main.rs:266:9 [INFO] [stderr] | [INFO] [stderr] 266 | let HEIGHT = 200; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `createThumnbail` should have a snake case name such as `create_thumnbail` [INFO] [stderr] --> src/main.rs:99:1 [INFO] [stderr] | [INFO] [stderr] 99 | / fn createThumnbail(i: &str, size: u32){ [INFO] [stderr] 100 | | let operation = "Thumbnail"; [INFO] [stderr] 101 | | let img = image::open(i).expect("Opening image failed"); [INFO] [stderr] 102 | | let thumbnail = img.resize(size,size, FilterType::Lanczos3); [INFO] [stderr] 103 | | saveFile(&thumbnail, &i, &operation); [INFO] [stderr] 104 | | [INFO] [stderr] 105 | | } [INFO] [stderr] | |_^ [INFO] [stderr] warning: variable `occurencesR` should have a snake case name such as `occurences_r` [INFO] [stderr] --> src/main.rs:272:9 [INFO] [stderr] | [INFO] [stderr] 272 | let mut occurencesR = HashMap::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `occurencesG` should have a snake case name such as `occurences_g` [INFO] [stderr] --> src/main.rs:273:9 [INFO] [stderr] | [INFO] [stderr] 273 | let mut occurencesG = HashMap::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `occurencesB` should have a snake case name such as `occurences_b` [INFO] [stderr] --> src/main.rs:274:9 [INFO] [stderr] | [INFO] [stderr] 274 | let mut occurencesB = HashMap::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: statement can be reduced [INFO] [stderr] --> src/main.rs:277:9 [INFO] [stderr] | [INFO] [stderr] 277 | &occurencesR.insert(fill,0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `occurencesR.insert(fill,0);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stderr] [INFO] [stderr] warning: statement can be reduced [INFO] [stderr] --> src/main.rs:278:9 [INFO] [stderr] | [INFO] [stderr] 278 | &occurencesG.insert(fill,0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `occurencesG.insert(fill,0);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stderr] [INFO] [stderr] warning: statement can be reduced [INFO] [stderr] --> src/main.rs:279:9 [INFO] [stderr] | [INFO] [stderr] 279 | &occurencesB.insert(fill,0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `occurencesB.insert(fill,0);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stderr] [INFO] [stderr] warning: variable `intensityR` should have a snake case name such as `intensity_r` [INFO] [stderr] --> src/main.rs:288:17 [INFO] [stderr] | [INFO] [stderr] 288 | let intensityR = rgb.data[0]; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `intensityG` should have a snake case name such as `intensity_g` [INFO] [stderr] --> src/main.rs:289:17 [INFO] [stderr] | [INFO] [stderr] 289 | let intensityG = rgb.data[1]; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `intensityB` should have a snake case name such as `intensity_b` [INFO] [stderr] --> src/main.rs:290:17 [INFO] [stderr] | [INFO] [stderr] 290 | let intensityB = rgb.data[2]; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/main.rs:294:21 [INFO] [stderr] | [INFO] [stderr] 294 | current = current + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `current += 1` [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: statement can be reduced [INFO] [stderr] --> src/main.rs:295:21 [INFO] [stderr] | [INFO] [stderr] 295 | &occurencesR.insert(intensityR,current); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `occurencesR.insert(intensityR,current);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stderr] [INFO] [stderr] warning: statement can be reduced [INFO] [stderr] --> src/main.rs:297:23 [INFO] [stderr] | [INFO] [stderr] 297 | _ => {&occurencesR.insert(w as u8,0);} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `occurencesR.insert(w as u8,0);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/main.rs:302:21 [INFO] [stderr] | [INFO] [stderr] 302 | current = current + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `current += 1` [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: statement can be reduced [INFO] [stderr] --> src/main.rs:303:21 [INFO] [stderr] | [INFO] [stderr] 303 | &occurencesG.insert(intensityG,current); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `occurencesG.insert(intensityG,current);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stderr] [INFO] [stderr] warning: statement can be reduced [INFO] [stderr] --> src/main.rs:305:23 [INFO] [stderr] | [INFO] [stderr] 305 | _ => {&occurencesG.insert(w as u8,0);} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `occurencesG.insert(w as u8,0);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/main.rs:310:21 [INFO] [stderr] | [INFO] [stderr] 310 | current = current + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `current += 1` [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: statement can be reduced [INFO] [stderr] --> src/main.rs:311:21 [INFO] [stderr] | [INFO] [stderr] 311 | &occurencesB.insert(intensityB,current); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `occurencesB.insert(intensityB,current);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stderr] [INFO] [stderr] warning: statement can be reduced [INFO] [stderr] --> src/main.rs:313:23 [INFO] [stderr] | [INFO] [stderr] 313 | _ => {&occurencesB.insert(w as u8,0);} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `occurencesB.insert(w as u8,0);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stderr] [INFO] [stderr] warning: variable `maxValueR` should have a snake case name such as `max_value_r` [INFO] [stderr] --> src/main.rs:319:9 [INFO] [stderr] | [INFO] [stderr] 319 | let mut maxValueR = 0; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `maxValueG` should have a snake case name such as `max_value_g` [INFO] [stderr] --> src/main.rs:320:9 [INFO] [stderr] | [INFO] [stderr] 320 | let mut maxValueG = 0; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `maxValueB` should have a snake case name such as `max_value_b` [INFO] [stderr] --> src/main.rs:321:9 [INFO] [stderr] | [INFO] [stderr] 321 | let mut maxValueB = 0; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `occurencesR` should have a snake case name such as `occurences_r` [INFO] [stderr] --> src/main.rs:322:10 [INFO] [stderr] | [INFO] [stderr] 322 | for (occurencesR, &value) in occurencesR.iter() { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `occurencesG` should have a snake case name such as `occurences_g` [INFO] [stderr] --> src/main.rs:327:10 [INFO] [stderr] | [INFO] [stderr] 327 | for (occurencesG, &value) in occurencesG.iter() { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `occurencesB` should have a snake case name such as `occurences_b` [INFO] [stderr] --> src/main.rs:332:10 [INFO] [stderr] | [INFO] [stderr] 332 | for (occurencesB, &value) in occurencesB.iter() { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:355:70 [INFO] [stderr] | [INFO] [stderr] 355 | let mut pixel = image.get_pixel_mut(cc, (HEIGHT-1) - height as u32); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(height)` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:363:70 [INFO] [stderr] | [INFO] [stderr] 363 | let mut pixel = image.get_pixel_mut(cc, (HEIGHT-1) - height as u32); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(height)` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:371:70 [INFO] [stderr] | [INFO] [stderr] 371 | let mut pixel = image.get_pixel_mut(cc, (HEIGHT-1) - height as u32); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(height)` [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/main.rs:376:9 [INFO] [stderr] | [INFO] [stderr] 376 | cc = cc + 1; [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `cc += 1` [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: variable `outputPath` should have a snake case name such as `output_path` [INFO] [stderr] --> src/main.rs:379:9 [INFO] [stderr] | [INFO] [stderr] 379 | let mut outputPath: String = i.chars().take(i.len()-4).collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `saveFile` should have a snake case name such as `save_file` [INFO] [stderr] --> src/main.rs:388:1 [INFO] [stderr] | [INFO] [stderr] 388 | / fn saveFile(img: &DynamicImage, i: &str, operation: &str){ [INFO] [stderr] 389 | | let mut outputPath: String = i.chars().take(i.len()-4).collect(); [INFO] [stderr] 390 | | let ext: String = i.chars().skip(i.len()-3).take(3).collect(); [INFO] [stderr] 391 | | outputPath.push_str(operation); [INFO] [stderr] ... | [INFO] [stderr] 403 | | } [INFO] [stderr] 404 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: variable `outputPath` should have a snake case name such as `output_path` [INFO] [stderr] --> src/main.rs:389:9 [INFO] [stderr] | [INFO] [stderr] 389 | let mut outputPath: String = i.chars().take(i.len()-4).collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: function `gaussianBlur` should have a snake case name such as `gaussian_blur` [INFO] [stderr] --> src/main.rs:113:1 [INFO] [stderr] | [INFO] [stderr] 113 | / fn gaussianBlur(i: &str, v: f32){ [INFO] [stderr] 114 | | let operation = "GuassianBlur"; [INFO] [stderr] 115 | | let img = image::open(i).expect("Opening image failed"); [INFO] [stderr] 116 | | let blurred = img.blur(v); [INFO] [stderr] 117 | | saveFile(&blurred, &i, &operation); [INFO] [stderr] 118 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: variable `outputPath` should have a snake case name such as `output_path` [INFO] [stderr] --> src/main.rs:174:9 [INFO] [stderr] | [INFO] [stderr] 174 | let mut outputPath: String = i.chars().take(i.len()-4).collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `histogramGrayscale` should have a snake case name such as `histogram_grayscale` [INFO] [stderr] --> src/main.rs:184:1 [INFO] [stderr] | [INFO] [stderr] 184 | / fn histogramGrayscale(i: &str){ [INFO] [stderr] 185 | | let operation = "HistogramGrayscale"; [INFO] [stderr] 186 | | // size of the output image containing the histogram [INFO] [stderr] 187 | | let WIDTH = 255; [INFO] [stderr] ... | [INFO] [stderr] 258 | | image.save(outputPath).unwrap(); [INFO] [stderr] 259 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: variable `WIDTH` should have a snake case name such as `width` [INFO] [stderr] --> src/main.rs:187:9 [INFO] [stderr] | [INFO] [stderr] 187 | let WIDTH = 255; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `HEIGHT` should have a snake case name such as `height` [INFO] [stderr] --> src/main.rs:188:9 [INFO] [stderr] | [INFO] [stderr] 188 | let HEIGHT = 200; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: statement can be reduced [INFO] [stderr] --> src/main.rs:198:9 [INFO] [stderr] | [INFO] [stderr] 198 | &occurences.insert(fill,0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `occurences.insert(fill,0);` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_operation)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/main.rs:211:21 [INFO] [stderr] | [INFO] [stderr] 211 | current = current + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `current += 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: statement can be reduced [INFO] [stderr] --> src/main.rs:212:21 [INFO] [stderr] | [INFO] [stderr] 212 | &occurences.insert(intensity,current); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `occurences.insert(intensity,current);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stderr] [INFO] [stderr] warning: statement can be reduced [INFO] [stderr] --> src/main.rs:214:23 [INFO] [stderr] | [INFO] [stderr] 214 | _ => {&occurences.insert(w as u8,0);} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `occurences.insert(w as u8,0);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stderr] [INFO] [stderr] warning: variable `maxValue` should have a snake case name such as `max_value` [INFO] [stderr] --> src/main.rs:220:9 [INFO] [stderr] | [INFO] [stderr] 220 | let mut maxValue = 0; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:244:70 [INFO] [stderr] | [INFO] [stderr] 244 | let mut pixel = image.get_pixel_mut(cc, (HEIGHT-1) - height as u32); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(height)` [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/main.rs:249:9 [INFO] [stderr] | [INFO] [stderr] 249 | cc = cc + 1; [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `cc += 1` [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: variable `outputPath` should have a snake case name such as `output_path` [INFO] [stderr] --> src/main.rs:252:9 [INFO] [stderr] | [INFO] [stderr] 252 | let mut outputPath: String = i.chars().take(i.len()-4).collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `WIDTH` should have a snake case name such as `width` [INFO] [stderr] --> src/main.rs:265:9 [INFO] [stderr] | [INFO] [stderr] 265 | let WIDTH = 255; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `HEIGHT` should have a snake case name such as `height` [INFO] [stderr] --> src/main.rs:266:9 [INFO] [stderr] | [INFO] [stderr] 266 | let HEIGHT = 200; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `occurencesR` should have a snake case name such as `occurences_r` [INFO] [stderr] --> src/main.rs:272:9 [INFO] [stderr] | [INFO] [stderr] 272 | let mut occurencesR = HashMap::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `occurencesG` should have a snake case name such as `occurences_g` [INFO] [stderr] --> src/main.rs:273:9 [INFO] [stderr] | [INFO] [stderr] 273 | let mut occurencesG = HashMap::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `occurencesB` should have a snake case name such as `occurences_b` [INFO] [stderr] --> src/main.rs:274:9 [INFO] [stderr] | [INFO] [stderr] 274 | let mut occurencesB = HashMap::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: statement can be reduced [INFO] [stderr] --> src/main.rs:277:9 [INFO] [stderr] | [INFO] [stderr] 277 | &occurencesR.insert(fill,0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `occurencesR.insert(fill,0);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stderr] [INFO] [stderr] warning: statement can be reduced [INFO] [stderr] --> src/main.rs:278:9 [INFO] [stderr] | [INFO] [stderr] 278 | &occurencesG.insert(fill,0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `occurencesG.insert(fill,0);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stderr] [INFO] [stderr] warning: statement can be reduced [INFO] [stderr] --> src/main.rs:279:9 [INFO] [stderr] | [INFO] [stderr] 279 | &occurencesB.insert(fill,0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `occurencesB.insert(fill,0);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stderr] [INFO] [stderr] warning: variable `intensityR` should have a snake case name such as `intensity_r` [INFO] [stderr] --> src/main.rs:288:17 [INFO] [stderr] | [INFO] [stderr] 288 | let intensityR = rgb.data[0]; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `intensityG` should have a snake case name such as `intensity_g` [INFO] [stderr] --> src/main.rs:289:17 [INFO] [stderr] | [INFO] [stderr] 289 | let intensityG = rgb.data[1]; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `intensityB` should have a snake case name such as `intensity_b` [INFO] [stderr] --> src/main.rs:290:17 [INFO] [stderr] | [INFO] [stderr] 290 | let intensityB = rgb.data[2]; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/main.rs:294:21 [INFO] [stderr] | [INFO] [stderr] 294 | current = current + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `current += 1` [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: statement can be reduced [INFO] [stderr] --> src/main.rs:295:21 [INFO] [stderr] | [INFO] [stderr] 295 | &occurencesR.insert(intensityR,current); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `occurencesR.insert(intensityR,current);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stderr] [INFO] [stderr] warning: statement can be reduced [INFO] [stderr] --> src/main.rs:297:23 [INFO] [stderr] | [INFO] [stderr] 297 | _ => {&occurencesR.insert(w as u8,0);} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `occurencesR.insert(w as u8,0);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/main.rs:302:21 [INFO] [stderr] | [INFO] [stderr] 302 | current = current + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `current += 1` [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: statement can be reduced [INFO] [stderr] --> src/main.rs:303:21 [INFO] [stderr] | [INFO] [stderr] 303 | &occurencesG.insert(intensityG,current); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `occurencesG.insert(intensityG,current);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stderr] [INFO] [stderr] warning: statement can be reduced [INFO] [stderr] --> src/main.rs:305:23 [INFO] [stderr] | [INFO] [stderr] 305 | _ => {&occurencesG.insert(w as u8,0);} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `occurencesG.insert(w as u8,0);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/main.rs:310:21 [INFO] [stderr] | [INFO] [stderr] 310 | current = current + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `current += 1` [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: statement can be reduced [INFO] [stderr] --> src/main.rs:311:21 [INFO] [stderr] | [INFO] [stderr] 311 | &occurencesB.insert(intensityB,current); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `occurencesB.insert(intensityB,current);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stderr] [INFO] [stderr] warning: statement can be reduced [INFO] [stderr] --> src/main.rs:313:23 [INFO] [stderr] | [INFO] [stderr] 313 | _ => {&occurencesB.insert(w as u8,0);} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `occurencesB.insert(w as u8,0);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stderr] [INFO] [stderr] warning: variable `maxValueR` should have a snake case name such as `max_value_r` [INFO] [stderr] --> src/main.rs:319:9 [INFO] [stderr] | [INFO] [stderr] 319 | let mut maxValueR = 0; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `maxValueG` should have a snake case name such as `max_value_g` [INFO] [stderr] --> src/main.rs:320:9 [INFO] [stderr] | [INFO] [stderr] 320 | let mut maxValueG = 0; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `maxValueB` should have a snake case name such as `max_value_b` [INFO] [stderr] --> src/main.rs:321:9 [INFO] [stderr] | [INFO] [stderr] 321 | let mut maxValueB = 0; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `occurencesR` should have a snake case name such as `occurences_r` [INFO] [stderr] --> src/main.rs:322:10 [INFO] [stderr] | [INFO] [stderr] 322 | for (occurencesR, &value) in occurencesR.iter() { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `occurencesG` should have a snake case name such as `occurences_g` [INFO] [stderr] --> src/main.rs:327:10 [INFO] [stderr] | [INFO] [stderr] 327 | for (occurencesG, &value) in occurencesG.iter() { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `occurencesB` should have a snake case name such as `occurences_b` [INFO] [stderr] --> src/main.rs:332:10 [INFO] [stderr] | [INFO] [stderr] 332 | for (occurencesB, &value) in occurencesB.iter() { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:355:70 [INFO] [stderr] | [INFO] [stderr] 355 | let mut pixel = image.get_pixel_mut(cc, (HEIGHT-1) - height as u32); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(height)` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:363:70 [INFO] [stderr] | [INFO] [stderr] 363 | let mut pixel = image.get_pixel_mut(cc, (HEIGHT-1) - height as u32); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(height)` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:371:70 [INFO] [stderr] | [INFO] [stderr] 371 | let mut pixel = image.get_pixel_mut(cc, (HEIGHT-1) - height as u32); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(height)` [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/main.rs:376:9 [INFO] [stderr] | [INFO] [stderr] 376 | cc = cc + 1; [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `cc += 1` [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: variable `outputPath` should have a snake case name such as `output_path` [INFO] [stderr] --> src/main.rs:379:9 [INFO] [stderr] | [INFO] [stderr] 379 | let mut outputPath: String = i.chars().take(i.len()-4).collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `saveFile` should have a snake case name such as `save_file` [INFO] [stderr] --> src/main.rs:388:1 [INFO] [stderr] | [INFO] [stderr] 388 | / fn saveFile(img: &DynamicImage, i: &str, operation: &str){ [INFO] [stderr] 389 | | let mut outputPath: String = i.chars().take(i.len()-4).collect(); [INFO] [stderr] 390 | | let ext: String = i.chars().skip(i.len()-3).take(3).collect(); [INFO] [stderr] 391 | | outputPath.push_str(operation); [INFO] [stderr] ... | [INFO] [stderr] 403 | | } [INFO] [stderr] 404 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: variable `outputPath` should have a snake case name such as `output_path` [INFO] [stderr] --> src/main.rs:389:9 [INFO] [stderr] | [INFO] [stderr] 389 | let mut outputPath: String = i.chars().take(i.len()-4).collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2.24s [INFO] running `"docker" "inspect" "766c80baaa615a3b73c737f394277ce0c7ecb6938f8d831f268b6cc1dad28cd4"` [INFO] running `"docker" "rm" "-f" "766c80baaa615a3b73c737f394277ce0c7ecb6938f8d831f268b6cc1dad28cd4"` [INFO] [stdout] 766c80baaa615a3b73c737f394277ce0c7ecb6938f8d831f268b6cc1dad28cd4