[INFO] cloning repository https://github.com/wiwichips/imgprobox [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/wiwichips/imgprobox" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwiwichips%2Fimgprobox", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwiwichips%2Fimgprobox'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] bb7c2d327d9c941b68a4137aa50cca5cc7756ec1 [INFO] testing wiwichips/imgprobox against 1.85.0 for beta-1.86-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwiwichips%2Fimgprobox" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/wiwichips/imgprobox on toolchain 1.85.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.85.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/wiwichips/imgprobox [INFO] finished tweaking git repo https://github.com/wiwichips/imgprobox [INFO] tweaked toml for git repo https://github.com/wiwichips/imgprobox written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/wiwichips/imgprobox already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.85.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded wasm-bindgen-test v0.3.34 [INFO] [stderr] Downloaded wasm-bindgen-test-macro v0.3.34 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+1.85.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 470c5c10d7a4b5677aaad459a2703e17776ee871267e878858bf31725c641672 [INFO] running `Command { std: "docker" "start" "-a" "470c5c10d7a4b5677aaad459a2703e17776ee871267e878858bf31725c641672", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "470c5c10d7a4b5677aaad459a2703e17776ee871267e878858bf31725c641672", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "470c5c10d7a4b5677aaad459a2703e17776ee871267e878858bf31725c641672", kill_on_drop: false }` [INFO] [stdout] 470c5c10d7a4b5677aaad459a2703e17776ee871267e878858bf31725c641672 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+1.85.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 94e474244a573836fedcc843fb2e972059a17390937e733dc043e8dc0cbdfe33 [INFO] running `Command { std: "docker" "start" "-a" "94e474244a573836fedcc843fb2e972059a17390937e733dc043e8dc0cbdfe33", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.51 [INFO] [stderr] Compiling unicode-ident v1.0.6 [INFO] [stderr] Compiling quote v1.0.23 [INFO] [stderr] Compiling syn v1.0.107 [INFO] [stderr] Compiling log v0.4.17 [INFO] [stderr] Compiling wasm-bindgen-shared v0.2.84 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling serde_derive v1.0.152 [INFO] [stderr] Compiling serde v1.0.152 [INFO] [stderr] Compiling once_cell v1.17.0 [INFO] [stderr] Compiling bumpalo v3.12.0 [INFO] [stderr] Compiling serde_json v1.0.92 [INFO] [stderr] Compiling ryu v1.0.12 [INFO] [stderr] Compiling itoa v1.0.5 [INFO] [stderr] Compiling wasm-bindgen v0.2.84 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.84 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.84 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.84 [INFO] [stderr] Compiling js-sys v0.3.61 [INFO] [stderr] Compiling web-sys v0.3.61 [INFO] [stderr] Compiling without-a-bundler v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `HtmlCanvasElement` [INFO] [stdout] --> src/lib.rs:2:52 [INFO] [stdout] | [INFO] [stdout] 2 | use web_sys::{CanvasRenderingContext2d, ImageData, HtmlCanvasElement}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ArrayBuffer`, `Uint8Array`, and `Uint8ClampedArray` [INFO] [stdout] --> src/lib.rs:5:14 [INFO] [stdout] | [INFO] [stdout] 5 | use js_sys::{ArrayBuffer, Uint8ClampedArray, Uint8Array, Array, Object}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `web_sys::console` [INFO] [stdout] --> src/convolution.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use web_sys::console; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ArrayBuffer`, `Uint8Array`, and `Uint8ClampedArray` [INFO] [stdout] --> src/convolution.rs:4:14 [INFO] [stdout] | [INFO] [stdout] 4 | use js_sys::{ArrayBuffer, Uint8ClampedArray, Uint8Array}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `wasm_bindgen::prelude::*` [INFO] [stdout] --> src/convolution.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use wasm_bindgen::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/convolution.rs:91:9 [INFO] [stdout] | [INFO] [stdout] 91 | /// check if the kernel is rank one [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 92 | / for i in 0..self.height as usize { [INFO] [stdout] 93 | | let scale = self.array[i][0]; [INFO] [stdout] 94 | | if scale == 0.0 { [INFO] [stdout] 95 | | continue; [INFO] [stdout] ... | [INFO] [stdout] 106 | | } [INFO] [stdout] | |_________- rustdoc does not generate documentation for expressions [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `web_sys::console` [INFO] [stdout] --> src/single_pixel_operations.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use web_sys::console; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ArrayBuffer`, `Uint8Array`, and `Uint8ClampedArray` [INFO] [stdout] --> src/single_pixel_operations.rs:3:14 [INFO] [stdout] | [INFO] [stdout] 3 | use js_sys::{ArrayBuffer, Uint8ClampedArray, Uint8Array}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `wasm_bindgen::prelude::*` [INFO] [stdout] --> src/single_pixel_operations.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use wasm_bindgen::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/neighbourhood_operations.rs:9:16 [INFO] [stdout] | [INFO] [stdout] 9 | if (chessboard) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 9 - if (chessboard) { [INFO] [stdout] 9 + if chessboard { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/neighbourhood_operations.rs:26:16 [INFO] [stdout] | [INFO] [stdout] 26 | if (chessboard) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 26 - if (chessboard) { [INFO] [stdout] 26 + if chessboard { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/neighbourhood_operations.rs:43:16 [INFO] [stdout] | [INFO] [stdout] 43 | if (chessboard) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 43 - if (chessboard) { [INFO] [stdout] 43 + if chessboard { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/neighbourhood_operations.rs:84:20 [INFO] [stdout] | [INFO] [stdout] 84 | if (pixel < self.elements[self.min]) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 84 - if (pixel < self.elements[self.min]) { [INFO] [stdout] 84 + if pixel < self.elements[self.min] { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/neighbourhood_operations.rs:86:27 [INFO] [stdout] | [INFO] [stdout] 86 | } else if (pixel > self.elements[self.max]) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 86 - } else if (pixel > self.elements[self.max]) { [INFO] [stdout] 86 + } else if pixel > self.elements[self.max] { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/neighbourhood_operations.rs:99:20 [INFO] [stdout] | [INFO] [stdout] 99 | if (pixel < self.elements[self.min]) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 99 - if (pixel < self.elements[self.min]) { [INFO] [stdout] 99 + if pixel < self.elements[self.min] { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/neighbourhood_operations.rs:101:27 [INFO] [stdout] | [INFO] [stdout] 101 | } else if (pixel > self.elements[self.max]) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 101 - } else if (pixel > self.elements[self.max]) { [INFO] [stdout] 101 + } else if pixel > self.elements[self.max] { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lib.rs:98:8 [INFO] [stdout] | [INFO] [stdout] 98 | if (flip_horizontal_option) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 98 - if (flip_horizontal_option) { [INFO] [stdout] 98 + if flip_horizontal_option { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lib.rs:101:8 [INFO] [stdout] | [INFO] [stdout] 101 | if (flip_vertical_option) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 101 - if (flip_vertical_option) { [INFO] [stdout] 101 + if flip_vertical_option { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lib.rs:126:12 [INFO] [stdout] | [INFO] [stdout] 126 | if (spo.op_type == "inverse") { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 126 - if (spo.op_type == "inverse") { [INFO] [stdout] 126 + if spo.op_type == "inverse" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lib.rs:128:19 [INFO] [stdout] | [INFO] [stdout] 128 | } else if (spo.op_type == "sepia") { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 128 - } else if (spo.op_type == "sepia") { [INFO] [stdout] 128 + } else if spo.op_type == "sepia" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lib.rs:130:19 [INFO] [stdout] | [INFO] [stdout] 130 | } else if (spo.op_type == "grayscale") { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 130 - } else if (spo.op_type == "grayscale") { [INFO] [stdout] 130 + } else if spo.op_type == "grayscale" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lib.rs:132:19 [INFO] [stdout] | [INFO] [stdout] 132 | } else if (spo.op_type == "threshold") { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 132 - } else if (spo.op_type == "threshold") { [INFO] [stdout] 132 + } else if spo.op_type == "threshold" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lib.rs:134:19 [INFO] [stdout] | [INFO] [stdout] 134 | } else if (spo.op_type == "linear") { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 134 - } else if (spo.op_type == "linear") { [INFO] [stdout] 134 + } else if spo.op_type == "linear" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lib.rs:136:19 [INFO] [stdout] | [INFO] [stdout] 136 | } else if (spo.op_type == "powerLaw") { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 136 - } else if (spo.op_type == "powerLaw") { [INFO] [stdout] 136 + } else if spo.op_type == "powerLaw" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lib.rs:138:19 [INFO] [stdout] | [INFO] [stdout] 138 | } else if (spo.op_type == "histogram_equalization") { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 138 - } else if (spo.op_type == "histogram_equalization") { [INFO] [stdout] 138 + } else if spo.op_type == "histogram_equalization" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lib.rs:175:8 [INFO] [stdout] | [INFO] [stdout] 175 | if (salt_ratio>0.00001) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 175 - if (salt_ratio>0.00001) { [INFO] [stdout] 175 + if salt_ratio>0.00001 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lib.rs:178:8 [INFO] [stdout] | [INFO] [stdout] 178 | if (pepper_ratio>0.00001) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 178 - if (pepper_ratio>0.00001) { [INFO] [stdout] 178 + if pepper_ratio>0.00001 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lib.rs:183:8 [INFO] [stdout] | [INFO] [stdout] 183 | if (filter_type == "min") { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 183 - if (filter_type == "min") { [INFO] [stdout] 183 + if filter_type == "min" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lib.rs:187:15 [INFO] [stdout] | [INFO] [stdout] 187 | } else if (filter_type == "median") { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 187 - } else if (filter_type == "median") { [INFO] [stdout] 187 + } else if filter_type == "median" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lib.rs:191:15 [INFO] [stdout] | [INFO] [stdout] 191 | } else if (filter_type == "max") { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 191 - } else if (filter_type == "max") { [INFO] [stdout] 191 + } else if filter_type == "max" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `translation_x` [INFO] [stdout] --> src/geometric_spatial_transformations.rs:113:9 [INFO] [stdout] | [INFO] [stdout] 113 | let translation_x = new_center_x - center_x; [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_translation_x` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `translation_y` [INFO] [stdout] --> src/geometric_spatial_transformations.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | let translation_y = new_center_y - center_y; [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_translation_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `padding` [INFO] [stdout] --> src/lib.rs:68:13 [INFO] [stdout] | [INFO] [stdout] 68 | let mut padding: fn(&Image, i32, i32) -> (u8,u8,u8) = padding_zero; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_padding` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 68 | let mut padding: fn(&Image, i32, i32) -> (u8,u8,u8) = padding_zero; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | let mut padding = if padding_method == "reflected" { [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_element` and `sum` are never used [INFO] [stdout] --> src/convolution.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 14 | impl Kernel { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 21 | fn get_element(&self, x: i32, y: i32) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn sum(&self) -> f64 { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_multi_channel_spo` is never used [INFO] [stdout] --> src/single_pixel_operations.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn apply_multi_channel_spo(img: &mut Image, tri_chan_spo: F) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_spo` is never used [INFO] [stdout] --> src/single_pixel_operations.rs:63:8 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn apply_spo(img: &mut Image, spo: F) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fn_to_opaque` is never used [INFO] [stdout] --> src/single_pixel_operations.rs:82:8 [INFO] [stdout] | [INFO] [stdout] 82 | pub fn fn_to_opaque(spo: F) -> impl Fn(u8, u8, u8) -> (u8, u8, u8) [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `linear_mapping` is never used [INFO] [stdout] --> src/single_pixel_operations.rs:101:8 [INFO] [stdout] | [INFO] [stdout] 101 | pub fn linear_mapping(img: &mut Image, a: f64, b: f64) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `power_law_mapping` is never used [INFO] [stdout] --> src/single_pixel_operations.rs:136:8 [INFO] [stdout] | [INFO] [stdout] 136 | pub fn power_law_mapping(img: &mut Image, gamma: f64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `median` is never read [INFO] [stdout] --> src/neighbourhood_operations.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 56 | pub struct NeighbourHood<'a> { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 62 | median: usize, // index of the median element in the neighbourhood [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 18.93s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: wasm-bindgen v0.2.84 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "94e474244a573836fedcc843fb2e972059a17390937e733dc043e8dc0cbdfe33", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "94e474244a573836fedcc843fb2e972059a17390937e733dc043e8dc0cbdfe33", kill_on_drop: false }` [INFO] [stdout] 94e474244a573836fedcc843fb2e972059a17390937e733dc043e8dc0cbdfe33 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+1.85.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b4cf3f3bfb4fb4e6d825a4b659c5760b83d54c811fef68c7e57cd7f26f9f63ff [INFO] running `Command { std: "docker" "start" "-a" "b4cf3f3bfb4fb4e6d825a4b659c5760b83d54c811fef68c7e57cd7f26f9f63ff", kill_on_drop: false }` [INFO] [stderr] Compiling scoped-tls v1.0.1 [INFO] [stderr] Compiling wasm-bindgen-test-macro v0.3.34 [INFO] [stderr] Compiling console_error_panic_hook v0.1.7 [INFO] [stderr] Compiling wasm-bindgen-futures v0.4.34 [INFO] [stderr] Compiling wasm-bindgen-test v0.3.34 [INFO] [stderr] Compiling without-a-bundler v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `HtmlCanvasElement` [INFO] [stdout] --> src/lib.rs:2:52 [INFO] [stdout] | [INFO] [stdout] 2 | use web_sys::{CanvasRenderingContext2d, ImageData, HtmlCanvasElement}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ArrayBuffer`, `Uint8Array`, and `Uint8ClampedArray` [INFO] [stdout] --> src/lib.rs:5:14 [INFO] [stdout] | [INFO] [stdout] 5 | use js_sys::{ArrayBuffer, Uint8ClampedArray, Uint8Array, Array, Object}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `web_sys::console` [INFO] [stdout] --> src/convolution.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use web_sys::console; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ArrayBuffer`, `Uint8Array`, and `Uint8ClampedArray` [INFO] [stdout] --> src/convolution.rs:4:14 [INFO] [stdout] | [INFO] [stdout] 4 | use js_sys::{ArrayBuffer, Uint8ClampedArray, Uint8Array}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `wasm_bindgen::prelude::*` [INFO] [stdout] --> src/convolution.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use wasm_bindgen::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/convolution.rs:91:9 [INFO] [stdout] | [INFO] [stdout] 91 | /// check if the kernel is rank one [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 92 | / for i in 0..self.height as usize { [INFO] [stdout] 93 | | let scale = self.array[i][0]; [INFO] [stdout] 94 | | if scale == 0.0 { [INFO] [stdout] 95 | | continue; [INFO] [stdout] ... | [INFO] [stdout] 106 | | } [INFO] [stdout] | |_________- rustdoc does not generate documentation for expressions [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `web_sys::console` [INFO] [stdout] --> src/single_pixel_operations.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use web_sys::console; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ArrayBuffer`, `Uint8Array`, and `Uint8ClampedArray` [INFO] [stdout] --> src/single_pixel_operations.rs:3:14 [INFO] [stdout] | [INFO] [stdout] 3 | use js_sys::{ArrayBuffer, Uint8ClampedArray, Uint8Array}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `wasm_bindgen::prelude::*` [INFO] [stdout] --> src/single_pixel_operations.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use wasm_bindgen::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/neighbourhood_operations.rs:9:16 [INFO] [stdout] | [INFO] [stdout] 9 | if (chessboard) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 9 - if (chessboard) { [INFO] [stdout] 9 + if chessboard { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/neighbourhood_operations.rs:26:16 [INFO] [stdout] | [INFO] [stdout] 26 | if (chessboard) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 26 - if (chessboard) { [INFO] [stdout] 26 + if chessboard { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/neighbourhood_operations.rs:43:16 [INFO] [stdout] | [INFO] [stdout] 43 | if (chessboard) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 43 - if (chessboard) { [INFO] [stdout] 43 + if chessboard { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/neighbourhood_operations.rs:84:20 [INFO] [stdout] | [INFO] [stdout] 84 | if (pixel < self.elements[self.min]) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 84 - if (pixel < self.elements[self.min]) { [INFO] [stdout] 84 + if pixel < self.elements[self.min] { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/neighbourhood_operations.rs:86:27 [INFO] [stdout] | [INFO] [stdout] 86 | } else if (pixel > self.elements[self.max]) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 86 - } else if (pixel > self.elements[self.max]) { [INFO] [stdout] 86 + } else if pixel > self.elements[self.max] { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/neighbourhood_operations.rs:99:20 [INFO] [stdout] | [INFO] [stdout] 99 | if (pixel < self.elements[self.min]) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 99 - if (pixel < self.elements[self.min]) { [INFO] [stdout] 99 + if pixel < self.elements[self.min] { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/neighbourhood_operations.rs:101:27 [INFO] [stdout] | [INFO] [stdout] 101 | } else if (pixel > self.elements[self.max]) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 101 - } else if (pixel > self.elements[self.max]) { [INFO] [stdout] 101 + } else if pixel > self.elements[self.max] { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lib.rs:98:8 [INFO] [stdout] | [INFO] [stdout] 98 | if (flip_horizontal_option) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 98 - if (flip_horizontal_option) { [INFO] [stdout] 98 + if flip_horizontal_option { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lib.rs:101:8 [INFO] [stdout] | [INFO] [stdout] 101 | if (flip_vertical_option) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 101 - if (flip_vertical_option) { [INFO] [stdout] 101 + if flip_vertical_option { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lib.rs:126:12 [INFO] [stdout] | [INFO] [stdout] 126 | if (spo.op_type == "inverse") { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 126 - if (spo.op_type == "inverse") { [INFO] [stdout] 126 + if spo.op_type == "inverse" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lib.rs:128:19 [INFO] [stdout] | [INFO] [stdout] 128 | } else if (spo.op_type == "sepia") { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 128 - } else if (spo.op_type == "sepia") { [INFO] [stdout] 128 + } else if spo.op_type == "sepia" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lib.rs:130:19 [INFO] [stdout] | [INFO] [stdout] 130 | } else if (spo.op_type == "grayscale") { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 130 - } else if (spo.op_type == "grayscale") { [INFO] [stdout] 130 + } else if spo.op_type == "grayscale" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lib.rs:132:19 [INFO] [stdout] | [INFO] [stdout] 132 | } else if (spo.op_type == "threshold") { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 132 - } else if (spo.op_type == "threshold") { [INFO] [stdout] 132 + } else if spo.op_type == "threshold" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lib.rs:134:19 [INFO] [stdout] | [INFO] [stdout] 134 | } else if (spo.op_type == "linear") { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 134 - } else if (spo.op_type == "linear") { [INFO] [stdout] 134 + } else if spo.op_type == "linear" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lib.rs:136:19 [INFO] [stdout] | [INFO] [stdout] 136 | } else if (spo.op_type == "powerLaw") { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 136 - } else if (spo.op_type == "powerLaw") { [INFO] [stdout] 136 + } else if spo.op_type == "powerLaw" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lib.rs:138:19 [INFO] [stdout] | [INFO] [stdout] 138 | } else if (spo.op_type == "histogram_equalization") { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 138 - } else if (spo.op_type == "histogram_equalization") { [INFO] [stdout] 138 + } else if spo.op_type == "histogram_equalization" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lib.rs:175:8 [INFO] [stdout] | [INFO] [stdout] 175 | if (salt_ratio>0.00001) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 175 - if (salt_ratio>0.00001) { [INFO] [stdout] 175 + if salt_ratio>0.00001 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lib.rs:178:8 [INFO] [stdout] | [INFO] [stdout] 178 | if (pepper_ratio>0.00001) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 178 - if (pepper_ratio>0.00001) { [INFO] [stdout] 178 + if pepper_ratio>0.00001 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lib.rs:183:8 [INFO] [stdout] | [INFO] [stdout] 183 | if (filter_type == "min") { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 183 - if (filter_type == "min") { [INFO] [stdout] 183 + if filter_type == "min" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lib.rs:187:15 [INFO] [stdout] | [INFO] [stdout] 187 | } else if (filter_type == "median") { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 187 - } else if (filter_type == "median") { [INFO] [stdout] 187 + } else if filter_type == "median" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lib.rs:191:15 [INFO] [stdout] | [INFO] [stdout] 191 | } else if (filter_type == "max") { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 191 - } else if (filter_type == "max") { [INFO] [stdout] 191 + } else if filter_type == "max" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `translation_x` [INFO] [stdout] --> src/geometric_spatial_transformations.rs:113:9 [INFO] [stdout] | [INFO] [stdout] 113 | let translation_x = new_center_x - center_x; [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_translation_x` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `translation_y` [INFO] [stdout] --> src/geometric_spatial_transformations.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | let translation_y = new_center_y - center_y; [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_translation_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `padding` [INFO] [stdout] --> src/lib.rs:68:13 [INFO] [stdout] | [INFO] [stdout] 68 | let mut padding: fn(&Image, i32, i32) -> (u8,u8,u8) = padding_zero; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_padding` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 68 | let mut padding: fn(&Image, i32, i32) -> (u8,u8,u8) = padding_zero; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | let mut padding = if padding_method == "reflected" { [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_element` and `sum` are never used [INFO] [stdout] --> src/convolution.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 14 | impl Kernel { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 21 | fn get_element(&self, x: i32, y: i32) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn sum(&self) -> f64 { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_multi_channel_spo` is never used [INFO] [stdout] --> src/single_pixel_operations.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn apply_multi_channel_spo(img: &mut Image, tri_chan_spo: F) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_spo` is never used [INFO] [stdout] --> src/single_pixel_operations.rs:63:8 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn apply_spo(img: &mut Image, spo: F) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fn_to_opaque` is never used [INFO] [stdout] --> src/single_pixel_operations.rs:82:8 [INFO] [stdout] | [INFO] [stdout] 82 | pub fn fn_to_opaque(spo: F) -> impl Fn(u8, u8, u8) -> (u8, u8, u8) [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `linear_mapping` is never used [INFO] [stdout] --> src/single_pixel_operations.rs:101:8 [INFO] [stdout] | [INFO] [stdout] 101 | pub fn linear_mapping(img: &mut Image, a: f64, b: f64) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `power_law_mapping` is never used [INFO] [stdout] --> src/single_pixel_operations.rs:136:8 [INFO] [stdout] | [INFO] [stdout] 136 | pub fn power_law_mapping(img: &mut Image, gamma: f64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `median` is never read [INFO] [stdout] --> src/neighbourhood_operations.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 56 | pub struct NeighbourHood<'a> { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 62 | median: usize, // index of the median element in the neighbourhood [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.53s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: wasm-bindgen v0.2.84 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "b4cf3f3bfb4fb4e6d825a4b659c5760b83d54c811fef68c7e57cd7f26f9f63ff", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b4cf3f3bfb4fb4e6d825a4b659c5760b83d54c811fef68c7e57cd7f26f9f63ff", kill_on_drop: false }` [INFO] [stdout] b4cf3f3bfb4fb4e6d825a4b659c5760b83d54c811fef68c7e57cd7f26f9f63ff [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+1.85.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 8be6ac5d86d1d1a286a1712791a29c21288850b8e9cedcbd3590bc7165d4bb58 [INFO] running `Command { std: "docker" "start" "-a" "8be6ac5d86d1d1a286a1712791a29c21288850b8e9cedcbd3590bc7165d4bb58", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `HtmlCanvasElement` [INFO] [stderr] --> src/lib.rs:2:52 [INFO] [stderr] | [INFO] [stderr] 2 | use web_sys::{CanvasRenderingContext2d, ImageData, HtmlCanvasElement}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ArrayBuffer`, `Uint8Array`, and `Uint8ClampedArray` [INFO] [stderr] --> src/lib.rs:5:14 [INFO] [stderr] | [INFO] [stderr] 5 | use js_sys::{ArrayBuffer, Uint8ClampedArray, Uint8Array, Array, Object}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `web_sys::console` [INFO] [stderr] --> src/convolution.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use web_sys::console; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ArrayBuffer`, `Uint8Array`, and `Uint8ClampedArray` [INFO] [stderr] --> src/convolution.rs:4:14 [INFO] [stderr] | [INFO] [stderr] 4 | use js_sys::{ArrayBuffer, Uint8ClampedArray, Uint8Array}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `wasm_bindgen::prelude::*` [INFO] [stderr] --> src/convolution.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use wasm_bindgen::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/convolution.rs:91:9 [INFO] [stderr] | [INFO] [stderr] 91 | /// check if the kernel is rank one [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 92 | / for i in 0..self.height as usize { [INFO] [stderr] 93 | | let scale = self.array[i][0]; [INFO] [stderr] 94 | | if scale == 0.0 { [INFO] [stderr] 95 | | continue; [INFO] [stderr] ... | [INFO] [stderr] 106 | | } [INFO] [stderr] | |_________- rustdoc does not generate documentation for expressions [INFO] [stderr] | [INFO] [stderr] = help: use `//` for a plain comment [INFO] [stderr] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `web_sys::console` [INFO] [stderr] --> src/single_pixel_operations.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use web_sys::console; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ArrayBuffer`, `Uint8Array`, and `Uint8ClampedArray` [INFO] [stderr] --> src/single_pixel_operations.rs:3:14 [INFO] [stderr] | [INFO] [stderr] 3 | use js_sys::{ArrayBuffer, Uint8ClampedArray, Uint8Array}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `wasm_bindgen::prelude::*` [INFO] [stderr] --> src/single_pixel_operations.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use wasm_bindgen::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/neighbourhood_operations.rs:9:16 [INFO] [stderr] | [INFO] [stderr] 9 | if (chessboard) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 9 - if (chessboard) { [INFO] [stderr] 9 + if chessboard { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/neighbourhood_operations.rs:26:16 [INFO] [stderr] | [INFO] [stderr] 26 | if (chessboard) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 26 - if (chessboard) { [INFO] [stderr] 26 + if chessboard { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/neighbourhood_operations.rs:43:16 [INFO] [stderr] | [INFO] [stderr] 43 | if (chessboard) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 43 - if (chessboard) { [INFO] [stderr] 43 + if chessboard { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/neighbourhood_operations.rs:84:20 [INFO] [stderr] | [INFO] [stderr] 84 | if (pixel < self.elements[self.min]) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 84 - if (pixel < self.elements[self.min]) { [INFO] [stderr] 84 + if pixel < self.elements[self.min] { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/neighbourhood_operations.rs:86:27 [INFO] [stderr] | [INFO] [stderr] 86 | } else if (pixel > self.elements[self.max]) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 86 - } else if (pixel > self.elements[self.max]) { [INFO] [stderr] 86 + } else if pixel > self.elements[self.max] { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/neighbourhood_operations.rs:99:20 [INFO] [stderr] | [INFO] [stderr] 99 | if (pixel < self.elements[self.min]) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 99 - if (pixel < self.elements[self.min]) { [INFO] [stderr] 99 + if pixel < self.elements[self.min] { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/neighbourhood_operations.rs:101:27 [INFO] [stderr] | [INFO] [stderr] 101 | } else if (pixel > self.elements[self.max]) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 101 - } else if (pixel > self.elements[self.max]) { [INFO] [stderr] 101 + } else if pixel > self.elements[self.max] { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/lib.rs:98:8 [INFO] [stderr] | [INFO] [stderr] 98 | if (flip_horizontal_option) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 98 - if (flip_horizontal_option) { [INFO] [stderr] 98 + if flip_horizontal_option { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/lib.rs:101:8 [INFO] [stderr] | [INFO] [stderr] 101 | if (flip_vertical_option) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 101 - if (flip_vertical_option) { [INFO] [stderr] 101 + if flip_vertical_option { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/lib.rs:126:12 [INFO] [stderr] | [INFO] [stderr] 126 | if (spo.op_type == "inverse") { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 126 - if (spo.op_type == "inverse") { [INFO] [stderr] 126 + if spo.op_type == "inverse" { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/lib.rs:128:19 [INFO] [stderr] | [INFO] [stderr] 128 | } else if (spo.op_type == "sepia") { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 128 - } else if (spo.op_type == "sepia") { [INFO] [stderr] 128 + } else if spo.op_type == "sepia" { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/lib.rs:130:19 [INFO] [stderr] | [INFO] [stderr] 130 | } else if (spo.op_type == "grayscale") { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 130 - } else if (spo.op_type == "grayscale") { [INFO] [stderr] 130 + } else if spo.op_type == "grayscale" { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/lib.rs:132:19 [INFO] [stderr] | [INFO] [stderr] 132 | } else if (spo.op_type == "threshold") { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 132 - } else if (spo.op_type == "threshold") { [INFO] [stderr] 132 + } else if spo.op_type == "threshold" { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/lib.rs:134:19 [INFO] [stderr] | [INFO] [stderr] 134 | } else if (spo.op_type == "linear") { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 134 - } else if (spo.op_type == "linear") { [INFO] [stderr] 134 + } else if spo.op_type == "linear" { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/lib.rs:136:19 [INFO] [stderr] | [INFO] [stderr] 136 | } else if (spo.op_type == "powerLaw") { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 136 - } else if (spo.op_type == "powerLaw") { [INFO] [stderr] 136 + } else if spo.op_type == "powerLaw" { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/lib.rs:138:19 [INFO] [stderr] | [INFO] [stderr] 138 | } else if (spo.op_type == "histogram_equalization") { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 138 - } else if (spo.op_type == "histogram_equalization") { [INFO] [stderr] 138 + } else if spo.op_type == "histogram_equalization" { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/lib.rs:175:8 [INFO] [stderr] | [INFO] [stderr] 175 | if (salt_ratio>0.00001) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 175 - if (salt_ratio>0.00001) { [INFO] [stderr] 175 + if salt_ratio>0.00001 { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/lib.rs:178:8 [INFO] [stderr] | [INFO] [stderr] 178 | if (pepper_ratio>0.00001) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 178 - if (pepper_ratio>0.00001) { [INFO] [stderr] 178 + if pepper_ratio>0.00001 { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/lib.rs:183:8 [INFO] [stderr] | [INFO] [stderr] 183 | if (filter_type == "min") { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 183 - if (filter_type == "min") { [INFO] [stderr] 183 + if filter_type == "min" { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/lib.rs:187:15 [INFO] [stderr] | [INFO] [stderr] 187 | } else if (filter_type == "median") { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 187 - } else if (filter_type == "median") { [INFO] [stderr] 187 + } else if filter_type == "median" { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/lib.rs:191:15 [INFO] [stderr] | [INFO] [stderr] 191 | } else if (filter_type == "max") { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 191 - } else if (filter_type == "max") { [INFO] [stderr] 191 + } else if filter_type == "max" { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused variable: `translation_x` [INFO] [stderr] --> src/geometric_spatial_transformations.rs:113:9 [INFO] [stderr] | [INFO] [stderr] 113 | let translation_x = new_center_x - center_x; [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_translation_x` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `translation_y` [INFO] [stderr] --> src/geometric_spatial_transformations.rs:114:9 [INFO] [stderr] | [INFO] [stderr] 114 | let translation_y = new_center_y - center_y; [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_translation_y` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `padding` [INFO] [stderr] --> src/lib.rs:68:13 [INFO] [stderr] | [INFO] [stderr] 68 | let mut padding: fn(&Image, i32, i32) -> (u8,u8,u8) = padding_zero; [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_padding` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/lib.rs:68:9 [INFO] [stderr] | [INFO] [stderr] 68 | let mut padding: fn(&Image, i32, i32) -> (u8,u8,u8) = padding_zero; [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/lib.rs:71:9 [INFO] [stderr] | [INFO] [stderr] 71 | let mut padding = if padding_method == "reflected" { [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: methods `get_element` and `sum` are never used [INFO] [stderr] --> src/convolution.rs:21:8 [INFO] [stderr] | [INFO] [stderr] 14 | impl Kernel { [INFO] [stderr] | ----------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 21 | fn get_element(&self, x: i32, y: i32) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 56 | pub fn sum(&self) -> f64 { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function `apply_multi_channel_spo` is never used [INFO] [stderr] --> src/single_pixel_operations.rs:37:8 [INFO] [stderr] | [INFO] [stderr] 37 | pub fn apply_multi_channel_spo(img: &mut Image, tri_chan_spo: F) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `apply_spo` is never used [INFO] [stderr] --> src/single_pixel_operations.rs:63:8 [INFO] [stderr] | [INFO] [stderr] 63 | pub fn apply_spo(img: &mut Image, spo: F) [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `fn_to_opaque` is never used [INFO] [stderr] --> src/single_pixel_operations.rs:82:8 [INFO] [stderr] | [INFO] [stderr] 82 | pub fn fn_to_opaque(spo: F) -> impl Fn(u8, u8, u8) -> (u8, u8, u8) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `linear_mapping` is never used [INFO] [stderr] --> src/single_pixel_operations.rs:101:8 [INFO] [stderr] | [INFO] [stderr] 101 | pub fn linear_mapping(img: &mut Image, a: f64, b: f64) { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `power_law_mapping` is never used [INFO] [stderr] --> src/single_pixel_operations.rs:136:8 [INFO] [stderr] | [INFO] [stderr] 136 | pub fn power_law_mapping(img: &mut Image, gamma: f64) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `median` is never read [INFO] [stderr] --> src/neighbourhood_operations.rs:62:5 [INFO] [stderr] | [INFO] [stderr] 56 | pub struct NeighbourHood<'a> { [INFO] [stderr] | ------------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 62 | median: usize, // index of the median element in the neighbourhood [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `without-a-bundler` (lib test) generated 42 warnings (run `cargo fix --lib -p without-a-bundler --tests` to apply 31 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: wasm-bindgen v0.2.84 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/without_a_bundler-631b7fce0003985c) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/wasm.rs (/opt/rustwide/target/debug/deps/wasm-61253720f09c672c) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "8be6ac5d86d1d1a286a1712791a29c21288850b8e9cedcbd3590bc7165d4bb58", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8be6ac5d86d1d1a286a1712791a29c21288850b8e9cedcbd3590bc7165d4bb58", kill_on_drop: false }` [INFO] [stdout] 8be6ac5d86d1d1a286a1712791a29c21288850b8e9cedcbd3590bc7165d4bb58