[INFO] updating cached repository KushamiNeko/image_search [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/KushamiNeko/image_search [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/KushamiNeko/image_search" "work/ex/clippy-test-run/sources/stable/gh/KushamiNeko/image_search"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/KushamiNeko/image_search'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/KushamiNeko/image_search" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/KushamiNeko/image_search"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/KushamiNeko/image_search'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] f6e3271258797c80fa5cb52372b96b3156479eb7 [INFO] sha for GitHub repo KushamiNeko/image_search: f6e3271258797c80fa5cb52372b96b3156479eb7 [INFO] validating manifest of KushamiNeko/image_search 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 KushamiNeko/image_search 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 KushamiNeko/image_search [INFO] finished frobbing KushamiNeko/image_search [INFO] frobbed toml for KushamiNeko/image_search written to work/ex/clippy-test-run/sources/stable/gh/KushamiNeko/image_search/Cargo.toml [INFO] started frobbing KushamiNeko/image_search [INFO] finished frobbing KushamiNeko/image_search [INFO] frobbed toml for KushamiNeko/image_search written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/KushamiNeko/image_search/Cargo.toml [INFO] crate KushamiNeko/image_search 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 KushamiNeko/image_search 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-6/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/KushamiNeko/image_search:/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] f8e2d7c000ff1717f61f2be5df6242b8f34d170ff3cc1b859dadfdf3dfbfffee [INFO] running `"docker" "start" "-a" "f8e2d7c000ff1717f61f2be5df6242b8f34d170ff3cc1b859dadfdf3dfbfffee"` [INFO] [stderr] Checking rayon v0.6.0 [INFO] [stderr] Checking png v0.6.2 [INFO] [stderr] Checking jpeg-decoder v0.1.11 [INFO] [stderr] Checking image v0.12.3 [INFO] [stderr] Checking image_search v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/main.rs:279:14 [INFO] [stderr] | [INFO] [stderr] 279 | let (r, g, b, _) = pixel.channels4(); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/main.rs:279:14 [INFO] [stderr] | [INFO] [stderr] 279 | let (r, g, b, _) = pixel.channels4(); [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/main.rs:8:18 [INFO] [stderr] | [INFO] [stderr] 8 | const DATABASE: &'static str = r#"app_resource\database"#; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/main.rs:16:28 [INFO] [stderr] | [INFO] [stderr] 16 | const PIXEL_COMPARE_TEST: &'static str = r#"app_resource\pixel_operation_debug\comparasion_region.png"#; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/main.rs:17:29 [INFO] [stderr] | [INFO] [stderr] 17 | const PIXEL_MULTIPLY_TEST: &'static str = r#"app_resource\pixel_operation_debug\multiply_debug.png"#; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/main.rs:61:10 [INFO] [stderr] | [INFO] [stderr] 61 | } else if approximate_width != IMAGE_SIZE_CHECKING_INITIALIZE_VALUE [INFO] [stderr] | ________________^ [INFO] [stderr] 62 | | && start_x != IMAGE_SIZE_CHECKING_INITIALIZE_VALUE { [INFO] [stderr] 63 | | if x > approximate_width + start_x { [INFO] [stderr] 64 | | continue; [INFO] [stderr] 65 | | } [INFO] [stderr] 66 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 61 | } else if approximate_width != IMAGE_SIZE_CHECKING_INITIALIZE_VALUE [INFO] [stderr] 62 | && start_x != IMAGE_SIZE_CHECKING_INITIALIZE_VALUE && x > approximate_width + start_x { [INFO] [stderr] 63 | continue; [INFO] [stderr] 64 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/main.rs:80:4 [INFO] [stderr] | [INFO] [stderr] 80 | if compare_match_x < START_COLLECT_THRESHOLD { [INFO] [stderr] | _____________^ [INFO] [stderr] 81 | | if end_x == IMAGE_SIZE_CHECKING_INITIALIZE_VALUE { [INFO] [stderr] 82 | | end_x = x; [INFO] [stderr] 83 | | } [INFO] [stderr] 84 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 80 | if compare_match_x < START_COLLECT_THRESHOLD && end_x == IMAGE_SIZE_CHECKING_INITIALIZE_VALUE { [INFO] [stderr] 81 | end_x = x; [INFO] [stderr] 82 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/main.rs:114:12 [INFO] [stderr] | [INFO] [stderr] 114 | } else { [INFO] [stderr] | ________________________^ [INFO] [stderr] 115 | | if compare_match_y > START_COLLECT_THRESHOLD { [INFO] [stderr] 116 | | if end_y == IMAGE_SIZE_CHECKING_INITIALIZE_VALUE { [INFO] [stderr] 117 | | let mut y_width_compare = 0; [INFO] [stderr] ... | [INFO] [stderr] 138 | | } [INFO] [stderr] 139 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 114 | } else if compare_match_y > START_COLLECT_THRESHOLD { [INFO] [stderr] 115 | if end_y == IMAGE_SIZE_CHECKING_INITIALIZE_VALUE { [INFO] [stderr] 116 | let mut y_width_compare = 0; [INFO] [stderr] 117 | for i in 1..COMPARASION_SEARCH_RANGE { [INFO] [stderr] 118 | let pixel = image_source.get_pixel(x + i, y - 1); [INFO] [stderr] 119 | let (cr, cg, cb, _) = pixel.channels4(); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/main.rs:180:2 [INFO] [stderr] | [INFO] [stderr] 180 | comparasion_template [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/main.rs:179:29 [INFO] [stderr] | [INFO] [stderr] 179 | let comparasion_template = image_multiplication(&image_source, &template_resize, width, height, source_start_x, source_start_y); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/main.rs:8:18 [INFO] [stderr] | [INFO] [stderr] 8 | const DATABASE: &'static str = r#"app_resource\database"#; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/main.rs:16:28 [INFO] [stderr] | [INFO] [stderr] 16 | const PIXEL_COMPARE_TEST: &'static str = r#"app_resource\pixel_operation_debug\comparasion_region.png"#; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/main.rs:17:29 [INFO] [stderr] | [INFO] [stderr] 17 | const PIXEL_MULTIPLY_TEST: &'static str = r#"app_resource\pixel_operation_debug\multiply_debug.png"#; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/main.rs:61:10 [INFO] [stderr] | [INFO] [stderr] 61 | } else if approximate_width != IMAGE_SIZE_CHECKING_INITIALIZE_VALUE [INFO] [stderr] | ________________^ [INFO] [stderr] 62 | | && start_x != IMAGE_SIZE_CHECKING_INITIALIZE_VALUE { [INFO] [stderr] 63 | | if x > approximate_width + start_x { [INFO] [stderr] 64 | | continue; [INFO] [stderr] 65 | | } [INFO] [stderr] 66 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 61 | } else if approximate_width != IMAGE_SIZE_CHECKING_INITIALIZE_VALUE [INFO] [stderr] 62 | && start_x != IMAGE_SIZE_CHECKING_INITIALIZE_VALUE && x > approximate_width + start_x { [INFO] [stderr] 63 | continue; [INFO] [stderr] 64 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/main.rs:80:4 [INFO] [stderr] | [INFO] [stderr] 80 | if compare_match_x < START_COLLECT_THRESHOLD { [INFO] [stderr] | _____________^ [INFO] [stderr] 81 | | if end_x == IMAGE_SIZE_CHECKING_INITIALIZE_VALUE { [INFO] [stderr] 82 | | end_x = x; [INFO] [stderr] 83 | | } [INFO] [stderr] 84 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 80 | if compare_match_x < START_COLLECT_THRESHOLD && end_x == IMAGE_SIZE_CHECKING_INITIALIZE_VALUE { [INFO] [stderr] 81 | end_x = x; [INFO] [stderr] 82 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/main.rs:114:12 [INFO] [stderr] | [INFO] [stderr] 114 | } else { [INFO] [stderr] | ________________________^ [INFO] [stderr] 115 | | if compare_match_y > START_COLLECT_THRESHOLD { [INFO] [stderr] 116 | | if end_y == IMAGE_SIZE_CHECKING_INITIALIZE_VALUE { [INFO] [stderr] 117 | | let mut y_width_compare = 0; [INFO] [stderr] ... | [INFO] [stderr] 138 | | } [INFO] [stderr] 139 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 114 | } else if compare_match_y > START_COLLECT_THRESHOLD { [INFO] [stderr] 115 | if end_y == IMAGE_SIZE_CHECKING_INITIALIZE_VALUE { [INFO] [stderr] 116 | let mut y_width_compare = 0; [INFO] [stderr] 117 | for i in 1..COMPARASION_SEARCH_RANGE { [INFO] [stderr] 118 | let pixel = image_source.get_pixel(x + i, y - 1); [INFO] [stderr] 119 | let (cr, cg, cb, _) = pixel.channels4(); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/main.rs:180:2 [INFO] [stderr] | [INFO] [stderr] 180 | comparasion_template [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/main.rs:179:29 [INFO] [stderr] | [INFO] [stderr] 179 | let comparasion_template = image_multiplication(&image_source, &template_resize, width, height, source_start_x, source_start_y); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: floating-point types cannot be used in patterns [INFO] [stderr] --> src/main.rs:226:9 [INFO] [stderr] | [INFO] [stderr] 226 | num @ 0.0...255.0 => num as u8, [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(illegal_floating_point_literal_pattern)] on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #41620 [INFO] [stderr] [INFO] [stderr] warning: floating-point types cannot be used in patterns [INFO] [stderr] --> src/main.rs:226:15 [INFO] [stderr] | [INFO] [stderr] 226 | num @ 0.0...255.0 => num as u8, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #41620 [INFO] [stderr] [INFO] [stderr] warning: floating-point types cannot be used in patterns [INFO] [stderr] --> src/main.rs:240:9 [INFO] [stderr] | [INFO] [stderr] 240 | num @ 0.0...255.0 => num as u8, [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #41620 [INFO] [stderr] [INFO] [stderr] warning: floating-point types cannot be used in patterns [INFO] [stderr] --> src/main.rs:240:15 [INFO] [stderr] | [INFO] [stderr] 240 | num @ 0.0...255.0 => num as u8, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #41620 [INFO] [stderr] [INFO] [stderr] warning: floating-point types cannot be used in patterns [INFO] [stderr] --> src/main.rs:254:9 [INFO] [stderr] | [INFO] [stderr] 254 | num @ 0.0...255.0 => num as u8, [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #41620 [INFO] [stderr] [INFO] [stderr] warning: floating-point types cannot be used in patterns [INFO] [stderr] --> src/main.rs:254:15 [INFO] [stderr] | [INFO] [stderr] 254 | num @ 0.0...255.0 => num as u8, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #41620 [INFO] [stderr] [INFO] [stderr] warning: floating-point types cannot be used in patterns [INFO] [stderr] --> src/main.rs:226:9 [INFO] [stderr] | [INFO] [stderr] 226 | num @ 0.0...255.0 => num as u8, [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(illegal_floating_point_literal_pattern)] on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #41620 [INFO] [stderr] [INFO] [stderr] warning: floating-point types cannot be used in patterns [INFO] [stderr] --> src/main.rs:226:15 [INFO] [stderr] | [INFO] [stderr] 226 | num @ 0.0...255.0 => num as u8, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #41620 [INFO] [stderr] [INFO] [stderr] warning: floating-point types cannot be used in patterns [INFO] [stderr] --> src/main.rs:240:9 [INFO] [stderr] | [INFO] [stderr] 240 | num @ 0.0...255.0 => num as u8, [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #41620 [INFO] [stderr] [INFO] [stderr] warning: floating-point types cannot be used in patterns [INFO] [stderr] --> src/main.rs:240:15 [INFO] [stderr] | [INFO] [stderr] 240 | num @ 0.0...255.0 => num as u8, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #41620 [INFO] [stderr] [INFO] [stderr] warning: floating-point types cannot be used in patterns [INFO] [stderr] --> src/main.rs:254:9 [INFO] [stderr] | [INFO] [stderr] 254 | num @ 0.0...255.0 => num as u8, [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #41620 [INFO] [stderr] [INFO] [stderr] warning: floating-point types cannot be used in patterns [INFO] [stderr] --> src/main.rs:254:15 [INFO] [stderr] | [INFO] [stderr] 254 | num @ 0.0...255.0 => num as u8, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #41620 [INFO] [stderr] [INFO] [stderr] warning: floating-point types cannot be used in patterns [INFO] [stderr] --> src/main.rs:226:9 [INFO] [stderr] | [INFO] [stderr] 226 | num @ 0.0...255.0 => num as u8, [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #41620 [INFO] [stderr] [INFO] [stderr] warning: floating-point types cannot be used in patterns [INFO] [stderr] --> src/main.rs:226:9 [INFO] [stderr] | [INFO] [stderr] 226 | num @ 0.0...255.0 => num as u8, [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #41620 [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 27 [INFO] [stderr] --> src/main.rs:34:1 [INFO] [stderr] | [INFO] [stderr] 34 | / fn search_image_dimension_check(image_path: &PathBuf) -> (Vec<(u32, u32)>, u32, u32, u32, u32) { [INFO] [stderr] 35 | | let image_source = image::open(image_path).unwrap(); [INFO] [stderr] 36 | | let (width, height) = image_source.dimensions(); [INFO] [stderr] 37 | | [INFO] [stderr] ... | [INFO] [stderr] 170 | | (white_compare_vec, start_x, end_x, start_y, end_y) [INFO] [stderr] 171 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:73:25 [INFO] [stderr] | [INFO] [stderr] 73 | let average: f64 = (r as f64 + g as f64 + b as f64) / 3.0; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(r)` [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:73:36 [INFO] [stderr] | [INFO] [stderr] 73 | let average: f64 = (r as f64 + g as f64 + b as f64) / 3.0; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(g)` [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:73:47 [INFO] [stderr] | [INFO] [stderr] 73 | let average: f64 = (r as f64 + g as f64 + b as f64) / 3.0; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(b)` [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: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/main.rs:87:6 [INFO] [stderr] | [INFO] [stderr] 87 | if start_collect == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!start_collect` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:92:25 [INFO] [stderr] | [INFO] [stderr] 92 | let average: f64 = (r as f64 + g as f64 + b as f64) / 3.0; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(r)` [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:92:36 [INFO] [stderr] | [INFO] [stderr] 92 | let average: f64 = (r as f64 + g as f64 + b as f64) / 3.0; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(g)` [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:92:47 [INFO] [stderr] | [INFO] [stderr] 92 | let average: f64 = (r as f64 + g as f64 + b as f64) / 3.0; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(b)` [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:102:30 [INFO] [stderr] | [INFO] [stderr] 102 | let average_c: f64 = (cr as f64 + cg as f64 + cb as f64) / 3.0; [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(cr)` [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:102:42 [INFO] [stderr] | [INFO] [stderr] 102 | let average_c: f64 = (cr as f64 + cg as f64 + cb as f64) / 3.0; [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(cg)` [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:102:54 [INFO] [stderr] | [INFO] [stderr] 102 | let average_c: f64 = (cr as f64 + cg as f64 + cb as f64) / 3.0; [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(cb)` [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:121:31 [INFO] [stderr] | [INFO] [stderr] 121 | let average_c: f64 = (cr as f64 + cg as f64 + cb as f64) / 3.0; [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(cr)` [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:121:43 [INFO] [stderr] | [INFO] [stderr] 121 | let average_c: f64 = (cr as f64 + cg as f64 + cb as f64) / 3.0; [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(cg)` [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:121:55 [INFO] [stderr] | [INFO] [stderr] 121 | let average_c: f64 = (cr as f64 + cg as f64 + cb as f64) / 3.0; [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(cb)` [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/main.rs:144:26 [INFO] [stderr] | [INFO] [stderr] 144 | let y_ratio: f64 = ((end_y - 1) as f64 - start_y as f64 + 1.0) / 9.0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `f64::from(end_y - 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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:144:47 [INFO] [stderr] | [INFO] [stderr] 144 | let y_ratio: f64 = ((end_y - 1) as f64 - start_y as f64 + 1.0) / 9.0; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f64::from(start_y)` [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: equality checks against true are unnecessary [INFO] [stderr] --> src/main.rs:150:6 [INFO] [stderr] | [INFO] [stderr] 150 | if start_collect == true { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `start_collect` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:154:25 [INFO] [stderr] | [INFO] [stderr] 154 | let average: f64 = (r as f64 + g as f64 + b as f64) / 3.0; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(r)` [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:154:36 [INFO] [stderr] | [INFO] [stderr] 154 | let average: f64 = (r as f64 + g as f64 + b as f64) / 3.0; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(g)` [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:154:47 [INFO] [stderr] | [INFO] [stderr] 154 | let average: f64 = (r as f64 + g as f64 + b as f64) / 3.0; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(b)` [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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/main.rs:168:6 [INFO] [stderr] | [INFO] [stderr] 168 | let ref mut out_put_file = std::fs::File::create(&Path::new(PIXEL_COMPARE_TEST)).unwrap(); [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^^------------------------------------------------------------------ help: try: `let out_put_file = &mut std::fs::File::create(&Path::new(PIXEL_COMPARE_TEST)).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 argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:173:81 [INFO] [stderr] | [INFO] [stderr] 173 | fn comparasion_template_generation(source: &PathBuf, template: &PathBuf, width: &u32, height: &u32, [INFO] [stderr] | ^^^^ help: consider passing by value instead: `u32` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:173:95 [INFO] [stderr] | [INFO] [stderr] 173 | fn comparasion_template_generation(source: &PathBuf, template: &PathBuf, width: &u32, height: &u32, [INFO] [stderr] | ^^^^ help: consider passing by value instead: `u32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:174:18 [INFO] [stderr] | [INFO] [stderr] 174 | source_start_x: &u32, source_start_y: &u32) -> Box { [INFO] [stderr] | ^^^^ help: consider passing by value instead: `u32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:174:40 [INFO] [stderr] | [INFO] [stderr] 174 | source_start_x: &u32, source_start_y: &u32) -> Box { [INFO] [stderr] | ^^^^ help: consider passing by value instead: `u32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:183:94 [INFO] [stderr] | [INFO] [stderr] 183 | fn image_multiplication(source: &image::DynamicImage, template: &image::DynamicImage, width: &u32, height: &u32, [INFO] [stderr] | ^^^^ help: consider passing by value instead: `u32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:183:108 [INFO] [stderr] | [INFO] [stderr] 183 | fn image_multiplication(source: &image::DynamicImage, template: &image::DynamicImage, width: &u32, height: &u32, [INFO] [stderr] | ^^^^ help: consider passing by value instead: `u32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:184:18 [INFO] [stderr] | [INFO] [stderr] 184 | source_start_x: &u32, source_start_y: &u32) -> Box { [INFO] [stderr] | ^^^^ help: consider passing by value instead: `u32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:184:40 [INFO] [stderr] | [INFO] [stderr] 184 | source_start_x: &u32, source_start_y: &u32) -> Box { [INFO] [stderr] | ^^^^ help: consider passing by value instead: `u32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:193:25 [INFO] [stderr] | [INFO] [stderr] 193 | let averaget: f64 = (tr as f64 + tg as f64 + tb as f64) / 3.0; [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(tr)` [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:193:37 [INFO] [stderr] | [INFO] [stderr] 193 | let averaget: f64 = (tr as f64 + tg as f64 + tb as f64) / 3.0; [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(tg)` [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:193:49 [INFO] [stderr] | [INFO] [stderr] 193 | let averaget: f64 = (tr as f64 + tg as f64 + tb as f64) / 3.0; [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(tb)` [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:217:11 [INFO] [stderr] | [INFO] [stderr] 217 | let nr = r as f64 / 255.0; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(r)` [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:218:11 [INFO] [stderr] | [INFO] [stderr] 218 | let ng = g as f64 / 255.0; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(g)` [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:219:11 [INFO] [stderr] | [INFO] [stderr] 219 | let nb = b as f64 / 255.0; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(b)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the `out @ _` pattern can be written as just `out` [INFO] [stderr] --> src/main.rs:227:3 [INFO] [stderr] | [INFO] [stderr] 227 | out @ _ => { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: the `out @ _` pattern can be written as just `out` [INFO] [stderr] --> src/main.rs:241:3 [INFO] [stderr] | [INFO] [stderr] 241 | out @ _ => { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: the `out @ _` pattern can be written as just `out` [INFO] [stderr] --> src/main.rs:255:3 [INFO] [stderr] | [INFO] [stderr] 255 | out @ _ => { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/main.rs:269:61 [INFO] [stderr] | [INFO] [stderr] 269 | source_start_x: &u32, source_start_y: &u32, search_region: &Vec<(u32, u32)>) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[(u32, u32)]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:268:92 [INFO] [stderr] | [INFO] [stderr] 268 | fn image_comparasion(search_source_path: &PathBuf, compare_template_path: &PathBuf, width: &u32, height: &u32, [INFO] [stderr] | ^^^^ help: consider passing by value instead: `u32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:268:106 [INFO] [stderr] | [INFO] [stderr] 268 | fn image_comparasion(search_source_path: &PathBuf, compare_template_path: &PathBuf, width: &u32, height: &u32, [INFO] [stderr] | ^^^^ help: consider passing by value instead: `u32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:269:18 [INFO] [stderr] | [INFO] [stderr] 269 | source_start_x: &u32, source_start_y: &u32, search_region: &Vec<(u32, u32)>) -> Option { [INFO] [stderr] | ^^^^ help: consider passing by value instead: `u32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:269:40 [INFO] [stderr] | [INFO] [stderr] 269 | source_start_x: &u32, source_start_y: &u32, search_region: &Vec<(u32, u32)>) -> Option { [INFO] [stderr] | ^^^^ help: consider passing by value instead: `u32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 27 [INFO] [stderr] --> src/main.rs:34:1 [INFO] [stderr] | [INFO] [stderr] 34 | / fn search_image_dimension_check(image_path: &PathBuf) -> (Vec<(u32, u32)>, u32, u32, u32, u32) { [INFO] [stderr] 35 | | let image_source = image::open(image_path).unwrap(); [INFO] [stderr] 36 | | let (width, height) = image_source.dimensions(); [INFO] [stderr] 37 | | [INFO] [stderr] ... | [INFO] [stderr] 170 | | (white_compare_vec, start_x, end_x, start_y, end_y) [INFO] [stderr] 171 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/main.rs:301:6 [INFO] [stderr] | [INFO] [stderr] 301 | let ref mut out_put_file = std::fs::File::create(&Path::new(PIXEL_MULTIPLY_TEST)).unwrap(); [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^^------------------------------------------------------------------- help: try: `let out_put_file = &mut std::fs::File::create(&Path::new(PIXEL_MULTIPLY_TEST)).unwrap();` [INFO] [stderr] | [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: casting u8 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:73:25 [INFO] [stderr] | [INFO] [stderr] 73 | let average: f64 = (r as f64 + g as f64 + b as f64) / 3.0; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(r)` [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:73:36 [INFO] [stderr] | [INFO] [stderr] 73 | let average: f64 = (r as f64 + g as f64 + b as f64) / 3.0; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(g)` [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:73:47 [INFO] [stderr] | [INFO] [stderr] 73 | let average: f64 = (r as f64 + g as f64 + b as f64) / 3.0; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(b)` [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: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/main.rs:87:6 [INFO] [stderr] | [INFO] [stderr] 87 | if start_collect == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!start_collect` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:92:25 [INFO] [stderr] | [INFO] [stderr] 92 | let average: f64 = (r as f64 + g as f64 + b as f64) / 3.0; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(r)` [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:92:36 [INFO] [stderr] | [INFO] [stderr] 92 | let average: f64 = (r as f64 + g as f64 + b as f64) / 3.0; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(g)` [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:92:47 [INFO] [stderr] | [INFO] [stderr] 92 | let average: f64 = (r as f64 + g as f64 + b as f64) / 3.0; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(b)` [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:102:30 [INFO] [stderr] | [INFO] [stderr] 102 | let average_c: f64 = (cr as f64 + cg as f64 + cb as f64) / 3.0; [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(cr)` [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:102:42 [INFO] [stderr] | [INFO] [stderr] 102 | let average_c: f64 = (cr as f64 + cg as f64 + cb as f64) / 3.0; [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(cg)` [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:102:54 [INFO] [stderr] | [INFO] [stderr] 102 | let average_c: f64 = (cr as f64 + cg as f64 + cb as f64) / 3.0; [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(cb)` [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:121:31 [INFO] [stderr] | [INFO] [stderr] 121 | let average_c: f64 = (cr as f64 + cg as f64 + cb as f64) / 3.0; [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(cr)` [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:121:43 [INFO] [stderr] | [INFO] [stderr] 121 | let average_c: f64 = (cr as f64 + cg as f64 + cb as f64) / 3.0; [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(cg)` [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:121:55 [INFO] [stderr] | [INFO] [stderr] 121 | let average_c: f64 = (cr as f64 + cg as f64 + cb as f64) / 3.0; [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(cb)` [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/main.rs:144:26 [INFO] [stderr] | [INFO] [stderr] 144 | let y_ratio: f64 = ((end_y - 1) as f64 - start_y as f64 + 1.0) / 9.0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `f64::from(end_y - 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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:144:47 [INFO] [stderr] | [INFO] [stderr] 144 | let y_ratio: f64 = ((end_y - 1) as f64 - start_y as f64 + 1.0) / 9.0; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f64::from(start_y)` [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: equality checks against true are unnecessary [INFO] [stderr] --> src/main.rs:150:6 [INFO] [stderr] | [INFO] [stderr] 150 | if start_collect == true { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `start_collect` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:154:25 [INFO] [stderr] | [INFO] [stderr] 154 | let average: f64 = (r as f64 + g as f64 + b as f64) / 3.0; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(r)` [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:154:36 [INFO] [stderr] | [INFO] [stderr] 154 | let average: f64 = (r as f64 + g as f64 + b as f64) / 3.0; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(g)` [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:154:47 [INFO] [stderr] | [INFO] [stderr] 154 | let average: f64 = (r as f64 + g as f64 + b as f64) / 3.0; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(b)` [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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/main.rs:168:6 [INFO] [stderr] | [INFO] [stderr] 168 | let ref mut out_put_file = std::fs::File::create(&Path::new(PIXEL_COMPARE_TEST)).unwrap(); [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^^------------------------------------------------------------------ help: try: `let out_put_file = &mut std::fs::File::create(&Path::new(PIXEL_COMPARE_TEST)).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 argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:173:81 [INFO] [stderr] | [INFO] [stderr] 173 | fn comparasion_template_generation(source: &PathBuf, template: &PathBuf, width: &u32, height: &u32, [INFO] [stderr] | ^^^^ help: consider passing by value instead: `u32` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:173:95 [INFO] [stderr] | [INFO] [stderr] 173 | fn comparasion_template_generation(source: &PathBuf, template: &PathBuf, width: &u32, height: &u32, [INFO] [stderr] | ^^^^ help: consider passing by value instead: `u32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:174:18 [INFO] [stderr] | [INFO] [stderr] 174 | source_start_x: &u32, source_start_y: &u32) -> Box { [INFO] [stderr] | ^^^^ help: consider passing by value instead: `u32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:174:40 [INFO] [stderr] | [INFO] [stderr] 174 | source_start_x: &u32, source_start_y: &u32) -> Box { [INFO] [stderr] | ^^^^ help: consider passing by value instead: `u32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:183:94 [INFO] [stderr] | [INFO] [stderr] 183 | fn image_multiplication(source: &image::DynamicImage, template: &image::DynamicImage, width: &u32, height: &u32, [INFO] [stderr] | ^^^^ help: consider passing by value instead: `u32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:183:108 [INFO] [stderr] | [INFO] [stderr] 183 | fn image_multiplication(source: &image::DynamicImage, template: &image::DynamicImage, width: &u32, height: &u32, [INFO] [stderr] | ^^^^ help: consider passing by value instead: `u32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:184:18 [INFO] [stderr] | [INFO] [stderr] 184 | source_start_x: &u32, source_start_y: &u32) -> Box { [INFO] [stderr] | ^^^^ help: consider passing by value instead: `u32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:184:40 [INFO] [stderr] | [INFO] [stderr] 184 | source_start_x: &u32, source_start_y: &u32) -> Box { [INFO] [stderr] | ^^^^ help: consider passing by value instead: `u32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:193:25 [INFO] [stderr] | [INFO] [stderr] 193 | let averaget: f64 = (tr as f64 + tg as f64 + tb as f64) / 3.0; [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(tr)` [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:193:37 [INFO] [stderr] | [INFO] [stderr] 193 | let averaget: f64 = (tr as f64 + tg as f64 + tb as f64) / 3.0; [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(tg)` [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:193:49 [INFO] [stderr] | [INFO] [stderr] 193 | let averaget: f64 = (tr as f64 + tg as f64 + tb as f64) / 3.0; [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(tb)` [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:217:11 [INFO] [stderr] | [INFO] [stderr] 217 | let nr = r as f64 / 255.0; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(r)` [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:218:11 [INFO] [stderr] | [INFO] [stderr] 218 | let ng = g as f64 / 255.0; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(g)` [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:219:11 [INFO] [stderr] | [INFO] [stderr] 219 | let nb = b as f64 / 255.0; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(b)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the `out @ _` pattern can be written as just `out` [INFO] [stderr] --> src/main.rs:227:3 [INFO] [stderr] | [INFO] [stderr] 227 | out @ _ => { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: the `out @ _` pattern can be written as just `out` [INFO] [stderr] --> src/main.rs:241:3 [INFO] [stderr] | [INFO] [stderr] 241 | out @ _ => { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: the `out @ _` pattern can be written as just `out` [INFO] [stderr] --> src/main.rs:255:3 [INFO] [stderr] | [INFO] [stderr] 255 | out @ _ => { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/main.rs:269:61 [INFO] [stderr] | [INFO] [stderr] 269 | source_start_x: &u32, source_start_y: &u32, search_region: &Vec<(u32, u32)>) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[(u32, u32)]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:268:92 [INFO] [stderr] | [INFO] [stderr] 268 | fn image_comparasion(search_source_path: &PathBuf, compare_template_path: &PathBuf, width: &u32, height: &u32, [INFO] [stderr] | ^^^^ help: consider passing by value instead: `u32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:268:106 [INFO] [stderr] | [INFO] [stderr] 268 | fn image_comparasion(search_source_path: &PathBuf, compare_template_path: &PathBuf, width: &u32, height: &u32, [INFO] [stderr] | ^^^^ help: consider passing by value instead: `u32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:269:18 [INFO] [stderr] | [INFO] [stderr] 269 | source_start_x: &u32, source_start_y: &u32, search_region: &Vec<(u32, u32)>) -> Option { [INFO] [stderr] | ^^^^ help: consider passing by value instead: `u32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:269:40 [INFO] [stderr] | [INFO] [stderr] 269 | source_start_x: &u32, source_start_y: &u32, search_region: &Vec<(u32, u32)>) -> Option { [INFO] [stderr] | ^^^^ help: consider passing by value instead: `u32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/main.rs:301:6 [INFO] [stderr] | [INFO] [stderr] 301 | let ref mut out_put_file = std::fs::File::create(&Path::new(PIXEL_MULTIPLY_TEST)).unwrap(); [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^^------------------------------------------------------------------- help: try: `let out_put_file = &mut std::fs::File::create(&Path::new(PIXEL_MULTIPLY_TEST)).unwrap();` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 10.77s [INFO] running `"docker" "inspect" "f8e2d7c000ff1717f61f2be5df6242b8f34d170ff3cc1b859dadfdf3dfbfffee"` [INFO] running `"docker" "rm" "-f" "f8e2d7c000ff1717f61f2be5df6242b8f34d170ff3cc1b859dadfdf3dfbfffee"` [INFO] [stdout] f8e2d7c000ff1717f61f2be5df6242b8f34d170ff3cc1b859dadfdf3dfbfffee