[INFO] crate raster 0.2.0 is already in cache [INFO] extracting crate raster 0.2.0 into work/ex/clippy-test-run/sources/stable/reg/raster/0.2.0 [INFO] extracting crate raster 0.2.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/raster/0.2.0 [INFO] validating manifest of raster-0.2.0 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 raster-0.2.0 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 raster-0.2.0 [INFO] finished frobbing raster-0.2.0 [INFO] frobbed toml for raster-0.2.0 written to work/ex/clippy-test-run/sources/stable/reg/raster/0.2.0/Cargo.toml [INFO] started frobbing raster-0.2.0 [INFO] finished frobbing raster-0.2.0 [INFO] frobbed toml for raster-0.2.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/raster/0.2.0/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [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 raster-0.2.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-7/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/raster/0.2.0:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 3a282b8341e78afdc9b126a9524b02543481778227462bba27e183dcc90cc0a7 [INFO] running `"docker" "start" "-a" "3a282b8341e78afdc9b126a9524b02543481778227462bba27e183dcc90cc0a7"` [INFO] [stderr] Checking num-bigint v0.1.44 [INFO] [stderr] Checking png v0.5.2 [INFO] [stderr] Checking num-rational v0.1.42 [INFO] [stderr] Checking image v0.10.4 [INFO] [stderr] Checking raster v0.2.0 (/opt/crater/workdir) [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/filter.rs:97:17 [INFO] [stderr] | [INFO] [stderr] 97 | let g = cmp::max(0, cmp::min(255, (p.g as f32 * factor) as i32)); [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: 6th binding whose name is just one char [INFO] [stderr] --> src/filter.rs:98:17 [INFO] [stderr] | [INFO] [stderr] 98 | let b = cmp::max(0, cmp::min(255, (p.b as f32 * factor) as i32)); [INFO] [stderr] | ^ [INFO] [stderr] | [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: 7th binding whose name is just one char [INFO] [stderr] --> src/filter.rs:99:17 [INFO] [stderr] | [INFO] [stderr] 99 | let a = cmp::max(0, cmp::min(255, (p.a as f32 * factor) as i32)); // TODO: Should alpha be included? [INFO] [stderr] | ^ [INFO] [stderr] | [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/filter.rs:272:17 [INFO] [stderr] | [INFO] [stderr] 272 | let g = (p.g as f32 / 255.0).powf(gamma) * 255.0; [INFO] [stderr] | ^ [INFO] [stderr] | [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: 6th binding whose name is just one char [INFO] [stderr] --> src/filter.rs:273:17 [INFO] [stderr] | [INFO] [stderr] 273 | let b = (p.b as f32 / 255.0).powf(gamma) * 255.0; [INFO] [stderr] | ^ [INFO] [stderr] | [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: 7th binding whose name is just one char [INFO] [stderr] --> src/filter.rs:274:17 [INFO] [stderr] | [INFO] [stderr] 274 | let a = (p.a as f32 / 255.0).powf(gamma) * 255.0; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/color.rs:150:13 [INFO] [stderr] | [INFO] [stderr] 150 | r: r, [INFO] [stderr] | ^^^^ help: replace it with: `r` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/color.rs:151:13 [INFO] [stderr] | [INFO] [stderr] 151 | g: g, [INFO] [stderr] | ^^^^ help: replace it with: `g` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/color.rs:152:13 [INFO] [stderr] | [INFO] [stderr] 152 | b: b, [INFO] [stderr] | ^^^^ help: replace it with: `b` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/color.rs:175:13 [INFO] [stderr] | [INFO] [stderr] 175 | r: r, [INFO] [stderr] | ^^^^ help: replace it with: `r` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/color.rs:176:13 [INFO] [stderr] | [INFO] [stderr] 176 | g: g, [INFO] [stderr] | ^^^^ help: replace it with: `g` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/color.rs:177:13 [INFO] [stderr] | [INFO] [stderr] 177 | b: b, [INFO] [stderr] | ^^^^ help: replace it with: `b` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/color.rs:178:13 [INFO] [stderr] | [INFO] [stderr] 178 | a: a, [INFO] [stderr] | ^^^^ help: replace it with: `a` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/color.rs:228:13 [INFO] [stderr] | [INFO] [stderr] 228 | let v = max; [INFO] [stderr] | ^ [INFO] [stderr] | [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: 6th binding whose name is just one char [INFO] [stderr] --> src/color.rs:229:13 [INFO] [stderr] | [INFO] [stderr] 229 | let s = if v != 0.0 { [INFO] [stderr] | ^ [INFO] [stderr] | [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/color.rs:263:17 [INFO] [stderr] | [INFO] [stderr] 263 | let mut r = 0.0; [INFO] [stderr] | ^ [INFO] [stderr] | [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: 6th binding whose name is just one char [INFO] [stderr] --> src/color.rs:264:17 [INFO] [stderr] | [INFO] [stderr] 264 | let mut g = 0.0; [INFO] [stderr] | ^ [INFO] [stderr] | [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: 7th binding whose name is just one char [INFO] [stderr] --> src/color.rs:265:17 [INFO] [stderr] | [INFO] [stderr] 265 | let mut b = 0.0; [INFO] [stderr] | ^ [INFO] [stderr] | [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: 8th binding whose name is just one char [INFO] [stderr] --> src/color.rs:295:13 [INFO] [stderr] | [INFO] [stderr] 295 | let m = v - chroma; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/endec.rs:37:17 [INFO] [stderr] | [INFO] [stderr] 37 | bytes: bytes [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `bytes` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/endec.rs:81:13 [INFO] [stderr] | [INFO] [stderr] 81 | bytes: bytes [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `bytes` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/image.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | bytes: bytes [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `bytes` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/position.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | position: position, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `position` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/position.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | offset_x: offset_x, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `offset_x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/position.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | offset_y: offset_y [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `offset_y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:167:17 [INFO] [stderr] | [INFO] [stderr] 167 | bytes: bytes [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `bytes` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/filter.rs:97:17 [INFO] [stderr] | [INFO] [stderr] 97 | let g = cmp::max(0, cmp::min(255, (p.g as f32 * factor) as i32)); [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: 6th binding whose name is just one char [INFO] [stderr] --> src/filter.rs:98:17 [INFO] [stderr] | [INFO] [stderr] 98 | let b = cmp::max(0, cmp::min(255, (p.b as f32 * factor) as i32)); [INFO] [stderr] | ^ [INFO] [stderr] | [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: 7th binding whose name is just one char [INFO] [stderr] --> src/filter.rs:99:17 [INFO] [stderr] | [INFO] [stderr] 99 | let a = cmp::max(0, cmp::min(255, (p.a as f32 * factor) as i32)); // TODO: Should alpha be included? [INFO] [stderr] | ^ [INFO] [stderr] | [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/filter.rs:272:17 [INFO] [stderr] | [INFO] [stderr] 272 | let g = (p.g as f32 / 255.0).powf(gamma) * 255.0; [INFO] [stderr] | ^ [INFO] [stderr] | [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: 6th binding whose name is just one char [INFO] [stderr] --> src/filter.rs:273:17 [INFO] [stderr] | [INFO] [stderr] 273 | let b = (p.b as f32 / 255.0).powf(gamma) * 255.0; [INFO] [stderr] | ^ [INFO] [stderr] | [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: 7th binding whose name is just one char [INFO] [stderr] --> src/filter.rs:274:17 [INFO] [stderr] | [INFO] [stderr] 274 | let a = (p.a as f32 / 255.0).powf(gamma) * 255.0; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/color.rs:150:13 [INFO] [stderr] | [INFO] [stderr] 150 | r: r, [INFO] [stderr] | ^^^^ help: replace it with: `r` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/color.rs:151:13 [INFO] [stderr] | [INFO] [stderr] 151 | g: g, [INFO] [stderr] | ^^^^ help: replace it with: `g` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/color.rs:152:13 [INFO] [stderr] | [INFO] [stderr] 152 | b: b, [INFO] [stderr] | ^^^^ help: replace it with: `b` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/color.rs:175:13 [INFO] [stderr] | [INFO] [stderr] 175 | r: r, [INFO] [stderr] | ^^^^ help: replace it with: `r` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/color.rs:176:13 [INFO] [stderr] | [INFO] [stderr] 176 | g: g, [INFO] [stderr] | ^^^^ help: replace it with: `g` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/color.rs:177:13 [INFO] [stderr] | [INFO] [stderr] 177 | b: b, [INFO] [stderr] | ^^^^ help: replace it with: `b` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/color.rs:178:13 [INFO] [stderr] | [INFO] [stderr] 178 | a: a, [INFO] [stderr] | ^^^^ help: replace it with: `a` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/color.rs:228:13 [INFO] [stderr] | [INFO] [stderr] 228 | let v = max; [INFO] [stderr] | ^ [INFO] [stderr] | [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: 6th binding whose name is just one char [INFO] [stderr] --> src/color.rs:229:13 [INFO] [stderr] | [INFO] [stderr] 229 | let s = if v != 0.0 { [INFO] [stderr] | ^ [INFO] [stderr] | [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/color.rs:263:17 [INFO] [stderr] | [INFO] [stderr] 263 | let mut r = 0.0; [INFO] [stderr] | ^ [INFO] [stderr] | [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: 6th binding whose name is just one char [INFO] [stderr] --> src/color.rs:264:17 [INFO] [stderr] | [INFO] [stderr] 264 | let mut g = 0.0; [INFO] [stderr] | ^ [INFO] [stderr] | [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: 7th binding whose name is just one char [INFO] [stderr] --> src/color.rs:265:17 [INFO] [stderr] | [INFO] [stderr] 265 | let mut b = 0.0; [INFO] [stderr] | ^ [INFO] [stderr] | [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: 8th binding whose name is just one char [INFO] [stderr] --> src/color.rs:295:13 [INFO] [stderr] | [INFO] [stderr] 295 | let m = v - chroma; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/endec.rs:37:17 [INFO] [stderr] | [INFO] [stderr] 37 | bytes: bytes [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `bytes` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/endec.rs:81:13 [INFO] [stderr] | [INFO] [stderr] 81 | bytes: bytes [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `bytes` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/image.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | bytes: bytes [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `bytes` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/position.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | position: position, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `position` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/position.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | offset_x: offset_x, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `offset_x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/position.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | offset_y: offset_y [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `offset_y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:167:17 [INFO] [stderr] | [INFO] [stderr] 167 | bytes: bytes [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `bytes` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/lib.rs:104:5 [INFO] [stderr] | [INFO] [stderr] 104 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ascii::AsciiExt` [INFO] [stderr] --> src/lib.rs:104:5 [INFO] [stderr] | [INFO] [stderr] 104 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/editor.rs:223:13 [INFO] [stderr] | [INFO] [stderr] 223 | pub fn crop(mut src: &mut Image, crop_width: i32, crop_height: i32, position: PositionMode, offset_x: i32, offset_y: i32) -> RasterResult<()> { [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/editor.rs:276:13 [INFO] [stderr] | [INFO] [stderr] 276 | pub fn fill(mut src: &mut Image, color: Color) -> RasterResult<()> { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/editor.rs:414:15 [INFO] [stderr] | [INFO] [stderr] 414 | pub fn resize(mut src: &mut Image, w: i32, h: i32, mode: ResizeMode) -> RasterResult<()> { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/lib.rs:104:5 [INFO] [stderr] | [INFO] [stderr] 104 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/filter.rs:57:13 [INFO] [stderr] | [INFO] [stderr] 57 | pub fn blur(mut src: &mut Image, mode: BlurMode) -> RasterResult<()>{ [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/filter.rs:83:19 [INFO] [stderr] | [INFO] [stderr] 83 | pub fn brightness(mut src: &mut Image, factor: f32) -> RasterResult<()>{ [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/filter.rs:227:15 [INFO] [stderr] | [INFO] [stderr] 227 | pub fn emboss(mut src: &mut Image) -> RasterResult<()>{ [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/filter.rs:258:14 [INFO] [stderr] | [INFO] [stderr] 258 | pub fn gamma(mut src: &mut Image, gamma: f32) -> RasterResult<()>{ [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/filter.rs:301:18 [INFO] [stderr] | [INFO] [stderr] 301 | pub fn grayscale(mut src: &mut Image) -> RasterResult<()>{ [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/filter.rs:341:19 [INFO] [stderr] | [INFO] [stderr] 341 | pub fn saturation(mut src: &mut Image, sat: f32) -> RasterResult<()>{ [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/filter.rs:385:16 [INFO] [stderr] | [INFO] [stderr] 385 | pub fn sharpen(mut src: &mut Image) -> RasterResult<()>{ [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/filter.rs:399:13 [INFO] [stderr] | [INFO] [stderr] 399 | fn blur_box(mut src: &mut Image) -> RasterResult<()>{ [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/filter.rs:410:18 [INFO] [stderr] | [INFO] [stderr] 410 | fn blur_gaussian(mut src: &mut Image) -> RasterResult<()>{ [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpolate.rs:23:17 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn resample(mut src: &mut Image, w: i32, h: i32, interpolation: InterpolationMode) -> RasterResult<()> { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpolate.rs:32:16 [INFO] [stderr] | [INFO] [stderr] 32 | pub fn nearest(mut src: &mut Image, w: i32, h: i32) -> RasterResult<()> { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpolate.rs:56:17 [INFO] [stderr] | [INFO] [stderr] 56 | pub fn bilinear(mut src: &mut Image, w2: i32, h2: i32) -> RasterResult<()> { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpolate.rs:64:19 [INFO] [stderr] | [INFO] [stderr] 64 | fn bilinear_width(mut src: &mut Image, w2: i32) -> RasterResult<()> { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpolate.rs:124:20 [INFO] [stderr] | [INFO] [stderr] 124 | fn bilinear_height(mut src: &mut Image, h2: i32) -> RasterResult<()> { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/transform.rs:59:13 [INFO] [stderr] | [INFO] [stderr] 59 | pub fn flip(mut src: &mut Image, mode: TransformMode ) -> RasterResult<()> { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/transform.rs:144:15 [INFO] [stderr] | [INFO] [stderr] 144 | pub fn rotate(mut src: &mut Image, degree: i32, bg: Color) -> RasterResult<()>{ [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/transform.rs:204:21 [INFO] [stderr] | [INFO] [stderr] 204 | pub fn resize_exact(mut src: &mut Image, w: i32, h: i32) -> RasterResult<()> { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/transform.rs:210:28 [INFO] [stderr] | [INFO] [stderr] 210 | pub fn resize_exact_height(mut src: &mut Image, h: i32) -> RasterResult<()> { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/transform.rs:224:27 [INFO] [stderr] | [INFO] [stderr] 224 | pub fn resize_exact_width(mut src: &mut Image, w: i32) -> RasterResult<()> { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/transform.rs:236:20 [INFO] [stderr] | [INFO] [stderr] 236 | pub fn resize_fill(mut src: &mut Image, w: i32, h: i32) -> RasterResult<()> { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/transform.rs:258:19 [INFO] [stderr] | [INFO] [stderr] 258 | pub fn resize_fit(mut src: &mut Image, w: i32, h: i32) -> RasterResult<()> { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f32 may become silently lossy if types change [INFO] [stderr] --> src/compare.rs:113:26 [INFO] [stderr] | [INFO] [stderr] 113 | let mut left = ((pixel.r as f32 + pixel.g as f32 + pixel.b as f32) / 3.0).floor(); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(pixel.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/compare.rs:113:43 [INFO] [stderr] | [INFO] [stderr] 113 | let mut left = ((pixel.r as f32 + pixel.g as f32 + pixel.b as f32) / 3.0).floor(); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(pixel.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/compare.rs:113:60 [INFO] [stderr] | [INFO] [stderr] 113 | let mut left = ((pixel.r as f32 + pixel.g as f32 + pixel.b as f32) / 3.0).floor(); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(pixel.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/compare.rs:119:27 [INFO] [stderr] | [INFO] [stderr] 119 | let right = ((pixel.r as f32 + pixel.g as f32 + pixel.b as f32) / 3.0).floor(); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(pixel.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/compare.rs:119:44 [INFO] [stderr] | [INFO] [stderr] 119 | let right = ((pixel.r as f32 + pixel.g as f32 + pixel.b as f32) / 3.0).floor(); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(pixel.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/compare.rs:119:61 [INFO] [stderr] | [INFO] [stderr] 119 | let right = ((pixel.r as f32 + pixel.g as f32 + pixel.b as f32) / 3.0).floor(); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(pixel.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/filter.rs:96:48 [INFO] [stderr] | [INFO] [stderr] 96 | let r = cmp::max(0, cmp::min(255, (p.r as f32 * factor) as i32)); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f32::from(p.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/filter.rs:97:48 [INFO] [stderr] | [INFO] [stderr] 97 | let g = cmp::max(0, cmp::min(255, (p.g as f32 * factor) as i32)); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f32::from(p.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/filter.rs:98:48 [INFO] [stderr] | [INFO] [stderr] 98 | let b = cmp::max(0, cmp::min(255, (p.b as f32 * factor) as i32)); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f32::from(p.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/filter.rs:99:48 [INFO] [stderr] | [INFO] [stderr] 99 | let a = cmp::max(0, cmp::min(255, (p.a as f32 * factor) as i32)); // TODO: Should alpha be included? [INFO] [stderr] | ^^^^^^^^^^ help: try: `f32::from(p.a)` [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/filter.rs:161:34 [INFO] [stderr] | [INFO] [stderr] 161 | accum_red += pixel.r as i32 * matrix[m_index_y][m_index_x]; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `i32::from(pixel.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 i32 may become silently lossy if types change [INFO] [stderr] --> src/filter.rs:162:36 [INFO] [stderr] | [INFO] [stderr] 162 | accum_green += pixel.g as i32 * matrix[m_index_y][m_index_x]; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `i32::from(pixel.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 i32 may become silently lossy if types change [INFO] [stderr] --> src/filter.rs:163:35 [INFO] [stderr] | [INFO] [stderr] 163 | accum_blue += pixel.b as i32 * matrix[m_index_y][m_index_x]; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `i32::from(pixel.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 i32 may become silently lossy if types change [INFO] [stderr] --> src/filter.rs:164:36 [INFO] [stderr] | [INFO] [stderr] 164 | accum_alpha += pixel.a as i32 * matrix[m_index_y][m_index_x]; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `i32::from(pixel.a)` [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 f32 may become silently lossy if types change [INFO] [stderr] --> src/filter.rs:271:22 [INFO] [stderr] | [INFO] [stderr] 271 | let r = (p.r as f32 / 255.0).powf(gamma) * 255.0; [INFO] [stderr] | ^^^^^^^^^^ help: try: `f32::from(p.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/filter.rs:272:22 [INFO] [stderr] | [INFO] [stderr] 272 | let g = (p.g as f32 / 255.0).powf(gamma) * 255.0; [INFO] [stderr] | ^^^^^^^^^^ help: try: `f32::from(p.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/filter.rs:273:22 [INFO] [stderr] | [INFO] [stderr] 273 | let b = (p.b as f32 / 255.0).powf(gamma) * 255.0; [INFO] [stderr] | ^^^^^^^^^^ help: try: `f32::from(p.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/filter.rs:274:22 [INFO] [stderr] | [INFO] [stderr] 274 | let a = (p.a as f32 / 255.0).powf(gamma) * 255.0; [INFO] [stderr] | ^^^^^^^^^^ help: try: `f32::from(p.a)` [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 f32 may become silently lossy if types change [INFO] [stderr] --> src/filter.rs:309:25 [INFO] [stderr] | [INFO] [stderr] 309 | let gray = (p.r as f32 * 0.3) + (p.g as f32 * 0.59) + (p.b as f32 * 0.11); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f32::from(p.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/filter.rs:309:46 [INFO] [stderr] | [INFO] [stderr] 309 | let gray = (p.r as f32 * 0.3) + (p.g as f32 * 0.59) + (p.b as f32 * 0.11); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f32::from(p.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/filter.rs:309:68 [INFO] [stderr] | [INFO] [stderr] 309 | let gray = (p.r as f32 * 0.3) + (p.g as f32 * 0.59) + (p.b as f32 * 0.11); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f32::from(p.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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/interpolate.rs:34:24 [INFO] [stderr] | [INFO] [stderr] 34 | let x_ratio: f64 = src.width as f64 / w as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `f64::from(src.width)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/interpolate.rs:34:43 [INFO] [stderr] | [INFO] [stderr] 34 | let x_ratio: f64 = src.width as f64 / w as f64; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(w)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/interpolate.rs:35:24 [INFO] [stderr] | [INFO] [stderr] 35 | let y_ratio: f64 = src.height as f64 / h as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `f64::from(src.height)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/interpolate.rs:35:44 [INFO] [stderr] | [INFO] [stderr] 35 | let y_ratio: f64 = src.height as f64 / h as f64; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(h)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/interpolate.rs:41:29 [INFO] [stderr] | [INFO] [stderr] 41 | let px: i32 = ( x as f64 * x_ratio ).floor() as i32; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(x)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/interpolate.rs:42:29 [INFO] [stderr] | [INFO] [stderr] 42 | let py: i32 = ( y as f64 * y_ratio ).floor() as i32; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(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: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/interpolate.rs:69:24 [INFO] [stderr] | [INFO] [stderr] 69 | let x_ratio: f64 = w1 as f64 / w2 as f64; [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(w1)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/interpolate.rs:69:36 [INFO] [stderr] | [INFO] [stderr] 69 | let x_ratio: f64 = w1 as f64 / w2 as f64; [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(w2)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/interpolate.rs:82:29 [INFO] [stderr] | [INFO] [stderr] 82 | let src_x = x as f64 * x_ratio; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(x)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/interpolate.rs:95:31 [INFO] [stderr] | [INFO] [stderr] 95 | let t_x = src_x - src_x_int as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `f64::from(src_x_int)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/interpolate.rs:129:24 [INFO] [stderr] | [INFO] [stderr] 129 | let y_ratio: f64 = h1 as f64 / h2 as f64; [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(h1)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/interpolate.rs:129:36 [INFO] [stderr] | [INFO] [stderr] 129 | let y_ratio: f64 = h1 as f64 / h2 as f64; [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(h2)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/interpolate.rs:142:29 [INFO] [stderr] | [INFO] [stderr] 142 | let src_y = y as f64 * y_ratio; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(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: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/interpolate.rs:155:31 [INFO] [stderr] | [INFO] [stderr] 155 | let t_y = src_y - src_y_int as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `f64::from(src_y_int)` [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/interpolate.rs:186:13 [INFO] [stderr] | [INFO] [stderr] 186 | let a = a as f64; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(a)` [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/interpolate.rs:187:13 [INFO] [stderr] | [INFO] [stderr] 187 | let b = b as f64; [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/interpolate.rs:197:9 [INFO] [stderr] | [INFO] [stderr] 197 | a as f64 * (1.0 - x_diff) * (1.0 - y_diff) + b as f64 * (x_diff) * (1.0 - y_diff) + [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(a)` [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/interpolate.rs:197:54 [INFO] [stderr] | [INFO] [stderr] 197 | a as f64 * (1.0 - x_diff) * (1.0 - y_diff) + b as f64 * (x_diff) * (1.0 - y_diff) + [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/interpolate.rs:198:9 [INFO] [stderr] | [INFO] [stderr] 198 | c as f64 * (y_diff) * (1.0 - x_diff) + d as f64 * (x_diff * y_diff) [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(c)` [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/interpolate.rs:198:49 [INFO] [stderr] | [INFO] [stderr] 198 | c as f64 * (y_diff) * (1.0 - x_diff) + d as f64 * (x_diff * y_diff) [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(d)` [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: an inclusive range would be more readable [INFO] [stderr] --> src/transform.rs:182:34 [INFO] [stderr] | [INFO] [stderr] 182 | for (dest_y, y) in (0..).zip(min_y..max_y + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use: `min_y..=max_y` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/transform.rs:183:38 [INFO] [stderr] | [INFO] [stderr] 183 | for (dest_x, x) in (0..).zip(min_x..max_x + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use: `min_x..=max_x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/transform.rs:260:22 [INFO] [stderr] | [INFO] [stderr] 260 | let ratio: f64 = src.width as f64 / src.height as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `f64::from(src.width)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/transform.rs:260:41 [INFO] [stderr] | [INFO] [stderr] 260 | let ratio: f64 = src.width as f64 / src.height as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `f64::from(src.height)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/transform.rs:264:30 [INFO] [stderr] | [INFO] [stderr] 264 | let mut resize_height = (w as f64 / ratio).round() as i32; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(w)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/transform.rs:269:26 [INFO] [stderr] | [INFO] [stderr] 269 | resize_width = (h as f64 * ratio).round() as i32; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(h)` [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: this function has too many arguments (9/7) [INFO] [stderr] --> src/blend.rs:26:1 [INFO] [stderr] | [INFO] [stderr] 26 | / pub fn difference(image1: &Image, image2: &Image, loop_start_y:i32, loop_end_y:i32, loop_start_x:i32, loop_end_x:i32, offset_x:i32, offset_y:i32, opacity:f32) -> RasterResult { [INFO] [stderr] 27 | | [INFO] [stderr] 28 | | let mut canvas = image1.clone(); [INFO] [stderr] 29 | | [INFO] [stderr] ... | [INFO] [stderr] 55 | | Ok(canvas) [INFO] [stderr] 56 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:35:22 [INFO] [stderr] | [INFO] [stderr] 35 | let a1 = rgba1.a as f32 / 255.0; // convert to 0.0 - 1.0 [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba1.a)` [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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:36:22 [INFO] [stderr] | [INFO] [stderr] 36 | let r1 = rgba1.r as f32 * a1; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba1.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:37:22 [INFO] [stderr] | [INFO] [stderr] 37 | let g1 = rgba1.g as f32 * a1; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba1.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:38:22 [INFO] [stderr] | [INFO] [stderr] 38 | let b1 = rgba1.b as f32 * a1; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba1.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:41:22 [INFO] [stderr] | [INFO] [stderr] 41 | let a2 = rgba2.a as f32 / 255.0 * opacity; // convert to 0.0 - 1.0 [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba2.a)` [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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:42:22 [INFO] [stderr] | [INFO] [stderr] 42 | let r2 = rgba2.r as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba2.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:43:22 [INFO] [stderr] | [INFO] [stderr] 43 | let g2 = rgba2.g as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba2.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:44:22 [INFO] [stderr] | [INFO] [stderr] 44 | let b2 = rgba2.b as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba2.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: this function has too many arguments (9/7) [INFO] [stderr] --> src/blend.rs:58:1 [INFO] [stderr] | [INFO] [stderr] 58 | / pub fn multiply(image1: &Image, image2: &Image, loop_start_y:i32, loop_end_y:i32, loop_start_x:i32, loop_end_x:i32, offset_x:i32, offset_y:i32, opacity:f32) -> RasterResult { [INFO] [stderr] 59 | | [INFO] [stderr] 60 | | let mut canvas = image1.clone(); [INFO] [stderr] 61 | | [INFO] [stderr] ... | [INFO] [stderr] 87 | | Ok(canvas) [INFO] [stderr] 88 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:67:22 [INFO] [stderr] | [INFO] [stderr] 67 | let a1 = rgba1.a as f32 / 255.0; // convert to 0.0 - 1.0 [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba1.a)` [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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:68:22 [INFO] [stderr] | [INFO] [stderr] 68 | let r1 = rgba1.r as f32 * a1; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba1.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:69:22 [INFO] [stderr] | [INFO] [stderr] 69 | let g1 = rgba1.g as f32 * a1; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba1.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:70:22 [INFO] [stderr] | [INFO] [stderr] 70 | let b1 = rgba1.b as f32 * a1; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba1.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:73:22 [INFO] [stderr] | [INFO] [stderr] 73 | let a2 = rgba2.a as f32 / 255.0 * opacity; // convert to 0.0 - 1.0 [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba2.a)` [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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:74:22 [INFO] [stderr] | [INFO] [stderr] 74 | let r2 = rgba2.r as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba2.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:75:22 [INFO] [stderr] | [INFO] [stderr] 75 | let g2 = rgba2.g as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba2.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:76:22 [INFO] [stderr] | [INFO] [stderr] 76 | let b2 = rgba2.b as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba2.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: this function has too many arguments (9/7) [INFO] [stderr] --> src/blend.rs:90:1 [INFO] [stderr] | [INFO] [stderr] 90 | / pub fn normal(image1: &Image, image2: &Image, loop_start_y:i32, loop_end_y:i32, loop_start_x:i32, loop_end_x:i32, offset_x:i32, offset_y:i32, opacity:f32) -> RasterResult { [INFO] [stderr] 91 | | [INFO] [stderr] 92 | | let mut canvas = image1.clone(); [INFO] [stderr] 93 | | [INFO] [stderr] ... | [INFO] [stderr] 119 | | Ok(canvas) [INFO] [stderr] 120 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:99:22 [INFO] [stderr] | [INFO] [stderr] 99 | let a1 = color1.a as f32 / 255.0; // convert to 0.0 - 1.0 [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f32::from(color1.a)` [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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:100:22 [INFO] [stderr] | [INFO] [stderr] 100 | let r1 = color1.r as f32 * a1; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f32::from(color1.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:101:22 [INFO] [stderr] | [INFO] [stderr] 101 | let g1 = color1.g as f32 * a1; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f32::from(color1.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:102:22 [INFO] [stderr] | [INFO] [stderr] 102 | let b1 = color1.b as f32 * a1; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f32::from(color1.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:105:22 [INFO] [stderr] | [INFO] [stderr] 105 | let a2 = color2.a as f32 / 255.0 * opacity; // convert to 0.0 - 1.0 [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f32::from(color2.a)` [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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:106:22 [INFO] [stderr] | [INFO] [stderr] 106 | let r2 = color2.r as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f32::from(color2.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:107:22 [INFO] [stderr] | [INFO] [stderr] 107 | let g2 = color2.g as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f32::from(color2.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:108:22 [INFO] [stderr] | [INFO] [stderr] 108 | let b2 = color2.b as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f32::from(color2.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: this function has too many arguments (9/7) [INFO] [stderr] --> src/blend.rs:122:1 [INFO] [stderr] | [INFO] [stderr] 122 | / pub fn overlay(image1: &Image, image2: &Image, loop_start_y:i32, loop_end_y:i32, loop_start_x:i32, loop_end_x:i32, offset_x:i32, offset_y:i32, opacity:f32) -> RasterResult { [INFO] [stderr] 123 | | [INFO] [stderr] 124 | | let mut canvas = image1.clone(); [INFO] [stderr] 125 | | [INFO] [stderr] ... | [INFO] [stderr] 151 | | Ok(canvas) [INFO] [stderr] 152 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:131:22 [INFO] [stderr] | [INFO] [stderr] 131 | let a1 = rgba1.a as f32 / 255.0; // convert to 0.0 - 1.0 [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba1.a)` [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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:132:22 [INFO] [stderr] | [INFO] [stderr] 132 | let r1 = rgba1.r as f32 * a1; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba1.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:133:22 [INFO] [stderr] | [INFO] [stderr] 133 | let g1 = rgba1.g as f32 * a1; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba1.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:134:22 [INFO] [stderr] | [INFO] [stderr] 134 | let b1 = rgba1.b as f32 * a1; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba1.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:137:22 [INFO] [stderr] | [INFO] [stderr] 137 | let a2 = rgba2.a as f32 / 255.0 * opacity; // convert to 0.0 - 1.0 [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba2.a)` [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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:138:22 [INFO] [stderr] | [INFO] [stderr] 138 | let r2 = rgba2.r as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba2.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:139:22 [INFO] [stderr] | [INFO] [stderr] 139 | let g2 = rgba2.g as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba2.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:140:22 [INFO] [stderr] | [INFO] [stderr] 140 | let b2 = rgba2.b as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba2.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: this function has too many arguments (9/7) [INFO] [stderr] --> src/blend.rs:154:1 [INFO] [stderr] | [INFO] [stderr] 154 | / pub fn screen(image1: &Image, image2: &Image, loop_start_y:i32, loop_end_y:i32, loop_start_x:i32, loop_end_x:i32, offset_x:i32, offset_y:i32, opacity:f32) -> RasterResult { [INFO] [stderr] 155 | | [INFO] [stderr] 156 | | let mut canvas = image1.clone(); [INFO] [stderr] 157 | | [INFO] [stderr] ... | [INFO] [stderr] 183 | | Ok(canvas) [INFO] [stderr] 184 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:163:22 [INFO] [stderr] | [INFO] [stderr] 163 | let a1 = rgba1.a as f32 / 255.0; // convert to 0.0 - 1.0 [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba1.a)` [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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:164:22 [INFO] [stderr] | [INFO] [stderr] 164 | let r1 = rgba1.r as f32 * a1; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba1.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:165:22 [INFO] [stderr] | [INFO] [stderr] 165 | let g1 = rgba1.g as f32 * a1; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba1.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:166:22 [INFO] [stderr] | [INFO] [stderr] 166 | let b1 = rgba1.b as f32 * a1; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba1.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:169:22 [INFO] [stderr] | [INFO] [stderr] 169 | let a2 = rgba2.a as f32 / 255.0 * opacity; // convert to 0.0 - 1.0 [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba2.a)` [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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:170:22 [INFO] [stderr] | [INFO] [stderr] 170 | let r2 = rgba2.r as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba2.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:171:22 [INFO] [stderr] | [INFO] [stderr] 171 | let g2 = rgba2.g as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba2.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:172:22 [INFO] [stderr] | [INFO] [stderr] 172 | let b2 = rgba2.b as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba2.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: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/color.rs:194:19 [INFO] [stderr] | [INFO] [stderr] 194 | pub fn to_hsv(r: u8, g: u8, b: u8) -> (u16, f32, f32) { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f32 may become silently lossy if types change [INFO] [stderr] --> src/color.rs:196:17 [INFO] [stderr] | [INFO] [stderr] 196 | let r = r as f32 / 255.0; [INFO] [stderr] | ^^^^^^^^ help: try: `f32::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 f32 may become silently lossy if types change [INFO] [stderr] --> src/color.rs:197:17 [INFO] [stderr] | [INFO] [stderr] 197 | let g = g as f32 / 255.0; [INFO] [stderr] | ^^^^^^^^ help: try: `f32::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 f32 may become silently lossy if types change [INFO] [stderr] --> src/color.rs:198:17 [INFO] [stderr] | [INFO] [stderr] 198 | let b = b as f32 / 255.0; [INFO] [stderr] | ^^^^^^^^ help: try: `f32::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: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/color.rs:253:19 [INFO] [stderr] | [INFO] [stderr] 253 | pub fn to_rgb(h:u16, s: f32, v: f32) -> (u8, u8, u8) { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: casting u16 to f32 may become silently lossy if types change [INFO] [stderr] --> src/color.rs:255:17 [INFO] [stderr] | [INFO] [stderr] 255 | let h = h as f32 / 60.0; [INFO] [stderr] | ^^^^^^^^ help: try: `f32::from(h)` [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: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/endec.rs:30:12 [INFO] [stderr] | [INFO] [stderr] 30 | if let Some(_) = try!(reader.next_frame_info()) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] warning: unused import: `std::ascii::AsciiExt` [INFO] [stderr] --> src/lib.rs:104:5 [INFO] [stderr] | [INFO] [stderr] 104 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 2 | if match $ expr { [INFO] [stderr] 3 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 4 | :: Err ( err ) => { [INFO] [stderr] 5 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 6 | $ crate :: convert :: From :: from ( err ) ) } }.is_some() ) ; ( $ expr : expr , ) => ( [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/endec.rs:35:24 [INFO] [stderr] | [INFO] [stderr] 35 | width: reader.width() as i32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(reader.width())` [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 u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/endec.rs:36:25 [INFO] [stderr] | [INFO] [stderr] 36 | height: reader.height() as i32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(reader.height())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the variable `insert_count` is used as a loop counter. Consider using `for (insert_count, item) in 0..len.enumerate()` or similar iterators [INFO] [stderr] --> src/endec.rs:71:18 [INFO] [stderr] | [INFO] [stderr] 71 | for i in 0..len { // TODO: This is slow! [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::explicit_counter_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/endec.rs:91:9 [INFO] [stderr] | [INFO] [stderr] 91 | let ref mut w = BufWriter::new(file); [INFO] [stderr] | ----^^^^^^^^^------------------------ help: try: `let w = &mut BufWriter::new(file);` [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: passing a unit value to a function [INFO] [stderr] --> src/endec.rs:97:8 [INFO] [stderr] | [INFO] [stderr] 97 | Ok(try!(writer.write_image_data(&image.bytes))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unit_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/image.rs:239:21 [INFO] [stderr] | [INFO] [stderr] 239 | let start = (y * &self.width) + x; [INFO] [stderr] | ^^^^^-----------^ [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `self.width` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/lib.rs:201:16 [INFO] [stderr] | [INFO] [stderr] 201 | Ok(try!(endec::encode_gif(&image, &path))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/lib.rs:213:16 [INFO] [stderr] | [INFO] [stderr] 213 | Ok(try!(endec::encode_png(&image, &path))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/editor.rs:223:13 [INFO] [stderr] | [INFO] [stderr] 223 | pub fn crop(mut src: &mut Image, crop_width: i32, crop_height: i32, position: PositionMode, offset_x: i32, offset_y: i32) -> RasterResult<()> { [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/editor.rs:276:13 [INFO] [stderr] | [INFO] [stderr] 276 | pub fn fill(mut src: &mut Image, color: Color) -> RasterResult<()> { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/editor.rs:414:15 [INFO] [stderr] | [INFO] [stderr] 414 | pub fn resize(mut src: &mut Image, w: i32, h: i32, mode: ResizeMode) -> RasterResult<()> { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/filter.rs:57:13 [INFO] [stderr] | [INFO] [stderr] 57 | pub fn blur(mut src: &mut Image, mode: BlurMode) -> RasterResult<()>{ [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/filter.rs:83:19 [INFO] [stderr] | [INFO] [stderr] 83 | pub fn brightness(mut src: &mut Image, factor: f32) -> RasterResult<()>{ [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/filter.rs:227:15 [INFO] [stderr] | [INFO] [stderr] 227 | pub fn emboss(mut src: &mut Image) -> RasterResult<()>{ [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/filter.rs:258:14 [INFO] [stderr] | [INFO] [stderr] 258 | pub fn gamma(mut src: &mut Image, gamma: f32) -> RasterResult<()>{ [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/filter.rs:301:18 [INFO] [stderr] | [INFO] [stderr] 301 | pub fn grayscale(mut src: &mut Image) -> RasterResult<()>{ [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/filter.rs:341:19 [INFO] [stderr] | [INFO] [stderr] 341 | pub fn saturation(mut src: &mut Image, sat: f32) -> RasterResult<()>{ [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/filter.rs:385:16 [INFO] [stderr] | [INFO] [stderr] 385 | pub fn sharpen(mut src: &mut Image) -> RasterResult<()>{ [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/filter.rs:399:13 [INFO] [stderr] | [INFO] [stderr] 399 | fn blur_box(mut src: &mut Image) -> RasterResult<()>{ [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/filter.rs:410:18 [INFO] [stderr] | [INFO] [stderr] 410 | fn blur_gaussian(mut src: &mut Image) -> RasterResult<()>{ [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpolate.rs:23:17 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn resample(mut src: &mut Image, w: i32, h: i32, interpolation: InterpolationMode) -> RasterResult<()> { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpolate.rs:32:16 [INFO] [stderr] | [INFO] [stderr] 32 | pub fn nearest(mut src: &mut Image, w: i32, h: i32) -> RasterResult<()> { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpolate.rs:56:17 [INFO] [stderr] | [INFO] [stderr] 56 | pub fn bilinear(mut src: &mut Image, w2: i32, h2: i32) -> RasterResult<()> { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpolate.rs:64:19 [INFO] [stderr] | [INFO] [stderr] 64 | fn bilinear_width(mut src: &mut Image, w2: i32) -> RasterResult<()> { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpolate.rs:124:20 [INFO] [stderr] | [INFO] [stderr] 124 | fn bilinear_height(mut src: &mut Image, h2: i32) -> RasterResult<()> { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/transform.rs:59:13 [INFO] [stderr] | [INFO] [stderr] 59 | pub fn flip(mut src: &mut Image, mode: TransformMode ) -> RasterResult<()> { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/transform.rs:144:15 [INFO] [stderr] | [INFO] [stderr] 144 | pub fn rotate(mut src: &mut Image, degree: i32, bg: Color) -> RasterResult<()>{ [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/transform.rs:204:21 [INFO] [stderr] | [INFO] [stderr] 204 | pub fn resize_exact(mut src: &mut Image, w: i32, h: i32) -> RasterResult<()> { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/transform.rs:210:28 [INFO] [stderr] | [INFO] [stderr] 210 | pub fn resize_exact_height(mut src: &mut Image, h: i32) -> RasterResult<()> { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/transform.rs:224:27 [INFO] [stderr] | [INFO] [stderr] 224 | pub fn resize_exact_width(mut src: &mut Image, w: i32) -> RasterResult<()> { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/transform.rs:236:20 [INFO] [stderr] | [INFO] [stderr] 236 | pub fn resize_fill(mut src: &mut Image, w: i32, h: i32) -> RasterResult<()> { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/transform.rs:258:19 [INFO] [stderr] | [INFO] [stderr] 258 | pub fn resize_fit(mut src: &mut Image, w: i32, h: i32) -> RasterResult<()> { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f32 may become silently lossy if types change [INFO] [stderr] --> src/compare.rs:113:26 [INFO] [stderr] | [INFO] [stderr] 113 | let mut left = ((pixel.r as f32 + pixel.g as f32 + pixel.b as f32) / 3.0).floor(); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(pixel.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/compare.rs:113:43 [INFO] [stderr] | [INFO] [stderr] 113 | let mut left = ((pixel.r as f32 + pixel.g as f32 + pixel.b as f32) / 3.0).floor(); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(pixel.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/compare.rs:113:60 [INFO] [stderr] | [INFO] [stderr] 113 | let mut left = ((pixel.r as f32 + pixel.g as f32 + pixel.b as f32) / 3.0).floor(); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(pixel.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/compare.rs:119:27 [INFO] [stderr] | [INFO] [stderr] 119 | let right = ((pixel.r as f32 + pixel.g as f32 + pixel.b as f32) / 3.0).floor(); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(pixel.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/compare.rs:119:44 [INFO] [stderr] | [INFO] [stderr] 119 | let right = ((pixel.r as f32 + pixel.g as f32 + pixel.b as f32) / 3.0).floor(); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(pixel.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/compare.rs:119:61 [INFO] [stderr] | [INFO] [stderr] 119 | let right = ((pixel.r as f32 + pixel.g as f32 + pixel.b as f32) / 3.0).floor(); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(pixel.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/filter.rs:96:48 [INFO] [stderr] | [INFO] [stderr] 96 | let r = cmp::max(0, cmp::min(255, (p.r as f32 * factor) as i32)); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f32::from(p.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/filter.rs:97:48 [INFO] [stderr] | [INFO] [stderr] 97 | let g = cmp::max(0, cmp::min(255, (p.g as f32 * factor) as i32)); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f32::from(p.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/filter.rs:98:48 [INFO] [stderr] | [INFO] [stderr] 98 | let b = cmp::max(0, cmp::min(255, (p.b as f32 * factor) as i32)); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f32::from(p.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/filter.rs:99:48 [INFO] [stderr] | [INFO] [stderr] 99 | let a = cmp::max(0, cmp::min(255, (p.a as f32 * factor) as i32)); // TODO: Should alpha be included? [INFO] [stderr] | ^^^^^^^^^^ help: try: `f32::from(p.a)` [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/filter.rs:161:34 [INFO] [stderr] | [INFO] [stderr] 161 | accum_red += pixel.r as i32 * matrix[m_index_y][m_index_x]; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `i32::from(pixel.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 i32 may become silently lossy if types change [INFO] [stderr] --> src/filter.rs:162:36 [INFO] [stderr] | [INFO] [stderr] 162 | accum_green += pixel.g as i32 * matrix[m_index_y][m_index_x]; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `i32::from(pixel.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 i32 may become silently lossy if types change [INFO] [stderr] --> src/filter.rs:163:35 [INFO] [stderr] | [INFO] [stderr] 163 | accum_blue += pixel.b as i32 * matrix[m_index_y][m_index_x]; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `i32::from(pixel.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 i32 may become silently lossy if types change [INFO] [stderr] --> src/filter.rs:164:36 [INFO] [stderr] | [INFO] [stderr] 164 | accum_alpha += pixel.a as i32 * matrix[m_index_y][m_index_x]; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `i32::from(pixel.a)` [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 f32 may become silently lossy if types change [INFO] [stderr] --> src/filter.rs:271:22 [INFO] [stderr] | [INFO] [stderr] 271 | let r = (p.r as f32 / 255.0).powf(gamma) * 255.0; [INFO] [stderr] | ^^^^^^^^^^ help: try: `f32::from(p.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/filter.rs:272:22 [INFO] [stderr] | [INFO] [stderr] 272 | let g = (p.g as f32 / 255.0).powf(gamma) * 255.0; [INFO] [stderr] | ^^^^^^^^^^ help: try: `f32::from(p.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/filter.rs:273:22 [INFO] [stderr] | [INFO] [stderr] 273 | let b = (p.b as f32 / 255.0).powf(gamma) * 255.0; [INFO] [stderr] | ^^^^^^^^^^ help: try: `f32::from(p.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/filter.rs:274:22 [INFO] [stderr] | [INFO] [stderr] 274 | let a = (p.a as f32 / 255.0).powf(gamma) * 255.0; [INFO] [stderr] | ^^^^^^^^^^ help: try: `f32::from(p.a)` [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 f32 may become silently lossy if types change [INFO] [stderr] --> src/filter.rs:309:25 [INFO] [stderr] | [INFO] [stderr] 309 | let gray = (p.r as f32 * 0.3) + (p.g as f32 * 0.59) + (p.b as f32 * 0.11); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f32::from(p.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/filter.rs:309:46 [INFO] [stderr] | [INFO] [stderr] 309 | let gray = (p.r as f32 * 0.3) + (p.g as f32 * 0.59) + (p.b as f32 * 0.11); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f32::from(p.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/filter.rs:309:68 [INFO] [stderr] | [INFO] [stderr] 309 | let gray = (p.r as f32 * 0.3) + (p.g as f32 * 0.59) + (p.b as f32 * 0.11); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f32::from(p.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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/interpolate.rs:34:24 [INFO] [stderr] | [INFO] [stderr] 34 | let x_ratio: f64 = src.width as f64 / w as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `f64::from(src.width)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/interpolate.rs:34:43 [INFO] [stderr] | [INFO] [stderr] 34 | let x_ratio: f64 = src.width as f64 / w as f64; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(w)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/interpolate.rs:35:24 [INFO] [stderr] | [INFO] [stderr] 35 | let y_ratio: f64 = src.height as f64 / h as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `f64::from(src.height)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/interpolate.rs:35:44 [INFO] [stderr] | [INFO] [stderr] 35 | let y_ratio: f64 = src.height as f64 / h as f64; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(h)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/interpolate.rs:41:29 [INFO] [stderr] | [INFO] [stderr] 41 | let px: i32 = ( x as f64 * x_ratio ).floor() as i32; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(x)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/interpolate.rs:42:29 [INFO] [stderr] | [INFO] [stderr] 42 | let py: i32 = ( y as f64 * y_ratio ).floor() as i32; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(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: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/interpolate.rs:69:24 [INFO] [stderr] | [INFO] [stderr] 69 | let x_ratio: f64 = w1 as f64 / w2 as f64; [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(w1)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/interpolate.rs:69:36 [INFO] [stderr] | [INFO] [stderr] 69 | let x_ratio: f64 = w1 as f64 / w2 as f64; [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(w2)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/interpolate.rs:82:29 [INFO] [stderr] | [INFO] [stderr] 82 | let src_x = x as f64 * x_ratio; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(x)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/interpolate.rs:95:31 [INFO] [stderr] | [INFO] [stderr] 95 | let t_x = src_x - src_x_int as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `f64::from(src_x_int)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/interpolate.rs:129:24 [INFO] [stderr] | [INFO] [stderr] 129 | let y_ratio: f64 = h1 as f64 / h2 as f64; [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(h1)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/interpolate.rs:129:36 [INFO] [stderr] | [INFO] [stderr] 129 | let y_ratio: f64 = h1 as f64 / h2 as f64; [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(h2)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/interpolate.rs:142:29 [INFO] [stderr] | [INFO] [stderr] 142 | let src_y = y as f64 * y_ratio; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(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: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/interpolate.rs:155:31 [INFO] [stderr] | [INFO] [stderr] 155 | let t_y = src_y - src_y_int as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `f64::from(src_y_int)` [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/interpolate.rs:186:13 [INFO] [stderr] | [INFO] [stderr] 186 | let a = a as f64; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(a)` [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/interpolate.rs:187:13 [INFO] [stderr] | [INFO] [stderr] 187 | let b = b as f64; [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/interpolate.rs:197:9 [INFO] [stderr] | [INFO] [stderr] 197 | a as f64 * (1.0 - x_diff) * (1.0 - y_diff) + b as f64 * (x_diff) * (1.0 - y_diff) + [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(a)` [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/interpolate.rs:197:54 [INFO] [stderr] | [INFO] [stderr] 197 | a as f64 * (1.0 - x_diff) * (1.0 - y_diff) + b as f64 * (x_diff) * (1.0 - y_diff) + [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/interpolate.rs:198:9 [INFO] [stderr] | [INFO] [stderr] 198 | c as f64 * (y_diff) * (1.0 - x_diff) + d as f64 * (x_diff * y_diff) [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(c)` [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/interpolate.rs:198:49 [INFO] [stderr] | [INFO] [stderr] 198 | c as f64 * (y_diff) * (1.0 - x_diff) + d as f64 * (x_diff * y_diff) [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(d)` [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: an inclusive range would be more readable [INFO] [stderr] --> src/transform.rs:182:34 [INFO] [stderr] | [INFO] [stderr] 182 | for (dest_y, y) in (0..).zip(min_y..max_y + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use: `min_y..=max_y` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/transform.rs:183:38 [INFO] [stderr] | [INFO] [stderr] 183 | for (dest_x, x) in (0..).zip(min_x..max_x + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use: `min_x..=max_x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/transform.rs:260:22 [INFO] [stderr] | [INFO] [stderr] 260 | let ratio: f64 = src.width as f64 / src.height as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `f64::from(src.width)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/transform.rs:260:41 [INFO] [stderr] | [INFO] [stderr] 260 | let ratio: f64 = src.width as f64 / src.height as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `f64::from(src.height)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/transform.rs:264:30 [INFO] [stderr] | [INFO] [stderr] 264 | let mut resize_height = (w as f64 / ratio).round() as i32; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(w)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/transform.rs:269:26 [INFO] [stderr] | [INFO] [stderr] 269 | resize_width = (h as f64 * ratio).round() as i32; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(h)` [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: this function has too many arguments (9/7) [INFO] [stderr] --> src/blend.rs:26:1 [INFO] [stderr] | [INFO] [stderr] 26 | / pub fn difference(image1: &Image, image2: &Image, loop_start_y:i32, loop_end_y:i32, loop_start_x:i32, loop_end_x:i32, offset_x:i32, offset_y:i32, opacity:f32) -> RasterResult { [INFO] [stderr] 27 | | [INFO] [stderr] 28 | | let mut canvas = image1.clone(); [INFO] [stderr] 29 | | [INFO] [stderr] ... | [INFO] [stderr] 55 | | Ok(canvas) [INFO] [stderr] 56 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:35:22 [INFO] [stderr] | [INFO] [stderr] 35 | let a1 = rgba1.a as f32 / 255.0; // convert to 0.0 - 1.0 [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba1.a)` [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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:36:22 [INFO] [stderr] | [INFO] [stderr] 36 | let r1 = rgba1.r as f32 * a1; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba1.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:37:22 [INFO] [stderr] | [INFO] [stderr] 37 | let g1 = rgba1.g as f32 * a1; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba1.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:38:22 [INFO] [stderr] | [INFO] [stderr] 38 | let b1 = rgba1.b as f32 * a1; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba1.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:41:22 [INFO] [stderr] | [INFO] [stderr] 41 | let a2 = rgba2.a as f32 / 255.0 * opacity; // convert to 0.0 - 1.0 [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba2.a)` [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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:42:22 [INFO] [stderr] | [INFO] [stderr] 42 | let r2 = rgba2.r as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba2.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:43:22 [INFO] [stderr] | [INFO] [stderr] 43 | let g2 = rgba2.g as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba2.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:44:22 [INFO] [stderr] | [INFO] [stderr] 44 | let b2 = rgba2.b as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba2.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: this function has too many arguments (9/7) [INFO] [stderr] --> src/blend.rs:58:1 [INFO] [stderr] | [INFO] [stderr] 58 | / pub fn multiply(image1: &Image, image2: &Image, loop_start_y:i32, loop_end_y:i32, loop_start_x:i32, loop_end_x:i32, offset_x:i32, offset_y:i32, opacity:f32) -> RasterResult { [INFO] [stderr] 59 | | [INFO] [stderr] 60 | | let mut canvas = image1.clone(); [INFO] [stderr] 61 | | [INFO] [stderr] ... | [INFO] [stderr] 87 | | Ok(canvas) [INFO] [stderr] 88 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:67:22 [INFO] [stderr] | [INFO] [stderr] 67 | let a1 = rgba1.a as f32 / 255.0; // convert to 0.0 - 1.0 [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba1.a)` [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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:68:22 [INFO] [stderr] | [INFO] [stderr] 68 | let r1 = rgba1.r as f32 * a1; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba1.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:69:22 [INFO] [stderr] | [INFO] [stderr] 69 | let g1 = rgba1.g as f32 * a1; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba1.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:70:22 [INFO] [stderr] | [INFO] [stderr] 70 | let b1 = rgba1.b as f32 * a1; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba1.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:73:22 [INFO] [stderr] | [INFO] [stderr] 73 | let a2 = rgba2.a as f32 / 255.0 * opacity; // convert to 0.0 - 1.0 [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba2.a)` [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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:74:22 [INFO] [stderr] | [INFO] [stderr] 74 | let r2 = rgba2.r as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba2.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:75:22 [INFO] [stderr] | [INFO] [stderr] 75 | let g2 = rgba2.g as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba2.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:76:22 [INFO] [stderr] | [INFO] [stderr] 76 | let b2 = rgba2.b as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba2.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: this function has too many arguments (9/7) [INFO] [stderr] --> src/blend.rs:90:1 [INFO] [stderr] | [INFO] [stderr] 90 | / pub fn normal(image1: &Image, image2: &Image, loop_start_y:i32, loop_end_y:i32, loop_start_x:i32, loop_end_x:i32, offset_x:i32, offset_y:i32, opacity:f32) -> RasterResult { [INFO] [stderr] 91 | | [INFO] [stderr] 92 | | let mut canvas = image1.clone(); [INFO] [stderr] 93 | | [INFO] [stderr] ... | [INFO] [stderr] 119 | | Ok(canvas) [INFO] [stderr] 120 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:99:22 [INFO] [stderr] | [INFO] [stderr] 99 | let a1 = color1.a as f32 / 255.0; // convert to 0.0 - 1.0 [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f32::from(color1.a)` [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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:100:22 [INFO] [stderr] | [INFO] [stderr] 100 | let r1 = color1.r as f32 * a1; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f32::from(color1.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:101:22 [INFO] [stderr] | [INFO] [stderr] 101 | let g1 = color1.g as f32 * a1; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f32::from(color1.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:102:22 [INFO] [stderr] | [INFO] [stderr] 102 | let b1 = color1.b as f32 * a1; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f32::from(color1.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:105:22 [INFO] [stderr] | [INFO] [stderr] 105 | let a2 = color2.a as f32 / 255.0 * opacity; // convert to 0.0 - 1.0 [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f32::from(color2.a)` [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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:106:22 [INFO] [stderr] | [INFO] [stderr] 106 | let r2 = color2.r as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f32::from(color2.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:107:22 [INFO] [stderr] | [INFO] [stderr] 107 | let g2 = color2.g as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f32::from(color2.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:108:22 [INFO] [stderr] | [INFO] [stderr] 108 | let b2 = color2.b as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f32::from(color2.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: this function has too many arguments (9/7) [INFO] [stderr] --> src/blend.rs:122:1 [INFO] [stderr] | [INFO] [stderr] 122 | / pub fn overlay(image1: &Image, image2: &Image, loop_start_y:i32, loop_end_y:i32, loop_start_x:i32, loop_end_x:i32, offset_x:i32, offset_y:i32, opacity:f32) -> RasterResult { [INFO] [stderr] 123 | | [INFO] [stderr] 124 | | let mut canvas = image1.clone(); [INFO] [stderr] 125 | | [INFO] [stderr] ... | [INFO] [stderr] 151 | | Ok(canvas) [INFO] [stderr] 152 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:131:22 [INFO] [stderr] | [INFO] [stderr] 131 | let a1 = rgba1.a as f32 / 255.0; // convert to 0.0 - 1.0 [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba1.a)` [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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:132:22 [INFO] [stderr] | [INFO] [stderr] 132 | let r1 = rgba1.r as f32 * a1; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba1.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:133:22 [INFO] [stderr] | [INFO] [stderr] 133 | let g1 = rgba1.g as f32 * a1; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba1.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:134:22 [INFO] [stderr] | [INFO] [stderr] 134 | let b1 = rgba1.b as f32 * a1; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba1.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:137:22 [INFO] [stderr] | [INFO] [stderr] 137 | let a2 = rgba2.a as f32 / 255.0 * opacity; // convert to 0.0 - 1.0 [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba2.a)` [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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:138:22 [INFO] [stderr] | [INFO] [stderr] 138 | let r2 = rgba2.r as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba2.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:139:22 [INFO] [stderr] | [INFO] [stderr] 139 | let g2 = rgba2.g as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba2.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:140:22 [INFO] [stderr] | [INFO] [stderr] 140 | let b2 = rgba2.b as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba2.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: this function has too many arguments (9/7) [INFO] [stderr] --> src/blend.rs:154:1 [INFO] [stderr] | [INFO] [stderr] 154 | / pub fn screen(image1: &Image, image2: &Image, loop_start_y:i32, loop_end_y:i32, loop_start_x:i32, loop_end_x:i32, offset_x:i32, offset_y:i32, opacity:f32) -> RasterResult { [INFO] [stderr] 155 | | [INFO] [stderr] 156 | | let mut canvas = image1.clone(); [INFO] [stderr] 157 | | [INFO] [stderr] ... | [INFO] [stderr] 183 | | Ok(canvas) [INFO] [stderr] 184 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:163:22 [INFO] [stderr] | [INFO] [stderr] 163 | let a1 = rgba1.a as f32 / 255.0; // convert to 0.0 - 1.0 [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba1.a)` [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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:164:22 [INFO] [stderr] | [INFO] [stderr] 164 | let r1 = rgba1.r as f32 * a1; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba1.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:165:22 [INFO] [stderr] | [INFO] [stderr] 165 | let g1 = rgba1.g as f32 * a1; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba1.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:166:22 [INFO] [stderr] | [INFO] [stderr] 166 | let b1 = rgba1.b as f32 * a1; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba1.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:169:22 [INFO] [stderr] | [INFO] [stderr] 169 | let a2 = rgba2.a as f32 / 255.0 * opacity; // convert to 0.0 - 1.0 [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba2.a)` [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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:170:22 [INFO] [stderr] | [INFO] [stderr] 170 | let r2 = rgba2.r as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba2.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:171:22 [INFO] [stderr] | [INFO] [stderr] 171 | let g2 = rgba2.g as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba2.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 f32 may become silently lossy if types change [INFO] [stderr] --> src/blend.rs:172:22 [INFO] [stderr] | [INFO] [stderr] 172 | let b2 = rgba2.b as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f32::from(rgba2.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: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/color.rs:194:19 [INFO] [stderr] | [INFO] [stderr] 194 | pub fn to_hsv(r: u8, g: u8, b: u8) -> (u16, f32, f32) { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f32 may become silently lossy if types change [INFO] [stderr] --> src/color.rs:196:17 [INFO] [stderr] | [INFO] [stderr] 196 | let r = r as f32 / 255.0; [INFO] [stderr] | ^^^^^^^^ help: try: `f32::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 f32 may become silently lossy if types change [INFO] [stderr] --> src/color.rs:197:17 [INFO] [stderr] | [INFO] [stderr] 197 | let g = g as f32 / 255.0; [INFO] [stderr] | ^^^^^^^^ help: try: `f32::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 f32 may become silently lossy if types change [INFO] [stderr] --> src/color.rs:198:17 [INFO] [stderr] | [INFO] [stderr] 198 | let b = b as f32 / 255.0; [INFO] [stderr] | ^^^^^^^^ help: try: `f32::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: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/color.rs:253:19 [INFO] [stderr] | [INFO] [stderr] 253 | pub fn to_rgb(h:u16, s: f32, v: f32) -> (u8, u8, u8) { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: casting u16 to f32 may become silently lossy if types change [INFO] [stderr] --> src/color.rs:255:17 [INFO] [stderr] | [INFO] [stderr] 255 | let h = h as f32 / 60.0; [INFO] [stderr] | ^^^^^^^^ help: try: `f32::from(h)` [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: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/endec.rs:30:12 [INFO] [stderr] | [INFO] [stderr] 30 | if let Some(_) = try!(reader.next_frame_info()) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 2 | if match $ expr { [INFO] [stderr] 3 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 4 | :: Err ( err ) => { [INFO] [stderr] 5 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 6 | $ crate :: convert :: From :: from ( err ) ) } }.is_some() ) ; ( $ expr : expr , ) => ( [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/endec.rs:35:24 [INFO] [stderr] | [INFO] [stderr] 35 | width: reader.width() as i32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(reader.width())` [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 u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/endec.rs:36:25 [INFO] [stderr] | [INFO] [stderr] 36 | height: reader.height() as i32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(reader.height())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the variable `insert_count` is used as a loop counter. Consider using `for (insert_count, item) in 0..len.enumerate()` or similar iterators [INFO] [stderr] --> src/endec.rs:71:18 [INFO] [stderr] | [INFO] [stderr] 71 | for i in 0..len { // TODO: This is slow! [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::explicit_counter_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/endec.rs:91:9 [INFO] [stderr] | [INFO] [stderr] 91 | let ref mut w = BufWriter::new(file); [INFO] [stderr] | ----^^^^^^^^^------------------------ help: try: `let w = &mut BufWriter::new(file);` [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: passing a unit value to a function [INFO] [stderr] --> src/endec.rs:97:8 [INFO] [stderr] | [INFO] [stderr] 97 | Ok(try!(writer.write_image_data(&image.bytes))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unit_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/image.rs:239:21 [INFO] [stderr] | [INFO] [stderr] 239 | let start = (y * &self.width) + x; [INFO] [stderr] | ^^^^^-----------^ [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `self.width` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/lib.rs:201:16 [INFO] [stderr] | [INFO] [stderr] 201 | Ok(try!(endec::encode_gif(&image, &path))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/lib.rs:213:16 [INFO] [stderr] | [INFO] [stderr] 213 | Ok(try!(endec::encode_png(&image, &path))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 14.19s [INFO] running `"docker" "inspect" "3a282b8341e78afdc9b126a9524b02543481778227462bba27e183dcc90cc0a7"` [INFO] running `"docker" "rm" "-f" "3a282b8341e78afdc9b126a9524b02543481778227462bba27e183dcc90cc0a7"` [INFO] [stdout] 3a282b8341e78afdc9b126a9524b02543481778227462bba27e183dcc90cc0a7