[INFO] cloning repository https://github.com/chrisbutcher/gameboy [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/chrisbutcher/gameboy" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fchrisbutcher%2Fgameboy", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fchrisbutcher%2Fgameboy'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] ac1093be588df5877f95b9af50a5bb970b788c08 [INFO] testing chrisbutcher/gameboy against 1.60.0 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fchrisbutcher%2Fgameboy" "/workspace/builds/worker-33/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-33/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/chrisbutcher/gameboy on toolchain 1.60.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/chrisbutcher/gameboy [INFO] finished tweaking git repo https://github.com/chrisbutcher/gameboy [INFO] tweaked toml for git repo https://github.com/chrisbutcher/gameboy written to /workspace/builds/worker-33/source/Cargo.toml [INFO] crate git repo https://github.com/chrisbutcher/gameboy already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-33/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-33/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3b9e296cf67ab45670db37887c9c31d29deaf9c44e20b5e0671d26a04f16d359 [INFO] running `Command { std: "docker" "start" "-a" "3b9e296cf67ab45670db37887c9c31d29deaf9c44e20b5e0671d26a04f16d359", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3b9e296cf67ab45670db37887c9c31d29deaf9c44e20b5e0671d26a04f16d359", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3b9e296cf67ab45670db37887c9c31d29deaf9c44e20b5e0671d26a04f16d359", kill_on_drop: false }` [INFO] [stdout] 3b9e296cf67ab45670db37887c9c31d29deaf9c44e20b5e0671d26a04f16d359 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-33/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-33/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8610c1dbcc662f0205d06cffaae31a9ebbdcef41d7fc4ce32d022e1514b39090 [INFO] running `Command { std: "docker" "start" "-a" "8610c1dbcc662f0205d06cffaae31a9ebbdcef41d7fc4ce32d022e1514b39090", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.20 [INFO] [stderr] Compiling winapi-build v0.1.1 [INFO] [stderr] Compiling winapi v0.2.8 [INFO] [stderr] Compiling num-traits v0.1.37 [INFO] [stderr] Compiling cfg-if v0.1.2 [INFO] [stderr] Compiling regex-syntax v0.3.9 [INFO] [stderr] Compiling utf8-ranges v0.1.3 [INFO] [stderr] Compiling unicode-width v0.1.4 [INFO] [stderr] Compiling bitflags v0.7.0 [INFO] [stderr] Compiling vec_map v0.8.0 [INFO] [stderr] Compiling log v0.3.6 [INFO] [stderr] Compiling gameboy v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Compiling unicode-segmentation v1.1.0 [INFO] [stderr] Compiling lazy_static v0.2.4 [INFO] [stderr] Compiling strsim v0.6.0 [INFO] [stderr] Compiling bitflags v0.9.1 [INFO] [stderr] Compiling ansi_term v0.9.0 [INFO] [stderr] Compiling sdl2-sys v0.31.0 [INFO] [stderr] Compiling kernel32-sys v0.2.2 [INFO] [stderr] Compiling memchr v0.1.11 [INFO] [stderr] Compiling term_size v0.3.0 [INFO] [stderr] Compiling atty v0.2.2 [INFO] [stderr] Compiling rand v0.3.15 [INFO] [stderr] Compiling time v0.1.36 [INFO] [stderr] Compiling num-integer v0.1.33 [INFO] [stderr] Compiling textwrap v0.6.0 [INFO] [stderr] Compiling aho-corasick v0.5.3 [INFO] [stderr] Compiling num-iter v0.1.33 [INFO] [stderr] Compiling thread-id v2.0.0 [INFO] [stderr] Compiling clap v2.25.0 [INFO] [stderr] Compiling thread_local v0.2.7 [INFO] [stderr] Compiling num v0.1.37 [INFO] [stderr] Compiling sdl2 v0.31.0 [INFO] [stderr] Compiling regex v0.1.80 [INFO] [stderr] Compiling env_logger v0.3.5 [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/mmu.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | 0x0000...0x7FFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/mmu.rs:90:13 [INFO] [stdout] | [INFO] [stdout] 90 | 0x8000...0x9FFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/mmu.rs:93:13 [INFO] [stdout] | [INFO] [stdout] 93 | 0xA000...0xBFFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/mmu.rs:96:13 [INFO] [stdout] | [INFO] [stdout] 96 | 0xC000...0xDFFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/mmu.rs:99:13 [INFO] [stdout] | [INFO] [stdout] 99 | 0xE000...0xFDFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/mmu.rs:102:13 [INFO] [stdout] | [INFO] [stdout] 102 | 0xFE00...0xFE9F => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/mmu.rs:108:13 [INFO] [stdout] | [INFO] [stdout] 108 | 0xFF04...0xFF07 => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/mmu.rs:111:13 [INFO] [stdout] | [INFO] [stdout] 111 | 0xFF01...0xFF0E => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/mmu.rs:117:13 [INFO] [stdout] | [INFO] [stdout] 117 | 0xFF10...0xFF3F => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/mmu.rs:120:20 [INFO] [stdout] | [INFO] [stdout] 120 | addr @ 0xFF40...0xFF7F => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/mmu.rs:122:17 [INFO] [stdout] | [INFO] [stdout] 122 | 0xFF40...0xFF7F => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/mmu.rs:129:13 [INFO] [stdout] | [INFO] [stdout] 129 | 0xFF80...0xFFFE => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/mmu.rs:145:13 [INFO] [stdout] | [INFO] [stdout] 145 | 0x0000...0x7FFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/mmu.rs:147:13 [INFO] [stdout] | [INFO] [stdout] 147 | 0x8000...0x9FFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/mmu.rs:155:13 [INFO] [stdout] | [INFO] [stdout] 155 | 0xA000...0xBFFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/mmu.rs:158:13 [INFO] [stdout] | [INFO] [stdout] 158 | 0xC000...0xDFFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/mmu.rs:161:13 [INFO] [stdout] | [INFO] [stdout] 161 | 0xE000...0xFDFF => self.write(address - 0xC000 - 0x2000, data), // ECHO work ram [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/mmu.rs:162:13 [INFO] [stdout] | [INFO] [stdout] 162 | 0xFE00...0xFE9F => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/mmu.rs:170:13 [INFO] [stdout] | [INFO] [stdout] 170 | 0xFEA0...0xFEFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/mmu.rs:175:13 [INFO] [stdout] | [INFO] [stdout] 175 | 0xFF04...0xFF07 => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/mmu.rs:178:13 [INFO] [stdout] | [INFO] [stdout] 178 | 0xFF01...0xFF0E => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/mmu.rs:184:13 [INFO] [stdout] | [INFO] [stdout] 184 | 0xFF10...0xFF3F => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/mmu.rs:187:13 [INFO] [stdout] | [INFO] [stdout] 187 | 0xFF40...0xFF45 | 0xFF47...0xFF7F => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/mmu.rs:187:31 [INFO] [stdout] | [INFO] [stdout] 187 | 0xFF40...0xFF45 | 0xFF47...0xFF7F => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/mmu.rs:197:13 [INFO] [stdout] | [INFO] [stdout] 197 | 0xFF80...0xFFFE => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused label [INFO] [stdout] --> src/main.rs:154:5 [INFO] [stdout] | [INFO] [stdout] 154 | 'frame_limiter: loop { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_labels)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/cpu/opcode_cycles.rs:260:5 [INFO] [stdout] | [INFO] [stdout] 260 | _ => panic!("Unexpected opcode: {:#X}", opcode), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/cpu/opcode_cycles.rs:522:5 [INFO] [stdout] | [INFO] [stdout] 522 | _ => panic!("Unexpected opcode: {:#X}", opcode), [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/cpu/mod.rs:1615:7 [INFO] [stdout] | [INFO] [stdout] 1615 | _ => self.explode(format!("Unexpected CB opcode: {:#X}", opcode)), [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/mmu.rs:203:7 [INFO] [stdout] | [INFO] [stdout] 203 | _ => { [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `index` [INFO] [stdout] --> src/ppu.rs:14:3 [INFO] [stdout] | [INFO] [stdout] 14 | index: usize, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] note: `Sprite` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/ppu.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(Clone, Copy, Debug)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/cpu/mod.rs:180:12 [INFO] [stdout] | [INFO] [stdout] 180 | panic!(message) [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 180 | panic!("{}", message) [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `core::num::::wrapping_sub` that must be used [INFO] [stdout] --> src/gb.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | cycles_this_frame.wrapping_sub(cycles_per_frame); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this returns the result of the operation, without modifying the original [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: linking with `cc` failed: exit status: 1 [INFO] [stdout] | [INFO] [stdout] = note: "cc" "-m64" "/opt/rustwide/target/debug/deps/gameboy-172fed9ecfa34271.gameboy.a024d5eb-cgu.0.rcgu.o" "/opt/rustwide/target/debug/deps/gameboy-172fed9ecfa34271.gameboy.a024d5eb-cgu.1.rcgu.o" "/opt/rustwide/target/debug/deps/gameboy-172fed9ecfa34271.gameboy.a024d5eb-cgu.10.rcgu.o" "/opt/rustwide/target/debug/deps/gameboy-172fed9ecfa34271.gameboy.a024d5eb-cgu.11.rcgu.o" "/opt/rustwide/target/debug/deps/gameboy-172fed9ecfa34271.gameboy.a024d5eb-cgu.12.rcgu.o" "/opt/rustwide/target/debug/deps/gameboy-172fed9ecfa34271.gameboy.a024d5eb-cgu.13.rcgu.o" "/opt/rustwide/target/debug/deps/gameboy-172fed9ecfa34271.gameboy.a024d5eb-cgu.14.rcgu.o" "/opt/rustwide/target/debug/deps/gameboy-172fed9ecfa34271.gameboy.a024d5eb-cgu.15.rcgu.o" "/opt/rustwide/target/debug/deps/gameboy-172fed9ecfa34271.gameboy.a024d5eb-cgu.2.rcgu.o" "/opt/rustwide/target/debug/deps/gameboy-172fed9ecfa34271.gameboy.a024d5eb-cgu.3.rcgu.o" "/opt/rustwide/target/debug/deps/gameboy-172fed9ecfa34271.gameboy.a024d5eb-cgu.4.rcgu.o" "/opt/rustwide/target/debug/deps/gameboy-172fed9ecfa34271.gameboy.a024d5eb-cgu.5.rcgu.o" "/opt/rustwide/target/debug/deps/gameboy-172fed9ecfa34271.gameboy.a024d5eb-cgu.6.rcgu.o" "/opt/rustwide/target/debug/deps/gameboy-172fed9ecfa34271.gameboy.a024d5eb-cgu.7.rcgu.o" "/opt/rustwide/target/debug/deps/gameboy-172fed9ecfa34271.gameboy.a024d5eb-cgu.8.rcgu.o" "/opt/rustwide/target/debug/deps/gameboy-172fed9ecfa34271.gameboy.a024d5eb-cgu.9.rcgu.o" "/opt/rustwide/target/debug/deps/gameboy-172fed9ecfa34271.zgsstm08qaj0eka.rcgu.o" "-Wl,--as-needed" "-L" "/opt/rustwide/target/debug/deps" "-L" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/opt/rustwide/target/debug/deps/libsdl2-08981427d1a6c847.rlib" "/opt/rustwide/target/debug/deps/librand-c152e41c033c1beb.rlib" "/opt/rustwide/target/debug/deps/libsdl2_sys-bbd4ef08dcb96232.rlib" "/opt/rustwide/target/debug/deps/libbitflags-b50f842450d10e09.rlib" "/opt/rustwide/target/debug/deps/liblazy_static-be23d859b68a7537.rlib" "/opt/rustwide/target/debug/deps/libnum-a6becbb9e37c3348.rlib" "/opt/rustwide/target/debug/deps/libnum_iter-ed9dffd7222f32fe.rlib" "/opt/rustwide/target/debug/deps/libnum_integer-c6c1856adbbf8e4d.rlib" "/opt/rustwide/target/debug/deps/libnum_traits-d82c685371e6e251.rlib" "/opt/rustwide/target/debug/deps/libenv_logger-8055fceb3e5468b9.rlib" "/opt/rustwide/target/debug/deps/libregex-9a3bf73a5ec1ca93.rlib" "/opt/rustwide/target/debug/deps/libutf8_ranges-62490047eda1d3d0.rlib" "/opt/rustwide/target/debug/deps/libregex_syntax-17160ad4c7c5100a.rlib" "/opt/rustwide/target/debug/deps/libthread_local-444ade754f75c968.rlib" "/opt/rustwide/target/debug/deps/libthread_id-996852f6c59ec5fc.rlib" "/opt/rustwide/target/debug/deps/libaho_corasick-3201dbfeef517ffc.rlib" "/opt/rustwide/target/debug/deps/libmemchr-2604387d6f75a29e.rlib" "/opt/rustwide/target/debug/deps/liblog-4d5bc28897bd511b.rlib" "/opt/rustwide/target/debug/deps/libtime-8f2a647aad916e1b.rlib" "/opt/rustwide/target/debug/deps/libclap-6106f8e299de2a90.rlib" "/opt/rustwide/target/debug/deps/libatty-6fb9045138446695.rlib" "/opt/rustwide/target/debug/deps/libunicode_segmentation-3e685e83a507cd36.rlib" "/opt/rustwide/target/debug/deps/libtextwrap-55ff323644831508.rlib" "/opt/rustwide/target/debug/deps/libterm_size-635ebcfe6c2e5bfa.rlib" "/opt/rustwide/target/debug/deps/liblibc-ffe6c000688bfc3c.rlib" "/opt/rustwide/target/debug/deps/libvec_map-28fa16511b9225dc.rlib" "/opt/rustwide/target/debug/deps/libbitflags-cf6ff12e74f7ce64.rlib" "/opt/rustwide/target/debug/deps/libunicode_width-89bcadaa3763d493.rlib" "/opt/rustwide/target/debug/deps/libansi_term-b8771788a2295e1a.rlib" "/opt/rustwide/target/debug/deps/libstrsim-3330fee0c64fa84e.rlib" "-Wl,--start-group" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-8d61b92a0a02f53a.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-fc45202bb435016b.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-f2400674c7513725.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-605c3a7d1a5d300d.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-3d4fb4efa907e4e8.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-65207f030ab23308.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-76ca199cb0186109.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-1e3e01ed4f561dc1.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-dd8dddcba7c13fee.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-00b13d31c3420656.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-e4c8460b81557bd5.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-600d46e5f0005455.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-e4a08a2585b62d37.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-fbc21ec567cb9dc7.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-10b3fa8e49bd978f.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-64625b73694ffce7.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-fb6b78ac543a58ee.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-1d1f2d1bec6f51b8.rlib" "-Wl,--end-group" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-acf5ff6e9595d982.rlib" "-Wl,-Bdynamic" "-lSDL2_image" "-lSDL2" "-lutil" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/deps/gameboy-172fed9ecfa34271" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro,-znow" "-nodefaultlibs" [INFO] [stdout] = note: /usr/bin/ld: cannot find -lSDL2_image [INFO] [stdout] collect2: error: ld returned 1 exit status [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to previous error; 33 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `gameboy` due to 2 previous errors; 33 warnings emitted [INFO] running `Command { std: "docker" "inspect" "8610c1dbcc662f0205d06cffaae31a9ebbdcef41d7fc4ce32d022e1514b39090", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8610c1dbcc662f0205d06cffaae31a9ebbdcef41d7fc4ce32d022e1514b39090", kill_on_drop: false }` [INFO] [stdout] 8610c1dbcc662f0205d06cffaae31a9ebbdcef41d7fc4ce32d022e1514b39090