[INFO] crate softrender 0.1.0 is already in cache [INFO] extracting crate softrender 0.1.0 into work/ex/clippy-test-run/sources/stable/reg/softrender/0.1.0 [INFO] extracting crate softrender 0.1.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/softrender/0.1.0 [INFO] validating manifest of softrender-0.1.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 softrender-0.1.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 softrender-0.1.0 [INFO] finished frobbing softrender-0.1.0 [INFO] frobbed toml for softrender-0.1.0 written to work/ex/clippy-test-run/sources/stable/reg/softrender/0.1.0/Cargo.toml [INFO] started frobbing softrender-0.1.0 [INFO] finished frobbing softrender-0.1.0 [INFO] frobbed toml for softrender-0.1.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/softrender/0.1.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 softrender-0.1.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-0/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/softrender/0.1.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] 236000d63a6df571e4e622eff37ae56273e8c581eb98945263dc5fc77f6cb561 [INFO] running `"docker" "start" "-a" "236000d63a6df571e4e622eff37ae56273e8c581eb98945263dc5fc77f6cb561"` [INFO] [stderr] Checking png v0.7.0 [INFO] [stderr] Checking nalgebra v0.12.3 [INFO] [stderr] Checking rayon v0.7.1 [INFO] [stderr] Checking image v0.13.0 [INFO] [stderr] Checking softrender v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/render/geometry.rs:80:22 [INFO] [stderr] | [INFO] [stderr] 80 | ClipVertex { position: position, uniforms: uniforms } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `position` [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/render/geometry.rs:80:42 [INFO] [stderr] | [INFO] [stderr] 80 | ClipVertex { position: position, uniforms: uniforms } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `uniforms` [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/render/framebuffer.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | width: width, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `width` [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/render/framebuffer.rs:33:13 [INFO] [stderr] | [INFO] [stderr] 33 | height: height, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `height` [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/render/pipeline.rs:82:13 [INFO] [stderr] | [INFO] [stderr] 82 | framebuffer: framebuffer, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `framebuffer` [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/render/pipeline.rs:83:13 [INFO] [stderr] | [INFO] [stderr] 83 | uniforms: uniforms, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `uniforms` [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/render/pipeline.rs:90:13 [INFO] [stderr] | [INFO] [stderr] 90 | mesh: mesh, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `mesh` [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/render/pipeline.rs:174:13 [INFO] [stderr] | [INFO] [stderr] 174 | mesh: mesh, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `mesh` [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/render/pipeline.rs:175:13 [INFO] [stderr] | [INFO] [stderr] 175 | uniforms: uniforms, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `uniforms` [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/render/pipeline.rs:176:13 [INFO] [stderr] | [INFO] [stderr] 176 | framebuffer: framebuffer, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `framebuffer` [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/render/pipeline.rs:356:33 [INFO] [stderr] | [INFO] [stderr] 356 | let y = y as u32; [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/render/pipeline.rs:361:37 [INFO] [stderr] | [INFO] [stderr] 361 | let t = d1 / d; [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/render/pipeline.rs:380:65 [INFO] [stderr] | [INFO] [stderr] 380 | Fragment::Color(c) => { [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/render/pipeline.rs:373:49 [INFO] [stderr] | [INFO] [stderr] 373 | 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: 5th binding whose name is just one char [INFO] [stderr] --> src/render/pipeline.rs:458:33 [INFO] [stderr] | [INFO] [stderr] 458 | let x = x as u32; [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/render/pipeline.rs:459:33 [INFO] [stderr] | [INFO] [stderr] 459 | let y = y as u32; [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/render/pipeline.rs:464:37 [INFO] [stderr] | [INFO] [stderr] 464 | let t = d1 / d; [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/render/pipeline.rs:476:49 [INFO] [stderr] | [INFO] [stderr] 476 | 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: 5th binding whose name is just one char [INFO] [stderr] --> src/render/pipeline.rs:602:29 [INFO] [stderr] | [INFO] [stderr] 602 | let (x, y) = (px as f32 + 0.5, [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/render/pipeline.rs:609:25 [INFO] [stderr] | [INFO] [stderr] 609 | let u = ((y2 - y3) * (x - x3) + (x3 - x2) * (y - y3)) / det; [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/render/pipeline.rs:610:25 [INFO] [stderr] | [INFO] [stderr] 610 | let v = ((y3 - y1) * (x - x3) + (x1 - x3) * (y - y3)) / det; [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/render/pipeline.rs:611:25 [INFO] [stderr] | [INFO] [stderr] 611 | let w = 1.0 - u - v; [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/render/pipeline.rs:626:37 [INFO] [stderr] | [INFO] [stderr] 626 | 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/render/geometry.rs:80:22 [INFO] [stderr] | [INFO] [stderr] 80 | ClipVertex { position: position, uniforms: uniforms } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `position` [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/render/geometry.rs:80:42 [INFO] [stderr] | [INFO] [stderr] 80 | ClipVertex { position: position, uniforms: uniforms } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `uniforms` [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/render/framebuffer.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | width: width, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `width` [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/render/framebuffer.rs:33:13 [INFO] [stderr] | [INFO] [stderr] 33 | height: height, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `height` [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/render/pipeline.rs:82:13 [INFO] [stderr] | [INFO] [stderr] 82 | framebuffer: framebuffer, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `framebuffer` [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/render/pipeline.rs:83:13 [INFO] [stderr] | [INFO] [stderr] 83 | uniforms: uniforms, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `uniforms` [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/render/pipeline.rs:90:13 [INFO] [stderr] | [INFO] [stderr] 90 | mesh: mesh, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `mesh` [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/render/pipeline.rs:174:13 [INFO] [stderr] | [INFO] [stderr] 174 | mesh: mesh, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `mesh` [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/render/pipeline.rs:175:13 [INFO] [stderr] | [INFO] [stderr] 175 | uniforms: uniforms, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `uniforms` [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/render/pipeline.rs:176:13 [INFO] [stderr] | [INFO] [stderr] 176 | framebuffer: framebuffer, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `framebuffer` [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/render/pipeline.rs:356:33 [INFO] [stderr] | [INFO] [stderr] 356 | let y = y as u32; [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/render/pipeline.rs:361:37 [INFO] [stderr] | [INFO] [stderr] 361 | let t = d1 / d; [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/render/pipeline.rs:380:65 [INFO] [stderr] | [INFO] [stderr] 380 | Fragment::Color(c) => { [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/render/pipeline.rs:373:49 [INFO] [stderr] | [INFO] [stderr] 373 | 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: 5th binding whose name is just one char [INFO] [stderr] --> src/render/pipeline.rs:458:33 [INFO] [stderr] | [INFO] [stderr] 458 | let x = x as u32; [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/render/pipeline.rs:459:33 [INFO] [stderr] | [INFO] [stderr] 459 | let y = y as u32; [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/render/pipeline.rs:464:37 [INFO] [stderr] | [INFO] [stderr] 464 | let t = d1 / d; [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/render/pipeline.rs:476:49 [INFO] [stderr] | [INFO] [stderr] 476 | 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: 5th binding whose name is just one char [INFO] [stderr] --> src/render/pipeline.rs:602:29 [INFO] [stderr] | [INFO] [stderr] 602 | let (x, y) = (px as f32 + 0.5, [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/render/pipeline.rs:609:25 [INFO] [stderr] | [INFO] [stderr] 609 | let u = ((y2 - y3) * (x - x3) + (x3 - x2) * (y - y3)) / det; [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/render/pipeline.rs:610:25 [INFO] [stderr] | [INFO] [stderr] 610 | let v = ((y3 - y1) * (x - x3) + (x1 - x3) * (y - y3)) / det; [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/render/pipeline.rs:611:25 [INFO] [stderr] | [INFO] [stderr] 611 | let w = 1.0 - u - v; [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/render/pipeline.rs:626:37 [INFO] [stderr] | [INFO] [stderr] 626 | 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: this if statement can be collapsed [INFO] [stderr] --> src/render/pipeline.rs:366:33 [INFO] [stderr] | [INFO] [stderr] 366 | / if position.z > 0.0 { [INFO] [stderr] 367 | | if framebuffer.check_coordinate(x, y) { [INFO] [stderr] 368 | | let (fc, fd) = unsafe { framebuffer.pixel_depth_mut(x, y) }; [INFO] [stderr] 369 | | [INFO] [stderr] ... | [INFO] [stderr] 388 | | } [INFO] [stderr] 389 | | } [INFO] [stderr] | |_________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 366 | if position.z > 0.0 && framebuffer.check_coordinate(x, y) { [INFO] [stderr] 367 | let (fc, fd) = unsafe { framebuffer.pixel_depth_mut(x, y) }; [INFO] [stderr] 368 | [INFO] [stderr] 369 | if position.z < *fd { [INFO] [stderr] 370 | // run fragment shader [INFO] [stderr] 371 | let fragment = fragment_shader(&ScreenVertex { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/render/pipeline.rs:374:84 [INFO] [stderr] | [INFO] [stderr] 374 | uniforms: Barycentric::interpolate((1.0 - t), &a.uniforms, [INFO] [stderr] | ^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/render/pipeline.rs:469:33 [INFO] [stderr] | [INFO] [stderr] 469 | / if position.z > 0.0 { [INFO] [stderr] 470 | | if framebuffer.check_coordinate(x, y) { [INFO] [stderr] 471 | | let (fc, fd) = unsafe { framebuffer.pixel_depth_mut(x, y) }; [INFO] [stderr] 472 | | [INFO] [stderr] ... | [INFO] [stderr] 491 | | } [INFO] [stderr] 492 | | } [INFO] [stderr] | |_________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 469 | if position.z > 0.0 && framebuffer.check_coordinate(x, y) { [INFO] [stderr] 470 | let (fc, fd) = unsafe { framebuffer.pixel_depth_mut(x, y) }; [INFO] [stderr] 471 | [INFO] [stderr] 472 | if position.z < *fd { [INFO] [stderr] 473 | // run fragment shader [INFO] [stderr] 474 | let fragment = fragment_shader(&ScreenVertex { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/render/pipeline.rs:477:84 [INFO] [stderr] | [INFO] [stderr] 477 | uniforms: Barycentric::interpolate((1.0 - t), &a.uniforms, [INFO] [stderr] | ^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/render/pipeline.rs:366:33 [INFO] [stderr] | [INFO] [stderr] 366 | / if position.z > 0.0 { [INFO] [stderr] 367 | | if framebuffer.check_coordinate(x, y) { [INFO] [stderr] 368 | | let (fc, fd) = unsafe { framebuffer.pixel_depth_mut(x, y) }; [INFO] [stderr] 369 | | [INFO] [stderr] ... | [INFO] [stderr] 388 | | } [INFO] [stderr] 389 | | } [INFO] [stderr] | |_________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 366 | if position.z > 0.0 && framebuffer.check_coordinate(x, y) { [INFO] [stderr] 367 | let (fc, fd) = unsafe { framebuffer.pixel_depth_mut(x, y) }; [INFO] [stderr] 368 | [INFO] [stderr] 369 | if position.z < *fd { [INFO] [stderr] 370 | // run fragment shader [INFO] [stderr] 371 | let fragment = fragment_shader(&ScreenVertex { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/render/pipeline.rs:374:84 [INFO] [stderr] | [INFO] [stderr] 374 | uniforms: Barycentric::interpolate((1.0 - t), &a.uniforms, [INFO] [stderr] | ^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/render/pipeline.rs:469:33 [INFO] [stderr] | [INFO] [stderr] 469 | / if position.z > 0.0 { [INFO] [stderr] 470 | | if framebuffer.check_coordinate(x, y) { [INFO] [stderr] 471 | | let (fc, fd) = unsafe { framebuffer.pixel_depth_mut(x, y) }; [INFO] [stderr] 472 | | [INFO] [stderr] ... | [INFO] [stderr] 491 | | } [INFO] [stderr] 492 | | } [INFO] [stderr] | |_________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 469 | if position.z > 0.0 && framebuffer.check_coordinate(x, y) { [INFO] [stderr] 470 | let (fc, fd) = unsafe { framebuffer.pixel_depth_mut(x, y) }; [INFO] [stderr] 471 | [INFO] [stderr] 472 | if position.z < *fd { [INFO] [stderr] 473 | // run fragment shader [INFO] [stderr] 474 | let fragment = fragment_shader(&ScreenVertex { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/render/pipeline.rs:477:84 [INFO] [stderr] | [INFO] [stderr] 477 | uniforms: Barycentric::interpolate((1.0 - t), &a.uniforms, [INFO] [stderr] | ^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/render/framebuffer.rs:55:30 [INFO] [stderr] | [INFO] [stderr] 55 | pub fn merge_into(&self, mut other: &mut FrameBuffer

, blend_func: &Box P + Send + Sync>) { [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/render/framebuffer.rs:57:14 [INFO] [stderr] | [INFO] [stderr] 57 | let (mut fcolor, mut fdepth) = other.buffers_mut(); [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/render/framebuffer.rs:57:26 [INFO] [stderr] | [INFO] [stderr] 57 | let (mut fcolor, mut fdepth) = other.buffers_mut(); [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/render/framebuffer.rs:55:30 [INFO] [stderr] | [INFO] [stderr] 55 | pub fn merge_into(&self, mut other: &mut FrameBuffer

, blend_func: &Box P + Send + Sync>) { [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/render/framebuffer.rs:57:26 [INFO] [stderr] | [INFO] [stderr] 57 | let (mut fcolor, mut fdepth) = other.buffers_mut(); [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/render/framebuffer.rs:57:14 [INFO] [stderr] | [INFO] [stderr] 57 | let (mut fcolor, mut fdepth) = other.buffers_mut(); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/render/framebuffer.rs:55:74 [INFO] [stderr] | [INFO] [stderr] 55 | pub fn merge_into(&self, mut other: &mut FrameBuffer

, blend_func: &Box P + Send + Sync>) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&Fn(P, P) -> P + Send + Sync` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::borrowed_box)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/render/pipeline.rs:221:25 [INFO] [stderr] | [INFO] [stderr] 221 | cull_faces: self.cull_faces.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.cull_faces` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/render/pipeline.rs:276:21 [INFO] [stderr] | [INFO] [stderr] 276 | let ref vertex = screen_vertices[index as usize]; [INFO] [stderr] | ----^^^^^^^^^^----------------------------------- help: try: `let vertex = &screen_vertices[index as usize];` [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: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/render/pipeline.rs:304:9 [INFO] [stderr] | [INFO] [stderr] 304 | / partial_framebuffers.reduce_with(|mut a, b| { [INFO] [stderr] 305 | | b.merge_into(&mut a, &blend_func); [INFO] [stderr] 306 | | a [INFO] [stderr] 307 | | }).map(|final_framebuffer| { [INFO] [stderr] 308 | | // Merge final framebuffer into external framebuffer [INFO] [stderr] 309 | | final_framebuffer.merge_into(framebuffer, &blend_func); [INFO] [stderr] 310 | | }); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::option_map_unit_fn)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 304 | if let Some(final_framebuffer) = partial_framebuffers.reduce_with(|mut a, b| { [INFO] [stderr] 305 | b.merge_into(&mut a, &blend_func); [INFO] [stderr] 306 | a [INFO] [stderr] 307 | }) { final_framebuffer.merge_into(framebuffer, &blend_func); } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/render/pipeline.rs:344:21 [INFO] [stderr] | [INFO] [stderr] 344 | let ref a = screen_vertices[line[0] as usize]; [INFO] [stderr] | ----^^^^^------------------------------------- help: try: `let a = &screen_vertices[line[0] as usize];` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/render/pipeline.rs:345:21 [INFO] [stderr] | [INFO] [stderr] 345 | let ref b = screen_vertices[line[1] as usize]; [INFO] [stderr] | ----^^^^^------------------------------------- help: try: `let b = &screen_vertices[line[1] as usize];` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: casting f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render/pipeline.rs:399:66 [INFO] [stderr] | [INFO] [stderr] 399 | ::render::line::draw_line_xiaolin_wu(x1 as f64, y1 as f64, x2 as f64, y2 as f64, plot_fragment); [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(x1)` [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 f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render/pipeline.rs:399:77 [INFO] [stderr] | [INFO] [stderr] 399 | ::render::line::draw_line_xiaolin_wu(x1 as f64, y1 as f64, x2 as f64, y2 as f64, plot_fragment); [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(y1)` [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 f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render/pipeline.rs:399:88 [INFO] [stderr] | [INFO] [stderr] 399 | ::render::line::draw_line_xiaolin_wu(x1 as f64, y1 as f64, x2 as f64, y2 as f64, plot_fragment); [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(x2)` [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 f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render/pipeline.rs:399:99 [INFO] [stderr] | [INFO] [stderr] 399 | ::render::line::draw_line_xiaolin_wu(x1 as f64, y1 as f64, x2 as f64, y2 as f64, plot_fragment); [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(y2)` [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: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/render/pipeline.rs:409:9 [INFO] [stderr] | [INFO] [stderr] 409 | / partial_framebuffers.reduce_with(|mut a, b| { [INFO] [stderr] 410 | | b.merge_into(&mut a, &blend_func); [INFO] [stderr] 411 | | a [INFO] [stderr] 412 | | }).map(|final_framebuffer| { [INFO] [stderr] 413 | | // Merge final framebuffer into external framebuffer [INFO] [stderr] 414 | | final_framebuffer.merge_into(framebuffer, &blend_func); [INFO] [stderr] 415 | | }); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 409 | if let Some(final_framebuffer) = partial_framebuffers.reduce_with(|mut a, b| { [INFO] [stderr] 410 | b.merge_into(&mut a, &blend_func); [INFO] [stderr] 411 | a [INFO] [stderr] 412 | }) { final_framebuffer.merge_into(framebuffer, &blend_func); } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/render/pipeline.rs:446:21 [INFO] [stderr] | [INFO] [stderr] 446 | let ref a = screen_vertices[triangle[0] as usize]; [INFO] [stderr] | ----^^^^^----------------------------------------- help: try: `let a = &screen_vertices[triangle[0] as usize];` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/render/pipeline.rs:447:21 [INFO] [stderr] | [INFO] [stderr] 447 | let ref b = screen_vertices[triangle[1] as usize]; [INFO] [stderr] | ----^^^^^----------------------------------------- help: try: `let b = &screen_vertices[triangle[1] as usize];` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/render/pipeline.rs:448:21 [INFO] [stderr] | [INFO] [stderr] 448 | let ref c = screen_vertices[triangle[2] as usize]; [INFO] [stderr] | ----^^^^^----------------------------------------- help: try: `let c = &screen_vertices[triangle[2] as usize];` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/render/framebuffer.rs:55:74 [INFO] [stderr] | [INFO] [stderr] 55 | pub fn merge_into(&self, mut other: &mut FrameBuffer

, blend_func: &Box P + Send + Sync>) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&Fn(P, P) -> P + Send + Sync` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::borrowed_box)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: casting f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render/pipeline.rs:502:66 [INFO] [stderr] | [INFO] [stderr] 502 | ::render::line::draw_line_xiaolin_wu(x1 as f64, y1 as f64, x2 as f64, y2 as f64, plot_fragment); [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(x1)` [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 f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render/pipeline.rs:502:77 [INFO] [stderr] | [INFO] [stderr] 502 | ::render::line::draw_line_xiaolin_wu(x1 as f64, y1 as f64, x2 as f64, y2 as f64, plot_fragment); [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(y1)` [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 f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render/pipeline.rs:502:88 [INFO] [stderr] | [INFO] [stderr] 502 | ::render::line::draw_line_xiaolin_wu(x1 as f64, y1 as f64, x2 as f64, y2 as f64, plot_fragment); [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(x2)` [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 f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render/pipeline.rs:502:99 [INFO] [stderr] | [INFO] [stderr] 502 | ::render::line::draw_line_xiaolin_wu(x1 as f64, y1 as f64, x2 as f64, y2 as f64, plot_fragment); [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(y2)` [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: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/render/pipeline.rs:511:9 [INFO] [stderr] | [INFO] [stderr] 511 | / partial_framebuffers.reduce_with(|mut a, b| { [INFO] [stderr] 512 | | b.merge_into(&mut a, &blend_func); [INFO] [stderr] 513 | | a [INFO] [stderr] 514 | | }).map(|final_framebuffer| { [INFO] [stderr] 515 | | // Merge final framebuffer into external framebuffer [INFO] [stderr] 516 | | final_framebuffer.merge_into(framebuffer, &blend_func); [INFO] [stderr] 517 | | }); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 511 | if let Some(final_framebuffer) = partial_framebuffers.reduce_with(|mut a, b| { [INFO] [stderr] 512 | b.merge_into(&mut a, &blend_func); [INFO] [stderr] 513 | a [INFO] [stderr] 514 | }) { final_framebuffer.merge_into(framebuffer, &blend_func); } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/render/pipeline.rs:556:25 [INFO] [stderr] | [INFO] [stderr] 556 | let ref a = screen_vertices[triangle[0] as usize]; [INFO] [stderr] | ----^^^^^----------------------------------------- help: try: `let a = &screen_vertices[triangle[0] as usize];` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/render/pipeline.rs:557:25 [INFO] [stderr] | [INFO] [stderr] 557 | let ref b = screen_vertices[triangle[1] as usize]; [INFO] [stderr] | ----^^^^^----------------------------------------- help: try: `let b = &screen_vertices[triangle[1] as usize];` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/render/pipeline.rs:558:25 [INFO] [stderr] | [INFO] [stderr] 558 | let ref c = screen_vertices[triangle[2] as usize]; [INFO] [stderr] | ----^^^^^----------------------------------------- help: try: `let c = &screen_vertices[triangle[2] as usize];` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/render/pipeline.rs:567:21 [INFO] [stderr] | [INFO] [stderr] 567 | / if winding == if area2.is_sign_negative() { FaceWinding::Clockwise } else { FaceWinding::CounterClockwise } { [INFO] [stderr] 568 | | true [INFO] [stderr] 569 | | } else { [INFO] [stderr] 570 | | false [INFO] [stderr] 571 | | } [INFO] [stderr] | |_____________________^ help: you can reduce it to: `winding == if area2.is_sign_negative() { FaceWinding::Clockwise } else { FaceWinding::CounterClockwise }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/render/pipeline.rs:579:17 [INFO] [stderr] | [INFO] [stderr] 579 | let ref a = screen_vertices[triangle[0] as usize]; [INFO] [stderr] | ----^^^^^----------------------------------------- help: try: `let a = &screen_vertices[triangle[0] as usize];` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/render/pipeline.rs:580:17 [INFO] [stderr] | [INFO] [stderr] 580 | let ref b = screen_vertices[triangle[1] as usize]; [INFO] [stderr] | ----^^^^^----------------------------------------- help: try: `let b = &screen_vertices[triangle[1] as usize];` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/render/pipeline.rs:581:17 [INFO] [stderr] | [INFO] [stderr] 581 | let ref c = screen_vertices[triangle[2] as usize]; [INFO] [stderr] | ----^^^^^----------------------------------------- help: try: `let c = &screen_vertices[triangle[2] as usize];` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/render/pipeline.rs:655:9 [INFO] [stderr] | [INFO] [stderr] 655 | / partial_framebuffers.reduce_with(|mut a, b| { [INFO] [stderr] 656 | | b.merge_into(&mut a, &blend_func); [INFO] [stderr] 657 | | a [INFO] [stderr] 658 | | }).map(|final_framebuffer| { [INFO] [stderr] 659 | | // Merge final framebuffer into external framebuffer [INFO] [stderr] 660 | | final_framebuffer.merge_into(framebuffer, &blend_func); [INFO] [stderr] 661 | | }); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 655 | if let Some(final_framebuffer) = partial_framebuffers.reduce_with(|mut a, b| { [INFO] [stderr] 656 | b.merge_into(&mut a, &blend_func); [INFO] [stderr] 657 | a [INFO] [stderr] 658 | }) { final_framebuffer.merge_into(framebuffer, &blend_func); } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/render/pipeline.rs:221:25 [INFO] [stderr] | [INFO] [stderr] 221 | cull_faces: self.cull_faces.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.cull_faces` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/render/pipeline.rs:276:21 [INFO] [stderr] | [INFO] [stderr] 276 | let ref vertex = screen_vertices[index as usize]; [INFO] [stderr] | ----^^^^^^^^^^----------------------------------- help: try: `let vertex = &screen_vertices[index as usize];` [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: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/render/pipeline.rs:304:9 [INFO] [stderr] | [INFO] [stderr] 304 | / partial_framebuffers.reduce_with(|mut a, b| { [INFO] [stderr] 305 | | b.merge_into(&mut a, &blend_func); [INFO] [stderr] 306 | | a [INFO] [stderr] 307 | | }).map(|final_framebuffer| { [INFO] [stderr] 308 | | // Merge final framebuffer into external framebuffer [INFO] [stderr] 309 | | final_framebuffer.merge_into(framebuffer, &blend_func); [INFO] [stderr] 310 | | }); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::option_map_unit_fn)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 304 | if let Some(final_framebuffer) = partial_framebuffers.reduce_with(|mut a, b| { [INFO] [stderr] 305 | b.merge_into(&mut a, &blend_func); [INFO] [stderr] 306 | a [INFO] [stderr] 307 | }) { final_framebuffer.merge_into(framebuffer, &blend_func); } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/render/pipeline.rs:344:21 [INFO] [stderr] | [INFO] [stderr] 344 | let ref a = screen_vertices[line[0] as usize]; [INFO] [stderr] | ----^^^^^------------------------------------- help: try: `let a = &screen_vertices[line[0] as usize];` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/render/pipeline.rs:345:21 [INFO] [stderr] | [INFO] [stderr] 345 | let ref b = screen_vertices[line[1] as usize]; [INFO] [stderr] | ----^^^^^------------------------------------- help: try: `let b = &screen_vertices[line[1] as usize];` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: casting f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render/pipeline.rs:399:66 [INFO] [stderr] | [INFO] [stderr] 399 | ::render::line::draw_line_xiaolin_wu(x1 as f64, y1 as f64, x2 as f64, y2 as f64, plot_fragment); [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(x1)` [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 f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render/pipeline.rs:399:77 [INFO] [stderr] | [INFO] [stderr] 399 | ::render::line::draw_line_xiaolin_wu(x1 as f64, y1 as f64, x2 as f64, y2 as f64, plot_fragment); [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(y1)` [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 f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render/pipeline.rs:399:88 [INFO] [stderr] | [INFO] [stderr] 399 | ::render::line::draw_line_xiaolin_wu(x1 as f64, y1 as f64, x2 as f64, y2 as f64, plot_fragment); [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(x2)` [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 f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render/pipeline.rs:399:99 [INFO] [stderr] | [INFO] [stderr] 399 | ::render::line::draw_line_xiaolin_wu(x1 as f64, y1 as f64, x2 as f64, y2 as f64, plot_fragment); [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(y2)` [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: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/render/pipeline.rs:409:9 [INFO] [stderr] | [INFO] [stderr] 409 | / partial_framebuffers.reduce_with(|mut a, b| { [INFO] [stderr] 410 | | b.merge_into(&mut a, &blend_func); [INFO] [stderr] 411 | | a [INFO] [stderr] 412 | | }).map(|final_framebuffer| { [INFO] [stderr] 413 | | // Merge final framebuffer into external framebuffer [INFO] [stderr] 414 | | final_framebuffer.merge_into(framebuffer, &blend_func); [INFO] [stderr] 415 | | }); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 409 | if let Some(final_framebuffer) = partial_framebuffers.reduce_with(|mut a, b| { [INFO] [stderr] 410 | b.merge_into(&mut a, &blend_func); [INFO] [stderr] 411 | a [INFO] [stderr] 412 | }) { final_framebuffer.merge_into(framebuffer, &blend_func); } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/render/pipeline.rs:446:21 [INFO] [stderr] | [INFO] [stderr] 446 | let ref a = screen_vertices[triangle[0] as usize]; [INFO] [stderr] | ----^^^^^----------------------------------------- help: try: `let a = &screen_vertices[triangle[0] as usize];` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/render/pipeline.rs:447:21 [INFO] [stderr] | [INFO] [stderr] 447 | let ref b = screen_vertices[triangle[1] as usize]; [INFO] [stderr] | ----^^^^^----------------------------------------- help: try: `let b = &screen_vertices[triangle[1] as usize];` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/render/pipeline.rs:448:21 [INFO] [stderr] | [INFO] [stderr] 448 | let ref c = screen_vertices[triangle[2] as usize]; [INFO] [stderr] | ----^^^^^----------------------------------------- help: try: `let c = &screen_vertices[triangle[2] as usize];` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: casting f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render/pipeline.rs:502:66 [INFO] [stderr] | [INFO] [stderr] 502 | ::render::line::draw_line_xiaolin_wu(x1 as f64, y1 as f64, x2 as f64, y2 as f64, plot_fragment); [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(x1)` [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 f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render/pipeline.rs:502:77 [INFO] [stderr] | [INFO] [stderr] 502 | ::render::line::draw_line_xiaolin_wu(x1 as f64, y1 as f64, x2 as f64, y2 as f64, plot_fragment); [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(y1)` [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 f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render/pipeline.rs:502:88 [INFO] [stderr] | [INFO] [stderr] 502 | ::render::line::draw_line_xiaolin_wu(x1 as f64, y1 as f64, x2 as f64, y2 as f64, plot_fragment); [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(x2)` [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 f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render/pipeline.rs:502:99 [INFO] [stderr] | [INFO] [stderr] 502 | ::render::line::draw_line_xiaolin_wu(x1 as f64, y1 as f64, x2 as f64, y2 as f64, plot_fragment); [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(y2)` [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: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/render/pipeline.rs:511:9 [INFO] [stderr] | [INFO] [stderr] 511 | / partial_framebuffers.reduce_with(|mut a, b| { [INFO] [stderr] 512 | | b.merge_into(&mut a, &blend_func); [INFO] [stderr] 513 | | a [INFO] [stderr] 514 | | }).map(|final_framebuffer| { [INFO] [stderr] 515 | | // Merge final framebuffer into external framebuffer [INFO] [stderr] 516 | | final_framebuffer.merge_into(framebuffer, &blend_func); [INFO] [stderr] 517 | | }); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 511 | if let Some(final_framebuffer) = partial_framebuffers.reduce_with(|mut a, b| { [INFO] [stderr] 512 | b.merge_into(&mut a, &blend_func); [INFO] [stderr] 513 | a [INFO] [stderr] 514 | }) { final_framebuffer.merge_into(framebuffer, &blend_func); } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/render/pipeline.rs:556:25 [INFO] [stderr] | [INFO] [stderr] 556 | let ref a = screen_vertices[triangle[0] as usize]; [INFO] [stderr] | ----^^^^^----------------------------------------- help: try: `let a = &screen_vertices[triangle[0] as usize];` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/render/pipeline.rs:557:25 [INFO] [stderr] | [INFO] [stderr] 557 | let ref b = screen_vertices[triangle[1] as usize]; [INFO] [stderr] | ----^^^^^----------------------------------------- help: try: `let b = &screen_vertices[triangle[1] as usize];` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/render/pipeline.rs:558:25 [INFO] [stderr] | [INFO] [stderr] 558 | let ref c = screen_vertices[triangle[2] as usize]; [INFO] [stderr] | ----^^^^^----------------------------------------- help: try: `let c = &screen_vertices[triangle[2] as usize];` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/render/pipeline.rs:567:21 [INFO] [stderr] | [INFO] [stderr] 567 | / if winding == if area2.is_sign_negative() { FaceWinding::Clockwise } else { FaceWinding::CounterClockwise } { [INFO] [stderr] 568 | | true [INFO] [stderr] 569 | | } else { [INFO] [stderr] 570 | | false [INFO] [stderr] 571 | | } [INFO] [stderr] | |_____________________^ help: you can reduce it to: `winding == if area2.is_sign_negative() { FaceWinding::Clockwise } else { FaceWinding::CounterClockwise }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/render/pipeline.rs:579:17 [INFO] [stderr] | [INFO] [stderr] 579 | let ref a = screen_vertices[triangle[0] as usize]; [INFO] [stderr] | ----^^^^^----------------------------------------- help: try: `let a = &screen_vertices[triangle[0] as usize];` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/render/pipeline.rs:580:17 [INFO] [stderr] | [INFO] [stderr] 580 | let ref b = screen_vertices[triangle[1] as usize]; [INFO] [stderr] | ----^^^^^----------------------------------------- help: try: `let b = &screen_vertices[triangle[1] as usize];` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/render/pipeline.rs:581:17 [INFO] [stderr] | [INFO] [stderr] 581 | let ref c = screen_vertices[triangle[2] as usize]; [INFO] [stderr] | ----^^^^^----------------------------------------- help: try: `let c = &screen_vertices[triangle[2] as usize];` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/render/pipeline.rs:655:9 [INFO] [stderr] | [INFO] [stderr] 655 | / partial_framebuffers.reduce_with(|mut a, b| { [INFO] [stderr] 656 | | b.merge_into(&mut a, &blend_func); [INFO] [stderr] 657 | | a [INFO] [stderr] 658 | | }).map(|final_framebuffer| { [INFO] [stderr] 659 | | // Merge final framebuffer into external framebuffer [INFO] [stderr] 660 | | final_framebuffer.merge_into(framebuffer, &blend_func); [INFO] [stderr] 661 | | }); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 655 | if let Some(final_framebuffer) = partial_framebuffers.reduce_with(|mut a, b| { [INFO] [stderr] 656 | b.merge_into(&mut a, &blend_func); [INFO] [stderr] 657 | a [INFO] [stderr] 658 | }) { final_framebuffer.merge_into(framebuffer, &blend_func); } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 31.68s [INFO] running `"docker" "inspect" "236000d63a6df571e4e622eff37ae56273e8c581eb98945263dc5fc77f6cb561"` [INFO] running `"docker" "rm" "-f" "236000d63a6df571e4e622eff37ae56273e8c581eb98945263dc5fc77f6cb561"` [INFO] [stdout] 236000d63a6df571e4e622eff37ae56273e8c581eb98945263dc5fc77f6cb561