[INFO] cloning repository https://github.com/KamiAithein/rust_chip_8
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/KamiAithein/rust_chip_8" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKamiAithein%2Frust_chip_8", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKamiAithein%2Frust_chip_8'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9285aeb296217570a487596fcbef1398c402c969
[INFO] checking KamiAithein/rust_chip_8 against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKamiAithein%2Frust_chip_8" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/KamiAithein/rust_chip_8
[INFO] finished tweaking git repo https://github.com/KamiAithein/rust_chip_8
[INFO] tweaked toml for git repo https://github.com/KamiAithein/rust_chip_8 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/KamiAithein/rust_chip_8 on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/KamiAithein/rust_chip_8 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded bytemuck v1.14.0
[INFO] [stderr]   Downloaded miniquad v0.4.0-alpha.10
[INFO] [stderr]   Downloaded macroquad v0.4.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7322cdfdda23cf02e57d5c522ca25773e5d3584fdc4297ac88f9bfce10e1f3b9
[INFO] running `Command { std: "docker" "start" "-a" "7322cdfdda23cf02e57d5c522ca25773e5d3584fdc4297ac88f9bfce10e1f3b9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7322cdfdda23cf02e57d5c522ca25773e5d3584fdc4297ac88f9bfce10e1f3b9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7322cdfdda23cf02e57d5c522ca25773e5d3584fdc4297ac88f9bfce10e1f3b9", kill_on_drop: false }`
[INFO] [stdout] 7322cdfdda23cf02e57d5c522ca25773e5d3584fdc4297ac88f9bfce10e1f3b9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d2efd77d613e4d2bc1878c137611e947e0c18fdd400a9516fde8055955cd9b8e
[INFO] running `Command { std: "docker" "start" "-a" "d2efd77d613e4d2bc1878c137611e947e0c18fdd400a9516fde8055955cd9b8e", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.16
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]     Checking once_cell v1.18.0
[INFO] [stderr]    Compiling libc v0.2.148
[INFO] [stderr]    Compiling miniquad v0.4.0-alpha.10
[INFO] [stderr]     Checking bytemuck v1.14.0
[INFO] [stderr]     Checking ttf-parser v0.15.2
[INFO] [stderr]    Compiling ahash v0.8.3
[INFO] [stderr]    Compiling slotmap v1.0.6
[INFO] [stderr]     Checking glam v0.21.3
[INFO] [stderr]    Compiling macroquad_macro v0.1.7
[INFO] [stderr]     Checking quad-rand v0.2.1
[INFO] [stderr]     Checking bumpalo v3.14.0
[INFO] [stderr]     Checking flate2 v1.0.27
[INFO] [stderr]     Checking hashbrown v0.13.2
[INFO] [stderr]     Checking png v0.17.10
[INFO] [stderr]     Checking fontdue v0.7.3
[INFO] [stderr]     Checking num-rational v0.4.1
[INFO] [stderr]     Checking image v0.24.7
[INFO] [stderr]     Checking macroquad v0.4.4
[INFO] [stderr]     Checking rust_chip_8 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Ram`
[INFO] [stdout]  --> src/main.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use components::{Ram, drawer::Drawer, timer::SharedTimer};
[INFO] [stdout]   |                  ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::default`
[INFO] [stdout]  --> src/components/processor.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::default;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::drawer`
[INFO] [stdout]  --> src/components/processor.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::drawer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/components/processor.rs:188:72
[INFO] [stdout]     |
[INFO] [stdout] 188 |             return Ok(bytes.iter().fold(Output::default(), |acc, next| ((acc << shamt) | next.clone().into())));
[INFO] [stdout]     |                                                                        ^                                    ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 188 -             return Ok(bytes.iter().fold(Output::default(), |acc, next| ((acc << shamt) | next.clone().into())));
[INFO] [stdout] 188 +             return Ok(bytes.iter().fold(Output::default(), |acc, next| (acc << shamt) | next.clone().into() ));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SCR_H` and `SCR_W`
[INFO] [stdout]   --> src/components/drawer.rs:87:17
[INFO] [stdout]    |
[INFO] [stdout] 87 |     use super::{SCR_W, SCR_H};
[INFO] [stdout]    |                 ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ram`
[INFO] [stdout]  --> src/main.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use components::{Ram, drawer::Drawer, timer::SharedTimer};
[INFO] [stdout]   |                  ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::default`
[INFO] [stdout]  --> src/components/processor.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::default;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/components/processor.rs:188:72
[INFO] [stdout]     |
[INFO] [stdout] 188 |             return Ok(bytes.iter().fold(Output::default(), |acc, next| ((acc << shamt) | next.clone().into())));
[INFO] [stdout]     |                                                                        ^                                    ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 188 -             return Ok(bytes.iter().fold(Output::default(), |acc, next| ((acc << shamt) | next.clone().into())));
[INFO] [stdout] 188 +             return Ok(bytes.iter().fold(Output::default(), |acc, next| (acc << shamt) | next.clone().into() ));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SCR_H` and `SCR_W`
[INFO] [stdout]   --> src/components/drawer.rs:87:17
[INFO] [stdout]    |
[INFO] [stdout] 87 |     use super::{SCR_W, SCR_H};
[INFO] [stdout]    |                 ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `drawer::Drawer`
[INFO] [stdout]  --> src/main.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use components::{Ram, drawer::Drawer, timer::SharedTimer};
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `col`
[INFO] [stdout]   --> src/main.rs:27:102
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let drawer = components::drawer::macro_quad::MacroQuadDrawer::new((0..32).map(|row| (0..64).map(|col| false).collect()).collect());
[INFO] [stdout]    |                                                                                                      ^^^ help: if this is intentional, prefix it with an underscore: `_col`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `row`
[INFO] [stdout]   --> src/main.rs:27:84
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let drawer = components::drawer::macro_quad::MacroQuadDrawer::new((0..32).map(|row| (0..64).map(|col| false).collect()).collect());
[INFO] [stdout]    |                                                                                    ^^^ help: if this is intentional, prefix it with an underscore: `_row`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SPRITE_SIZE_BYTES` is never used
[INFO] [stdout]  --> src/components/processor.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const SPRITE_SIZE_BYTES: usize = 5;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SCR_W` is never used
[INFO] [stdout]  --> src/components/drawer.rs:1:7
[INFO] [stdout]   |
[INFO] [stdout] 1 | const SCR_W: usize = 100;
[INFO] [stdout]   |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SCR_H` is never used
[INFO] [stdout]  --> src/components/drawer.rs:2:7
[INFO] [stdout]   |
[INFO] [stdout] 2 | const SCR_H: usize = 100; 
[INFO] [stdout]   |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GenericDrawer` is never constructed
[INFO] [stdout]   --> src/components/drawer.rs:16:16
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub struct GenericDrawer {
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/components/drawer.rs:77:16
[INFO] [stdout]    |
[INFO] [stdout] 76 |     impl GenericDrawer {
[INFO] [stdout]    |     ------------------ associated function in this implementation
[INFO] [stdout] 77 |         pub fn new(buffer: Vec<Vec<bool>>) -> GenericDrawer {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/components/processor.rs:172:92
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub fn concat_bytes<'a, Input, Output>(bytes: &'a [Input], shamt: usize) -> Result<Output, &str> 
[INFO] [stdout]     |                                                -- the lifetime is named here               ^^^^ the same lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub fn concat_bytes<'a, Input, Output>(bytes: &'a [Input], shamt: usize) -> Result<Output, &'a str> 
[INFO] [stdout]     |                                                                                             ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/components/processor.rs:191:96
[INFO] [stdout]     |
[INFO] [stdout] 191 | pub fn try_concat_bytes<'a, Input, Output>(bytes: &'a [Input], shamt: usize) -> Result<Output, &str> 
[INFO] [stdout]     |                                                    -- the lifetime is named here               ^^^^ the same lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 191 | pub fn try_concat_bytes<'a, Input, Output>(bytes: &'a [Input], shamt: usize) -> Result<Output, &'a str> 
[INFO] [stdout]     |                                                                                                 ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `drawer::Drawer`
[INFO] [stdout]  --> src/main.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use components::{Ram, drawer::Drawer, timer::SharedTimer};
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `col`
[INFO] [stdout]   --> src/main.rs:27:102
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let drawer = components::drawer::macro_quad::MacroQuadDrawer::new((0..32).map(|row| (0..64).map(|col| false).collect()).collect());
[INFO] [stdout]    |                                                                                                      ^^^ help: if this is intentional, prefix it with an underscore: `_col`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `row`
[INFO] [stdout]   --> src/main.rs:27:84
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let drawer = components::drawer::macro_quad::MacroQuadDrawer::new((0..32).map(|row| (0..64).map(|col| false).collect()).collect());
[INFO] [stdout]    |                                                                                    ^^^ help: if this is intentional, prefix it with an underscore: `_row`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SPRITE_SIZE_BYTES` is never used
[INFO] [stdout]  --> src/components/processor.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const SPRITE_SIZE_BYTES: usize = 5;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SCR_W` is never used
[INFO] [stdout]  --> src/components/drawer.rs:1:7
[INFO] [stdout]   |
[INFO] [stdout] 1 | const SCR_W: usize = 100;
[INFO] [stdout]   |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SCR_H` is never used
[INFO] [stdout]  --> src/components/drawer.rs:2:7
[INFO] [stdout]   |
[INFO] [stdout] 2 | const SCR_H: usize = 100; 
[INFO] [stdout]   |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/components/drawer.rs:77:16
[INFO] [stdout]    |
[INFO] [stdout] 76 |     impl GenericDrawer {
[INFO] [stdout]    |     ------------------ associated function in this implementation
[INFO] [stdout] 77 |         pub fn new(buffer: Vec<Vec<bool>>) -> GenericDrawer {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/components/processor.rs:172:92
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub fn concat_bytes<'a, Input, Output>(bytes: &'a [Input], shamt: usize) -> Result<Output, &str> 
[INFO] [stdout]     |                                                -- the lifetime is named here               ^^^^ the same lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub fn concat_bytes<'a, Input, Output>(bytes: &'a [Input], shamt: usize) -> Result<Output, &'a str> 
[INFO] [stdout]     |                                                                                             ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/components/processor.rs:191:96
[INFO] [stdout]     |
[INFO] [stdout] 191 | pub fn try_concat_bytes<'a, Input, Output>(bytes: &'a [Input], shamt: usize) -> Result<Output, &str> 
[INFO] [stdout]     |                                                    -- the lifetime is named here               ^^^^ the same lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 191 | pub fn try_concat_bytes<'a, Input, Output>(bytes: &'a [Input], shamt: usize) -> Result<Output, &'a str> 
[INFO] [stdout]     |                                                                                                 ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.87s
[INFO] running `Command { std: "docker" "inspect" "d2efd77d613e4d2bc1878c137611e947e0c18fdd400a9516fde8055955cd9b8e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d2efd77d613e4d2bc1878c137611e947e0c18fdd400a9516fde8055955cd9b8e", kill_on_drop: false }`
[INFO] [stdout] d2efd77d613e4d2bc1878c137611e947e0c18fdd400a9516fde8055955cd9b8e
