[INFO] cloning repository https://github.com/marethyu/nesty
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/marethyu/nesty" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmarethyu%2Fnesty", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmarethyu%2Fnesty'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] bb358dc0f6f5d00cefd1927f64879abb85446a1d
[INFO] testing marethyu/nesty against 1.85.0 for beta-1.86-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmarethyu%2Fnesty" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/marethyu/nesty on toolchain 1.85.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.85.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/marethyu/nesty
[INFO] finished tweaking git repo https://github.com/marethyu/nesty
[INFO] tweaked toml for git repo https://github.com/marethyu/nesty written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/marethyu/nesty already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.85.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded version-compare v0.0.10
[INFO] [stderr]   Downloaded which v4.2.5
[INFO] [stderr]   Downloaded native-dialog v0.6.3
[INFO] [stderr]   Downloaded proc-bitfield-macros v0.1.0
[INFO] [stderr]   Downloaded wfd v0.1.7
[INFO] [stderr]   Downloaded redox_syscall v0.2.15
[INFO] [stderr]   Downloaded sdl2 v0.34.5
[INFO] [stderr]   Downloaded proc-bitfield v0.1.1
[INFO] [stderr]   Downloaded sdl2-sys v0.34.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+1.85.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 43adb8d07f066b59ab7ab9d4081fd25ed2da793618dd08f0d37441f072585fbc
[INFO] running `Command { std: "docker" "start" "-a" "43adb8d07f066b59ab7ab9d4081fd25ed2da793618dd08f0d37441f072585fbc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "43adb8d07f066b59ab7ab9d4081fd25ed2da793618dd08f0d37441f072585fbc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "43adb8d07f066b59ab7ab9d4081fd25ed2da793618dd08f0d37441f072585fbc", kill_on_drop: false }`
[INFO] [stdout] 43adb8d07f066b59ab7ab9d4081fd25ed2da793618dd08f0d37441f072585fbc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+1.85.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 603372bbe12c700a6db204ababce27ce68faabdbcf4e5c1c78ec69d36b37d8c7
[INFO] running `Command { std: "docker" "start" "-a" "603372bbe12c700a6db204ababce27ce68faabdbcf4e5c1c78ec69d36b37d8c7", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.40
[INFO] [stderr]    Compiling quote v1.0.20
[INFO] [stderr]    Compiling unicode-ident v1.0.2
[INFO] [stderr]    Compiling syn v1.0.98
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.82
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]    Compiling once_cell v1.13.0
[INFO] [stderr]    Compiling bumpalo v3.10.0
[INFO] [stderr]    Compiling version-compare v0.0.10
[INFO] [stderr]    Compiling wasm-bindgen v0.2.82
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling serde v1.0.140
[INFO] [stderr]    Compiling sdl2 v0.34.5
[INFO] [stderr]    Compiling serde_json v1.0.82
[INFO] [stderr]    Compiling cty v0.2.2
[INFO] [stderr]    Compiling dirs-sys-next v0.1.2
[INFO] [stderr]    Compiling byteorder v1.4.3
[INFO] [stderr]    Compiling either v1.7.0
[INFO] [stderr]    Compiling raw-window-handle v0.4.3
[INFO] [stderr]    Compiling itoa v1.0.2
[INFO] [stderr]    Compiling ryu v1.0.10
[INFO] [stderr]    Compiling sdl2-sys v0.34.5
[INFO] [stderr]    Compiling dirs-next v2.0.0
[INFO] [stderr]    Compiling which v4.2.5
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.82
[INFO] [stderr]    Compiling proc-bitfield-macros v0.1.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.31
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.82
[INFO] [stderr]    Compiling thiserror v1.0.31
[INFO] [stderr]    Compiling native-dialog v0.6.3
[INFO] [stderr]    Compiling proc-bitfield v0.1.1
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.82
[INFO] [stderr]    Compiling nesty v0.1.0 (/opt/rustwide/workdir/nesty)
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> nesty/src/mapper/mapper0.rs:61:45
[INFO] [stdout]    |
[INFO] [stdout] 61 |     fn ppu_write_byte(&mut self, addr: u16, data: u8) {
[INFO] [stdout]    |                                             ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> nesty/src/bus.rs:115:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |             _ => panic!("Address out of bounds: {:04X}", addr)
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> nesty/src/bus.rs:115:13
[INFO] [stdout]     |
[INFO] [stdout] 106 |             0x0000..=0x1FFF => self.ram[mirror!(0x0000, addr, RAM_SIZE)],
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] 107 |             0x2000..=0x3FFF => self.ppu().borrow_mut().read_register(mirror!(0x2000, addr, PPU_REG_COUNT)),
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] 108 |             0x4000..=0x401F => {
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 114 |             0x4020..=0xFFFF => self.cart().borrow_mut().read_byte(addr),
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] 115 |             _ => panic!("Address out of bounds: {:04X}", addr)
[INFO] [stdout]     |             ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> nesty/src/bus.rs:146:13
[INFO] [stdout]     |
[INFO] [stdout] 146 |             _ => panic!("Address out of bounds: {:04X}", addr)
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> nesty/src/bus.rs:146:13
[INFO] [stdout]     |
[INFO] [stdout] 127 |             0x0000..=0x1FFF => { self.ram[mirror!(0x0000, addr, RAM_SIZE)] = data; }
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] 128 |             0x2000..=0x3FFF => { self.ppu().borrow_mut().write_register(mirror!(0x2000, addr, PPU_REG_COUNT), data); }
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] 129 |             0x4000..=0x401F => {
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 145 |             0x4020..=0xFFFF => { self.cart().borrow_mut().write_byte(addr, data); }
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] 146 |             _ => panic!("Address out of bounds: {:04X}", addr)
[INFO] [stdout]     |             ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `write_word` is never used
[INFO] [stdout]  --> nesty/src/io.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub trait IO {
[INFO] [stdout]   |           -- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 5 |     fn write_word(&mut self, addr: u16, data: u16);
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FLAG_U` is never used
[INFO] [stdout]   --> nesty/src/m6502.rs:38:7
[INFO] [stdout]    |
[INFO] [stdout] 38 | const FLAG_U: u8 = 5; // unused
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FLAG_B` is never used
[INFO] [stdout]   --> nesty/src/m6502.rs:39:7
[INFO] [stdout]    |
[INFO] [stdout] 39 | const FLAG_B: u8 = 4;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `cpu_write_word` is never used
[INFO] [stdout]    --> nesty/src/m6502.rs:658:8
[INFO] [stdout]     |
[INFO] [stdout] 81  | impl M6502 {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 658 |     fn cpu_write_word(&mut self, addr: u16, data: u16) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> nesty/src/ppu.rs:799:29
[INFO] [stdout]     |
[INFO] [stdout] 799 |                         if (a >= 0x000 && a < 0x400) || (a >= 0x800 && a < 0xC00) {
[INFO] [stdout]     |                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> nesty/src/ppu.rs:812:28
[INFO] [stdout]     |
[INFO] [stdout] 812 |                         if a >= 0x000 && a < 0x800 {
[INFO] [stdout]     |                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> nesty/src/ppu.rs:857:29
[INFO] [stdout]     |
[INFO] [stdout] 857 |                         if (a >= 0x000 && a < 0x400) || (a >= 0x800 && a < 0xC00) {
[INFO] [stdout]     |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> nesty/src/ppu.rs:870:28
[INFO] [stdout]     |
[INFO] [stdout] 870 |                         if a >= 0x000 && a < 0x800 {
[INFO] [stdout]     |                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling nesty-desktop-sdl2 v0.1.0 (/opt/rustwide/workdir/platform/desktop-sdl2)
[INFO] [stderr]    Compiling js-sys v0.3.59
[INFO] [stderr]    Compiling console_error_panic_hook v0.1.7
[INFO] [stderr]    Compiling web-sys v0.3.59
[INFO] [stderr]    Compiling nesty-web v0.1.0 (/opt/rustwide/workdir/platform/web)
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> platform/web/src/lib.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |                 window.alert_with_message(&err);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 69 |                 let _ = window.alert_with_message(&err);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> platform/web/src/lib.rs:104:21
[INFO] [stdout]     |
[INFO] [stdout] 104 |                     storage.set_item("nesty-save-state", &serialized_json);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 104 |                     let _ = storage.set_item("nesty-save-state", &serialized_json);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> platform/web/src/lib.rs:105:21
[INFO] [stdout]     |
[INFO] [stdout] 105 |                     window.alert_with_message("State saved!");
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 105 |                     let _ = window.alert_with_message("State saved!");
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> platform/web/src/lib.rs:113:21
[INFO] [stdout]     |
[INFO] [stdout] 113 |                     window.alert_with_message("State loaded!");
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 113 |                     let _ = window.alert_with_message("State loaded!");
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> platform/web/src/lib.rs:154:9
[INFO] [stdout]     |
[INFO] [stdout] 154 |         ctx.put_image_data(&img_data, 0.0, 0.0);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 154 |         let _ = ctx.put_image_data(&img_data, 0.0, 0.0);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> platform/web/src/lib.rs:155:9
[INFO] [stdout]     |
[INFO] [stdout] 155 | ...   display_ctx.draw_image_with_html_canvas_element_and_dw_and_dh(&fake_canvas, 0.0, 0.0, (2 * ppu::WIDTH) as f64, (2 * ppu::HEIGHT) as f6...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 155 |         let _ = display_ctx.draw_image_with_html_canvas_element_and_dw_and_dh(&fake_canvas, 0.0, 0.0, (2 * ppu::WIDTH) as f64, (2 * ppu::HEIGHT) as f64);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 22.19s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: wasm-bindgen v0.2.82
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 6`
[INFO] running `Command { std: "docker" "inspect" "603372bbe12c700a6db204ababce27ce68faabdbcf4e5c1c78ec69d36b37d8c7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "603372bbe12c700a6db204ababce27ce68faabdbcf4e5c1c78ec69d36b37d8c7", kill_on_drop: false }`
[INFO] [stdout] 603372bbe12c700a6db204ababce27ce68faabdbcf4e5c1c78ec69d36b37d8c7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+1.85.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0e59c484e55c16d2dec5c82ddc4ca41a9cdb638f532d086a60a1f765283f8205
[INFO] running `Command { std: "docker" "start" "-a" "0e59c484e55c16d2dec5c82ddc4ca41a9cdb638f532d086a60a1f765283f8205", kill_on_drop: false }`
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> nesty/src/mapper/mapper0.rs:61:45
[INFO] [stdout]    |
[INFO] [stdout] 61 |     fn ppu_write_byte(&mut self, addr: u16, data: u8) {
[INFO] [stdout]    |                                             ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> nesty/src/bus.rs:115:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |             _ => panic!("Address out of bounds: {:04X}", addr)
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> nesty/src/bus.rs:115:13
[INFO] [stdout]     |
[INFO] [stdout] 106 |             0x0000..=0x1FFF => self.ram[mirror!(0x0000, addr, RAM_SIZE)],
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] 107 |             0x2000..=0x3FFF => self.ppu().borrow_mut().read_register(mirror!(0x2000, addr, PPU_REG_COUNT)),
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] 108 |             0x4000..=0x401F => {
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 114 |             0x4020..=0xFFFF => self.cart().borrow_mut().read_byte(addr),
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] 115 |             _ => panic!("Address out of bounds: {:04X}", addr)
[INFO] [stdout]     |             ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> nesty/src/bus.rs:146:13
[INFO] [stdout]     |
[INFO] [stdout] 146 |             _ => panic!("Address out of bounds: {:04X}", addr)
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> nesty/src/bus.rs:146:13
[INFO] [stdout]     |
[INFO] [stdout] 127 |             0x0000..=0x1FFF => { self.ram[mirror!(0x0000, addr, RAM_SIZE)] = data; }
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] 128 |             0x2000..=0x3FFF => { self.ppu().borrow_mut().write_register(mirror!(0x2000, addr, PPU_REG_COUNT), data); }
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] 129 |             0x4000..=0x401F => {
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 145 |             0x4020..=0xFFFF => { self.cart().borrow_mut().write_byte(addr, data); }
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] 146 |             _ => panic!("Address out of bounds: {:04X}", addr)
[INFO] [stdout]     |             ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `write_word` is never used
[INFO] [stdout]  --> nesty/src/io.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub trait IO {
[INFO] [stdout]   |           -- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 5 |     fn write_word(&mut self, addr: u16, data: u16);
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FLAG_U` is never used
[INFO] [stdout]   --> nesty/src/m6502.rs:38:7
[INFO] [stdout]    |
[INFO] [stdout] 38 | const FLAG_U: u8 = 5; // unused
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FLAG_B` is never used
[INFO] [stdout]   --> nesty/src/m6502.rs:39:7
[INFO] [stdout]    |
[INFO] [stdout] 39 | const FLAG_B: u8 = 4;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `cpu_write_word` is never used
[INFO] [stdout]    --> nesty/src/m6502.rs:658:8
[INFO] [stdout]     |
[INFO] [stdout] 81  | impl M6502 {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 658 |     fn cpu_write_word(&mut self, addr: u16, data: u16) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> nesty/src/ppu.rs:799:29
[INFO] [stdout]     |
[INFO] [stdout] 799 |                         if (a >= 0x000 && a < 0x400) || (a >= 0x800 && a < 0xC00) {
[INFO] [stdout]     |                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> nesty/src/ppu.rs:812:28
[INFO] [stdout]     |
[INFO] [stdout] 812 |                         if a >= 0x000 && a < 0x800 {
[INFO] [stdout]     |                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling nesty v0.1.0 (/opt/rustwide/workdir/nesty)
[INFO] [stderr]    Compiling nesty-desktop-sdl2 v0.1.0 (/opt/rustwide/workdir/platform/desktop-sdl2)
[INFO] [stderr]    Compiling nesty-web v0.1.0 (/opt/rustwide/workdir/platform/web)
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> nesty/src/ppu.rs:857:29
[INFO] [stdout]     |
[INFO] [stdout] 857 |                         if (a >= 0x000 && a < 0x400) || (a >= 0x800 && a < 0xC00) {
[INFO] [stdout]     |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> nesty/src/ppu.rs:870:28
[INFO] [stdout]     |
[INFO] [stdout] 870 |                         if a >= 0x000 && a < 0x800 {
[INFO] [stdout]     |                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> platform/web/src/lib.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |                 window.alert_with_message(&err);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 69 |                 let _ = window.alert_with_message(&err);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> platform/web/src/lib.rs:104:21
[INFO] [stdout]     |
[INFO] [stdout] 104 |                     storage.set_item("nesty-save-state", &serialized_json);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 104 |                     let _ = storage.set_item("nesty-save-state", &serialized_json);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> platform/web/src/lib.rs:105:21
[INFO] [stdout]     |
[INFO] [stdout] 105 |                     window.alert_with_message("State saved!");
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 105 |                     let _ = window.alert_with_message("State saved!");
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> platform/web/src/lib.rs:113:21
[INFO] [stdout]     |
[INFO] [stdout] 113 |                     window.alert_with_message("State loaded!");
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 113 |                     let _ = window.alert_with_message("State loaded!");
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> platform/web/src/lib.rs:154:9
[INFO] [stdout]     |
[INFO] [stdout] 154 |         ctx.put_image_data(&img_data, 0.0, 0.0);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 154 |         let _ = ctx.put_image_data(&img_data, 0.0, 0.0);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> platform/web/src/lib.rs:155:9
[INFO] [stdout]     |
[INFO] [stdout] 155 | ...   display_ctx.draw_image_with_html_canvas_element_and_dw_and_dh(&fake_canvas, 0.0, 0.0, (2 * ppu::WIDTH) as f64, (2 * ppu::HEIGHT) as f6...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 155 |         let _ = display_ctx.draw_image_with_html_canvas_element_and_dw_and_dh(&fake_canvas, 0.0, 0.0, (2 * ppu::WIDTH) as f64, (2 * ppu::HEIGHT) as f64);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> platform/web/src/lib.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |                 window.alert_with_message(&err);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 69 |                 let _ = window.alert_with_message(&err);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> platform/web/src/lib.rs:104:21
[INFO] [stdout]     |
[INFO] [stdout] 104 |                     storage.set_item("nesty-save-state", &serialized_json);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 104 |                     let _ = storage.set_item("nesty-save-state", &serialized_json);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> platform/web/src/lib.rs:105:21
[INFO] [stdout]     |
[INFO] [stdout] 105 |                     window.alert_with_message("State saved!");
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 105 |                     let _ = window.alert_with_message("State saved!");
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> platform/web/src/lib.rs:113:21
[INFO] [stdout]     |
[INFO] [stdout] 113 |                     window.alert_with_message("State loaded!");
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 113 |                     let _ = window.alert_with_message("State loaded!");
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> platform/web/src/lib.rs:154:9
[INFO] [stdout]     |
[INFO] [stdout] 154 |         ctx.put_image_data(&img_data, 0.0, 0.0);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 154 |         let _ = ctx.put_image_data(&img_data, 0.0, 0.0);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> platform/web/src/lib.rs:155:9
[INFO] [stdout]     |
[INFO] [stdout] 155 | ...   display_ctx.draw_image_with_html_canvas_element_and_dw_and_dh(&fake_canvas, 0.0, 0.0, (2 * ppu::WIDTH) as f64, (2 * ppu::HEIGHT) as f6...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 155 |         let _ = display_ctx.draw_image_with_html_canvas_element_and_dw_and_dh(&fake_canvas, 0.0, 0.0, (2 * ppu::WIDTH) as f64, (2 * ppu::HEIGHT) as f64);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> nesty/src/mapper/mapper0.rs:61:45
[INFO] [stdout]    |
[INFO] [stdout] 61 |     fn ppu_write_byte(&mut self, addr: u16, data: u8) {
[INFO] [stdout]    |                                             ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> nesty/src/bus.rs:115:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |             _ => panic!("Address out of bounds: {:04X}", addr)
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> nesty/src/bus.rs:115:13
[INFO] [stdout]     |
[INFO] [stdout] 106 |             0x0000..=0x1FFF => self.ram[mirror!(0x0000, addr, RAM_SIZE)],
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] 107 |             0x2000..=0x3FFF => self.ppu().borrow_mut().read_register(mirror!(0x2000, addr, PPU_REG_COUNT)),
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] 108 |             0x4000..=0x401F => {
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 114 |             0x4020..=0xFFFF => self.cart().borrow_mut().read_byte(addr),
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] 115 |             _ => panic!("Address out of bounds: {:04X}", addr)
[INFO] [stdout]     |             ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> nesty/src/bus.rs:146:13
[INFO] [stdout]     |
[INFO] [stdout] 146 |             _ => panic!("Address out of bounds: {:04X}", addr)
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> nesty/src/bus.rs:146:13
[INFO] [stdout]     |
[INFO] [stdout] 127 |             0x0000..=0x1FFF => { self.ram[mirror!(0x0000, addr, RAM_SIZE)] = data; }
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] 128 |             0x2000..=0x3FFF => { self.ppu().borrow_mut().write_register(mirror!(0x2000, addr, PPU_REG_COUNT), data); }
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] 129 |             0x4000..=0x401F => {
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 145 |             0x4020..=0xFFFF => { self.cart().borrow_mut().write_byte(addr, data); }
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] 146 |             _ => panic!("Address out of bounds: {:04X}", addr)
[INFO] [stdout]     |             ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `write_word` is never used
[INFO] [stdout]  --> nesty/src/io.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub trait IO {
[INFO] [stdout]   |           -- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 5 |     fn write_word(&mut self, addr: u16, data: u16);
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FLAG_U` is never used
[INFO] [stdout]   --> nesty/src/m6502.rs:38:7
[INFO] [stdout]    |
[INFO] [stdout] 38 | const FLAG_U: u8 = 5; // unused
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FLAG_B` is never used
[INFO] [stdout]   --> nesty/src/m6502.rs:39:7
[INFO] [stdout]    |
[INFO] [stdout] 39 | const FLAG_B: u8 = 4;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `cpu_write_word` is never used
[INFO] [stdout]    --> nesty/src/m6502.rs:658:8
[INFO] [stdout]     |
[INFO] [stdout] 81  | impl M6502 {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 658 |     fn cpu_write_word(&mut self, addr: u16, data: u16) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> nesty/src/ppu.rs:799:29
[INFO] [stdout]     |
[INFO] [stdout] 799 |                         if (a >= 0x000 && a < 0x400) || (a >= 0x800 && a < 0xC00) {
[INFO] [stdout]     |                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> nesty/src/ppu.rs:812:28
[INFO] [stdout]     |
[INFO] [stdout] 812 |                         if a >= 0x000 && a < 0x800 {
[INFO] [stdout]     |                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> nesty/src/ppu.rs:857:29
[INFO] [stdout]     |
[INFO] [stdout] 857 |                         if (a >= 0x000 && a < 0x400) || (a >= 0x800 && a < 0xC00) {
[INFO] [stdout]     |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> nesty/src/ppu.rs:870:28
[INFO] [stdout]     |
[INFO] [stdout] 870 |                         if a >= 0x000 && a < 0x800 {
[INFO] [stdout]     |                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.38s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: wasm-bindgen v0.2.82
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 6`
[INFO] running `Command { std: "docker" "inspect" "0e59c484e55c16d2dec5c82ddc4ca41a9cdb638f532d086a60a1f765283f8205", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0e59c484e55c16d2dec5c82ddc4ca41a9cdb638f532d086a60a1f765283f8205", kill_on_drop: false }`
[INFO] [stdout] 0e59c484e55c16d2dec5c82ddc4ca41a9cdb638f532d086a60a1f765283f8205
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+1.85.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 774b02553ac61b135b7866cce600d3499ad18afb5123529c02b28af22b9aaf49
[INFO] running `Command { std: "docker" "start" "-a" "774b02553ac61b135b7866cce600d3499ad18afb5123529c02b28af22b9aaf49", kill_on_drop: false }`
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]   --> nesty/src/mapper/mapper0.rs:61:45
[INFO] [stderr]    |
[INFO] [stderr] 61 |     fn ppu_write_byte(&mut self, addr: u16, data: u8) {
[INFO] [stderr]    |                                             ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> nesty/src/bus.rs:115:13
[INFO] [stderr]     |
[INFO] [stderr] 115 |             _ => panic!("Address out of bounds: {:04X}", addr)
[INFO] [stderr]     |             ^ no value can reach this
[INFO] [stderr]     |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]    --> nesty/src/bus.rs:115:13
[INFO] [stderr]     |
[INFO] [stderr] 106 |             0x0000..=0x1FFF => self.ram[mirror!(0x0000, addr, RAM_SIZE)],
[INFO] [stderr]     |             --------------- matches some of the same values
[INFO] [stderr] 107 |             0x2000..=0x3FFF => self.ppu().borrow_mut().read_register(mirror!(0x2000, addr, PPU_REG_COUNT)),
[INFO] [stderr]     |             --------------- matches some of the same values
[INFO] [stderr] 108 |             0x4000..=0x401F => {
[INFO] [stderr]     |             --------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 114 |             0x4020..=0xFFFF => self.cart().borrow_mut().read_byte(addr),
[INFO] [stderr]     |             --------------- matches some of the same values
[INFO] [stderr] 115 |             _ => panic!("Address out of bounds: {:04X}", addr)
[INFO] [stderr]     |             ^ collectively making this unreachable
[INFO] [stderr]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> nesty/src/bus.rs:146:13
[INFO] [stderr]     |
[INFO] [stderr] 146 |             _ => panic!("Address out of bounds: {:04X}", addr)
[INFO] [stderr]     |             ^ no value can reach this
[INFO] [stderr]     |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]    --> nesty/src/bus.rs:146:13
[INFO] [stderr]     |
[INFO] [stderr] 127 |             0x0000..=0x1FFF => { self.ram[mirror!(0x0000, addr, RAM_SIZE)] = data; }
[INFO] [stderr]     |             --------------- matches some of the same values
[INFO] [stderr] 128 |             0x2000..=0x3FFF => { self.ppu().borrow_mut().write_register(mirror!(0x2000, addr, PPU_REG_COUNT), data); }
[INFO] [stderr]     |             --------------- matches some of the same values
[INFO] [stderr] 129 |             0x4000..=0x401F => {
[INFO] [stderr]     |             --------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 145 |             0x4020..=0xFFFF => { self.cart().borrow_mut().write_byte(addr, data); }
[INFO] [stderr]     |             --------------- matches some of the same values
[INFO] [stderr] 146 |             _ => panic!("Address out of bounds: {:04X}", addr)
[INFO] [stderr]     |             ^ collectively making this unreachable
[INFO] [stderr] 
[INFO] [stderr] warning: method `write_word` is never used
[INFO] [stderr]  --> nesty/src/io.rs:5:8
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub trait IO {
[INFO] [stderr]   |           -- method in this trait
[INFO] [stderr] ...
[INFO] [stderr] 5 |     fn write_word(&mut self, addr: u16, data: u16);
[INFO] [stderr]   |        ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `FLAG_U` is never used
[INFO] [stderr]   --> nesty/src/m6502.rs:38:7
[INFO] [stderr]    |
[INFO] [stderr] 38 | const FLAG_U: u8 = 5; // unused
[INFO] [stderr]    |       ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `FLAG_B` is never used
[INFO] [stderr]   --> nesty/src/m6502.rs:39:7
[INFO] [stderr]    |
[INFO] [stderr] 39 | const FLAG_B: u8 = 4;
[INFO] [stderr]    |       ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `cpu_write_word` is never used
[INFO] [stderr]    --> nesty/src/m6502.rs:658:8
[INFO] [stderr]     |
[INFO] [stderr] 81  | impl M6502 {
[INFO] [stderr]     | ---------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 658 |     fn cpu_write_word(&mut self, addr: u16, data: u16) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]    --> nesty/src/ppu.rs:799:29
[INFO] [stderr]     |
[INFO] [stderr] 799 |                         if (a >= 0x000 && a < 0x400) || (a >= 0x800 && a < 0xC00) {
[INFO] [stderr]     |                             ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]    --> nesty/src/ppu.rs:812:28
[INFO] [stderr]     |
[INFO] [stderr] 812 |                         if a >= 0x000 && a < 0x800 {
[INFO] [stderr]     |                            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]    --> nesty/src/ppu.rs:857:29
[INFO] [stderr]     |
[INFO] [stderr] 857 |                         if (a >= 0x000 && a < 0x400) || (a >= 0x800 && a < 0xC00) {
[INFO] [stderr]     |                             ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]    --> nesty/src/ppu.rs:870:28
[INFO] [stderr]     |
[INFO] [stderr] 870 |                         if a >= 0x000 && a < 0x800 {
[INFO] [stderr]     |                            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `nesty` (lib) generated 11 warnings
[INFO] [stderr] warning: `nesty` (lib test) generated 11 warnings (11 duplicates)
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> platform/web/src/lib.rs:69:17
[INFO] [stderr]    |
[INFO] [stderr] 69 |                 window.alert_with_message(&err);
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 69 |                 let _ = window.alert_with_message(&err);
[INFO] [stderr]    |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> platform/web/src/lib.rs:104:21
[INFO] [stderr]     |
[INFO] [stderr] 104 |                     storage.set_item("nesty-save-state", &serialized_json);
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 104 |                     let _ = storage.set_item("nesty-save-state", &serialized_json);
[INFO] [stderr]     |                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> platform/web/src/lib.rs:105:21
[INFO] [stderr]     |
[INFO] [stderr] 105 |                     window.alert_with_message("State saved!");
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 105 |                     let _ = window.alert_with_message("State saved!");
[INFO] [stderr]     |                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> platform/web/src/lib.rs:113:21
[INFO] [stderr]     |
[INFO] [stderr] 113 |                     window.alert_with_message("State loaded!");
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 113 |                     let _ = window.alert_with_message("State loaded!");
[INFO] [stderr]     |                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> platform/web/src/lib.rs:154:9
[INFO] [stderr]     |
[INFO] [stderr] 154 |         ctx.put_image_data(&img_data, 0.0, 0.0);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 154 |         let _ = ctx.put_image_data(&img_data, 0.0, 0.0);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> platform/web/src/lib.rs:155:9
[INFO] [stderr]     |
[INFO] [stderr] 155 | ...   display_ctx.draw_image_with_html_canvas_element_and_dw_and_dh(&fake_canvas, 0.0, 0.0, (2 * ppu::WIDTH) as f64, (2 * ppu::HEIGHT) as f6...
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 155 |         let _ = display_ctx.draw_image_with_html_canvas_element_and_dw_and_dh(&fake_canvas, 0.0, 0.0, (2 * ppu::WIDTH) as f64, (2 * ppu::HEIGHT) as f64);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `nesty-web` (lib) generated 6 warnings
[INFO] [stderr] warning: `nesty-web` (lib test) generated 6 warnings (6 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.10s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: wasm-bindgen v0.2.82
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 6`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/nesty-ab5a42e7e2689959)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/nesty_desktop_sdl2-9d1ff5161b97d7b9)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/nesty_web-adf3fb33afc21fd1)
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests nesty
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests nesty_web
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "774b02553ac61b135b7866cce600d3499ad18afb5123529c02b28af22b9aaf49", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "774b02553ac61b135b7866cce600d3499ad18afb5123529c02b28af22b9aaf49", kill_on_drop: false }`
[INFO] [stdout] 774b02553ac61b135b7866cce600d3499ad18afb5123529c02b28af22b9aaf49
