[INFO] cloning repository https://github.com/starlite-project/craneboy
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/starlite-project/craneboy" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstarlite-project%2Fcraneboy", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstarlite-project%2Fcraneboy'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7c10bde4c6117c640328dcb9c7c7bd8285ad0a5a
[INFO] checking starlite-project/craneboy against master#7c41ee66db9d08e3989858acaefa1c72a6a88518 for mutual-coercion
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstarlite-project%2Fcraneboy" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-0-tc1/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-0-tc1/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/starlite-project/craneboy
[INFO] finished tweaking git repo https://github.com/starlite-project/craneboy
[INFO] tweaked toml for git repo https://github.com/starlite-project/craneboy written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/starlite-project/craneboy on toolchain 7c41ee66db9d08e3989858acaefa1c72a6a88518
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7c41ee66db9d08e3989858acaefa1c72a6a88518" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/starlite-project/craneboy 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" "+7c41ee66db9d08e3989858acaefa1c72a6a88518" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded windows-targets v0.53.3
[INFO] [stderr]   Downloaded xkbcommon-dl v0.4.2
[INFO] [stderr]   Downloaded libloading v0.8.8
[INFO] [stderr]   Downloaded log v0.4.27
[INFO] [stderr]   Downloaded dlib v0.5.2
[INFO] [stderr]   Downloaded as-raw-xcb-connection v1.0.1
[INFO] [stderr]   Downloaded windows-targets v0.48.5
[INFO] [stderr]   Downloaded owned_ttf_parser v0.25.1
[INFO] [stderr]   Downloaded xkeysym v0.2.1
[INFO] [stderr]   Downloaded ab_glyph v0.2.31
[INFO] [stderr]   Downloaded gethostname v0.4.3
[INFO] [stderr]   Downloaded errno v0.3.13
[INFO] [stderr]   Downloaded ab_glyph_rasterizer v0.1.9
[INFO] [stderr]   Downloaded arrayref v0.3.9
[INFO] [stderr]   Downloaded foreign-types-macros v0.2.3
[INFO] [stderr]   Downloaded cfg-if v1.0.1
[INFO] [stderr]   Downloaded serde_derive v1.0.219
[INFO] [stderr]   Downloaded cgl v0.3.2
[INFO] [stderr]   Downloaded windows-targets v0.42.2
[INFO] [stderr]   Downloaded jni-sys v0.3.0
[INFO] [stderr]   Downloaded typeid v1.0.3
[INFO] [stderr]   Downloaded bitflags v1.3.2
[INFO] [stderr]   Downloaded glutin_wgl_sys v0.5.0
[INFO] [stderr]   Downloaded rustc-hash v2.1.1
[INFO] [stderr]   Downloaded concurrent-queue v2.5.0
[INFO] [stderr]   Downloaded either v1.15.0
[INFO] [stderr]   Downloaded clap_lex v0.7.5
[INFO] [stderr]   Downloaded once_cell_polyfill v1.70.1
[INFO] [stderr]   Downloaded clap v4.5.43
[INFO] [stderr]   Downloaded ciborium-io v0.2.2
[INFO] [stderr]   Downloaded autocfg v1.5.0
[INFO] [stderr]   Downloaded half v2.6.0
[INFO] [stderr]   Downloaded blip_buf v0.1.5
[INFO] [stderr]   Downloaded ciborium v0.2.2
[INFO] [stderr]   Downloaded glutin v0.31.3
[INFO] [stderr]   Downloaded alsa v0.9.1
[INFO] [stderr]   Downloaded minimal-lexical v0.2.1
[INFO] [stderr]   Downloaded nom v7.1.3
[INFO] [stderr]   Downloaded regex v1.11.1
[INFO] [stderr]   Downloaded clap_builder v4.5.43
[INFO] [stderr]   Downloaded oboe-sys v0.6.1
[INFO] [stderr]   Downloaded windows_x86_64_gnullvm v0.48.5
[INFO] [stderr]   Downloaded winnow v0.7.12
[INFO] [stderr]   Downloaded windows_aarch64_gnullvm v0.48.5
[INFO] [stderr]   Downloaded regex-syntax v0.8.5
[INFO] [stderr]   Downloaded android-activity v0.5.2
[INFO] [stderr]   Downloaded gimli v0.31.1
[INFO] [stderr]   Downloaded rustix v1.0.8
[INFO] [stderr]   Downloaded winit v0.29.15
[INFO] [stderr]   Downloaded object v0.36.7
[INFO] [stderr]   Downloaded windows_aarch64_gnullvm v0.42.2
[INFO] [stderr]   Downloaded windows_x86_64_gnullvm v0.42.2
[INFO] [stderr]   Downloaded windows_x86_64_msvc v0.53.0
[INFO] [stderr]   Downloaded x11rb-protocol v0.13.1
[INFO] [stderr]   Downloaded ndk-sys v0.5.0+25.2.9519653
[INFO] [stderr]   Downloaded windows_i686_gnullvm v0.52.6
[INFO] [stderr]   Downloaded windows_x86_64_gnullvm v0.53.0
[INFO] [stderr]   Downloaded zerocopy v0.8.26
[INFO] [stderr]   Downloaded rustix v0.38.44
[INFO] [stderr]   Downloaded web-sys v0.3.77
[INFO] [stderr]   Downloaded libc v0.2.175
[INFO] [stderr]   Downloaded windows_aarch64_msvc v0.52.6
[INFO] [stderr]   Downloaded khronos_api v3.1.0
[INFO] [stderr]   Downloaded windows_aarch64_msvc v0.48.5
[INFO] [stderr]   Downloaded regex-automata v0.4.9
[INFO] [stderr]   Downloaded windows_i686_gnullvm v0.53.0
[INFO] [stderr]   Downloaded windows_x86_64_msvc v0.42.2
[INFO] [stderr]   Downloaded windows_i686_msvc v0.52.6
[INFO] [stderr]   Downloaded windows_aarch64_msvc v0.42.2
[INFO] [stderr]   Downloaded windows_i686_gnu v0.42.2
[INFO] [stderr]   Downloaded windows_x86_64_gnu v0.42.2
[INFO] [stderr]   Downloaded windows_i686_msvc v0.42.2
[INFO] [stderr]   Downloaded windows_i686_gnu v0.53.0
[INFO] [stderr]   Downloaded windows_i686_gnu v0.48.5
[INFO] [stderr]   Downloaded windows_i686_gnu v0.52.6
[INFO] [stderr]   Downloaded windows_aarch64_gnullvm v0.53.0
[INFO] [stderr]   Downloaded windows_i686_msvc v0.53.0
[INFO] [stderr]   Downloaded windows_x86_64_gnu v0.53.0
[INFO] [stderr]   Downloaded windows_x86_64_gnu v0.52.6
[INFO] [stderr]   Downloaded windows_x86_64_msvc v0.52.6
[INFO] [stderr]   Downloaded windows_aarch64_msvc v0.53.0
[INFO] [stderr]   Downloaded glium v0.34.0
[INFO] [stderr]   Downloaded windows_i686_msvc v0.48.5
[INFO] [stderr]   Downloaded windows_x86_64_gnu v0.48.5
[INFO] [stderr]   Downloaded windows_x86_64_msvc v0.48.5
[INFO] [stderr]   Downloaded windows_aarch64_gnullvm v0.52.6
[INFO] [stderr]   Downloaded windows_x86_64_gnullvm v0.52.6
[INFO] [stderr]   Downloaded hashbrown v0.15.5
[INFO] [stderr]   Downloaded objc2 v0.4.1
[INFO] [stderr]   Downloaded itertools v0.13.0
[INFO] [stderr]   Downloaded icrate v0.0.4
[INFO] [stderr]   Downloaded combine v4.6.7
[INFO] [stderr]   Downloaded syn v2.0.104
[INFO] [stderr]   Downloaded bindgen v0.72.0
[INFO] [stderr]   Downloaded cpal v0.15.3
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.26
[INFO] [stderr]   Downloaded jni v0.21.1
[INFO] [stderr]   Downloaded indexmap v2.10.0
[INFO] [stderr]   Downloaded toml_edit v0.22.27
[INFO] [stderr]   Downloaded orbclient v0.3.48
[INFO] [stderr]   Downloaded xml-rs v0.8.27
[INFO] [stderr]   Downloaded ndk v0.8.0
[INFO] [stderr]   Downloaded ttf-parser v0.25.1
[INFO] [stderr]   Downloaded tiny-skia v0.11.4
[INFO] [stderr]   Downloaded backtrace v0.3.75
[INFO] [stderr]   Downloaded bytes v1.10.1
[INFO] [stderr]   Downloaded quick-xml v0.37.5
[INFO] [stderr]   Downloaded aho-corasick v1.1.3
[INFO] [stderr]   Downloaded num-traits v0.2.19
[INFO] [stderr]   Downloaded addr2line v0.24.2
[INFO] [stderr]   Downloaded anstream v0.6.20
[INFO] [stderr]   Downloaded anstyle v1.0.11
[INFO] [stderr]   Downloaded cexpr v0.6.0
[INFO] [stderr]   Downloaded coreaudio-rs v0.11.3
[INFO] [stderr]   Downloaded windows-core v0.54.0
[INFO] [stderr]   Downloaded gl_generator v0.14.0
[INFO] [stderr]   Downloaded walkdir v2.5.0
[INFO] [stderr]   Downloaded wayland-protocols v0.31.2
[INFO] [stderr]   Downloaded wasi v0.14.2+wasi-0.2.4
[INFO] [stderr]   Downloaded erased-serde v0.4.6
[INFO] [stderr]   Downloaded inventory v0.3.20
[INFO] [stderr]   Downloaded typetag v0.2.20
[INFO] [stderr]   Downloaded core-foundation-sys v0.8.7
[INFO] [stderr]   Downloaded core-foundation v0.9.4
[INFO] [stderr]   Downloaded toml_datetime v0.6.11
[INFO] [stderr]   Downloaded num_enum_derive v0.7.4
[INFO] [stderr]   Downloaded objc2-encode v3.0.0
[INFO] [stderr]   Downloaded redox_syscall v0.5.17
[INFO] [stderr]   Downloaded libredox v0.1.9
[INFO] [stderr]   Downloaded raw-window-handle v0.5.2
[INFO] [stderr]   Downloaded raw-window-handle v0.6.2
[INFO] [stderr]   Downloaded redox_syscall v0.3.5
[INFO] [stderr]   Downloaded crunchy v0.2.4
[INFO] [stderr]   Downloaded linux-raw-sys v0.4.15
[INFO] [stderr]   Downloaded ciborium-ll v0.2.2
[INFO] [stderr]   Downloaded anstyle-query v1.1.4
[INFO] [stderr]   Downloaded is_terminal_polyfill v1.70.1
[INFO] [stderr]   Downloaded mach2 v0.4.3
[INFO] [stderr]   Downloaded num-derive v0.4.2
[INFO] [stderr]   Downloaded oboe v0.6.1
[INFO] [stderr]   Downloaded rustc-demangle v0.1.26
[INFO] [stderr]   Downloaded glutin-winit v0.4.2
[INFO] [stderr]   Downloaded memoffset v0.9.1
[INFO] [stderr]   Downloaded version_check v0.9.5
[INFO] [stderr]   Downloaded ahash v0.8.12
[INFO] [stderr]   Downloaded linux-raw-sys v0.9.4
[INFO] [stderr]   Downloaded android-properties v0.2.2
[INFO] [stderr]   Downloaded cesu8 v1.1.0
[INFO] [stderr]   Downloaded same-file v1.0.6
[INFO] [stderr]   Downloaded cfg_aliases v0.1.1
[INFO] [stderr]   Downloaded percent-encoding v2.3.1
[INFO] [stderr]   Downloaded windows-sys v0.59.0
[INFO] [stderr]   Downloaded smithay-client-toolkit v0.18.1
[INFO] [stderr]   Downloaded windows-sys v0.60.2
[INFO] [stderr]   Downloaded cc v1.2.32
[INFO] [stderr]   Downloaded glutin_egl_sys v0.6.0
[INFO] [stderr]   Downloaded glutin_glx_sys v0.5.0
[INFO] [stderr]   Downloaded takeable-option v0.5.0
[INFO] [stderr]   Downloaded serde_arrays v0.2.0
[INFO] [stderr]   Downloaded typetag-impl v0.2.20
[INFO] [stderr]   Downloaded memchr v2.7.5
[INFO] [stderr]   Downloaded js-sys v0.3.77
[INFO] [stderr]   Downloaded bumpalo v3.19.0
[INFO] [stderr]   Downloaded x11-dl v2.21.0
[INFO] [stderr]   Downloaded windows-sys v0.48.0
[INFO] [stderr]   Downloaded x11rb v0.13.1
[INFO] [stderr]   Downloaded windows-sys v0.45.0
[INFO] [stderr]   Downloaded anstyle-wincon v3.0.10
[INFO] [stderr]   Downloaded tiny-skia-path v0.11.4
[INFO] [stderr]   Downloaded sctk-adwaita v0.8.3
[INFO] [stderr]   Downloaded calloop v0.12.4
[INFO] [stderr]   Downloaded unicode-segmentation v1.12.0
[INFO] [stderr]   Downloaded wayland-backend v0.3.11
[INFO] [stderr]   Downloaded wayland-client v0.31.11
[INFO] [stderr]   Downloaded alsa-sys v0.3.1
[INFO] [stderr]   Downloaded glob v0.3.3
[INFO] [stderr]   Downloaded clang-sys v1.8.1
[INFO] [stderr]   Downloaded dasp_sample v0.11.0
[INFO] [stderr]   Downloaded windows-result v0.1.2
[INFO] [stderr]   Downloaded lazy_static v1.5.0
[INFO] [stderr]   Downloaded winapi-util v0.1.9
[INFO] [stderr]   Downloaded block-sys v0.2.1
[INFO] [stderr]   Downloaded bytemuck v1.23.2
[INFO] [stderr]   Downloaded polling v3.10.0
[INFO] [stderr]   Downloaded memmap2 v0.9.7
[INFO] [stderr]   Downloaded wayland-protocols-plasma v0.2.0
[INFO] [stderr]   Downloaded rustversion v1.0.22
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.100
[INFO] [stderr]   Downloaded unicode-ident v1.0.18
[INFO] [stderr]   Downloaded core-graphics v0.23.2
[INFO] [stderr]   Downloaded proc-macro-crate v3.3.0
[INFO] [stderr]   Downloaded num_enum v0.7.4
[INFO] [stderr]   Downloaded objc-sys v0.3.5
[INFO] [stderr]   Downloaded hermit-abi v0.5.2
[INFO] [stderr]   Downloaded r-efi v5.3.0
[INFO] [stderr]   Downloaded getrandom v0.3.3
[INFO] [stderr]   Downloaded wayland-scanner v0.31.7
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.100
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.100
[INFO] [stderr]   Downloaded quote v1.0.40
[INFO] [stderr]   Downloaded thiserror-impl v1.0.69
[INFO] [stderr]   Downloaded jobserver v0.1.33
[INFO] [stderr]   Downloaded windows-link v0.1.3
[INFO] [stderr]   Downloaded coreaudio-sys v0.2.17
[INFO] [stderr]   Downloaded strict-num v0.1.1
[INFO] [stderr]   Downloaded calloop-wayland-source v0.2.0
[INFO] [stderr]   Downloaded thiserror v1.0.69
[INFO] [stderr]   Downloaded cursor-icon v1.2.0
[INFO] [stderr]   Downloaded wayland-protocols-wlr v0.2.0
[INFO] [stderr]   Downloaded downcast-rs v1.2.1
[INFO] [stderr]   Downloaded scoped-tls v1.0.1
[INFO] [stderr]   Downloaded wayland-sys v0.31.7
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.100
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.100
[INFO] [stderr]   Downloaded web-time v0.2.4
[INFO] [stderr]   Downloaded core-graphics-types v0.1.3
[INFO] [stderr]   Downloaded foreign-types-shared v0.3.1
[INFO] [stderr]   Downloaded block2 v0.3.0
[INFO] [stderr]   Downloaded dispatch v0.2.0
[INFO] [stderr]   Downloaded xcursor v0.3.10
[INFO] [stderr]   Downloaded wayland-cursor v0.31.11
[INFO] [stderr]   Downloaded wayland-csd-frame v0.3.0
[INFO] [stderr]   Downloaded smol_str v0.2.2
[INFO] [stderr]   Downloaded serde v1.0.219
[INFO] [stderr]   Downloaded ndk-context v0.1.1
[INFO] [stderr]   Downloaded foreign-types v0.5.0
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.50
[INFO] [stderr]   Downloaded wit-bindgen-rt v0.39.0
[INFO] [stderr]   Downloaded proc-macro2 v1.0.96
[INFO] [stderr]   Downloaded bitflags v2.9.1
[INFO] [stderr]   Downloaded arrayvec v0.7.6
[INFO] [stderr]   Downloaded windows-targets v0.52.6
[INFO] [stderr]   Downloaded windows v0.54.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+7c41ee66db9d08e3989858acaefa1c72a6a88518" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7b4f2d5d7d235bf78f9a800e934d32f59a870bf3d3aedea2c392a66f612f6362
[INFO] running `Command { std: "docker" "start" "-a" "7b4f2d5d7d235bf78f9a800e934d32f59a870bf3d3aedea2c392a66f612f6362", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7b4f2d5d7d235bf78f9a800e934d32f59a870bf3d3aedea2c392a66f612f6362", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7b4f2d5d7d235bf78f9a800e934d32f59a870bf3d3aedea2c392a66f612f6362", kill_on_drop: false }`
[INFO] [stdout] 7b4f2d5d7d235bf78f9a800e934d32f59a870bf3d3aedea2c392a66f612f6362
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+7c41ee66db9d08e3989858acaefa1c72a6a88518" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6c8edca73bb214dc7b4d9d0624c5d21b5672cdff13a70664e9540c12ec3618e6
[INFO] running `Command { std: "docker" "start" "-a" "6c8edca73bb214dc7b4d9d0624c5d21b5672cdff13a70664e9540c12ec3618e6", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.96
[INFO] [stderr]    Compiling unicode-ident v1.0.18
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling typeid v1.0.3
[INFO] [stderr]     Checking cfg-if v1.0.1
[INFO] [stderr]     Checking ciborium-io v0.2.2
[INFO] [stderr]    Compiling craneboy v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]     Checking inventory v0.3.20
[INFO] [stderr]     Checking blip_buf v0.1.5
[INFO] [stderr]     Checking half v2.6.0
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling typetag-impl v0.2.20
[INFO] [stderr]     Checking erased-serde v0.4.6
[INFO] [stderr]     Checking bitflags v2.9.1
[INFO] [stderr]     Checking serde_arrays v0.2.0
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking typetag v0.2.20
[INFO] [stdout] warning: unused import: `CpuFlags`
[INFO] [stdout]  --> src/cpu.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 |     registers::{CpuFlags, Registers},
[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 imports: `SerialCallback`, `StrResult`, `gb_mode::GbMode`, `keypad::KeypadKey`, `mbc`, `printer::GbPrinter`, `self`, and `sound`
[INFO] [stdout]   --> src/device.rs:4:2
[INFO] [stdout]    |
[INFO] [stdout]  4 |     StrResult,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]  5 |     cpu::CPU,
[INFO] [stdout]  6 |     gb_mode::GbMode,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]  7 |     keypad::KeypadKey,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]  8 |     mbc,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]  9 |     printer::GbPrinter,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     serial::{self, SerialCallback},
[INFO] [stdout]    |              ^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     sound,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CpuFlags`
[INFO] [stdout]  --> src/cpu.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 |     registers::{CpuFlags, Registers},
[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 imports: `SerialCallback`, `StrResult`, `gb_mode::GbMode`, `keypad::KeypadKey`, `mbc`, `printer::GbPrinter`, `self`, and `sound`
[INFO] [stdout]   --> src/device.rs:4:2
[INFO] [stdout]    |
[INFO] [stdout]  4 |     StrResult,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]  5 |     cpu::CPU,
[INFO] [stdout]  6 |     gb_mode::GbMode,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]  7 |     keypad::KeypadKey,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]  8 |     mbc,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]  9 |     printer::GbPrinter,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     serial::{self, SerialCallback},
[INFO] [stdout]    |              ^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     sound,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CPU` is never constructed
[INFO] [stdout]   --> src/cpu.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct CPU {
[INFO] [stdout]    |            ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/cpu.rs:21:9
[INFO] [stdout]     |
[INFO] [stdout]  20 | impl CPU {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout]  21 |     pub fn classic(
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  39 |     pub fn cgb(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  56 |     pub fn do_cycle(&mut self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  61 |     fn get_ticks(&mut self) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  72 |     fn handle_interrupt(&mut self) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn push_stack(&mut self, value: u16) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     fn update_ime(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     fn call(&mut self) -> u32 {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Device` is never constructed
[INFO] [stdout]   --> src/device.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Device {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `GbMode` is never used
[INFO] [stdout]  --> src/gb_mode.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum GbMode {
[INFO] [stdout]   |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `GbSpeed` is never used
[INFO] [stdout]   --> src/gb_mode.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum GbSpeed {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VRAM_SIZE` is never used
[INFO] [stdout]  --> src/gpu.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const VRAM_SIZE: usize = 0x4000;
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VOAM_SIZE` is never used
[INFO] [stdout]  --> src/gpu.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const VOAM_SIZE: usize = 0xA0;
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GPU` is never constructed
[INFO] [stdout]   --> src/gpu.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct GPU {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/gpu.rs:64:9
[INFO] [stdout]     |
[INFO] [stdout]  63 | impl GPU {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout]  64 |     pub fn classic() -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn cgb() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn do_cycle(&mut self, ticks: u32) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     const fn check_interrupt_lyc(&mut self) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     fn change_mode(&mut self, mode: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     pub fn rb(&self, a: u16) -> u8 {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     fn rbvram0(&self, a: u16) -> u8 {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 272 |     fn rbvram1(&self, a: u16) -> u8 {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     pub fn wb(&mut self, a: u16, v: u8) {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 394 |     fn clear_screen(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 402 |     fn update_pal(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 410 |     const fn get_monochrome_pal_val(value: u8, index: usize) -> u8 {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 419 |     fn render_scan(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 433 |     fn set_color(&mut self, x: usize, color: u8) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 439 |     fn set_rgb(&mut self, x: usize, r: u8, g: u8, b: u8) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 451 |     fn draw_bg(&mut self) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 554 |     fn draw_sprites(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 664 |     pub const fn may_hdma(&self) -> bool {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PrioType` is never used
[INFO] [stdout]    --> src/gpu.rs:670:6
[INFO] [stdout]     |
[INFO] [stdout] 670 | enum PrioType {
[INFO] [stdout]     |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dmg_sprite_order` is never used
[INFO] [stdout]    --> src/gpu.rs:677:4
[INFO] [stdout]     |
[INFO] [stdout] 677 | fn dmg_sprite_order(a: &(i32, i32, u8), b: &(i32, i32, u8)) -> Ordering {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cgb_sprite_order` is never used
[INFO] [stdout]    --> src/gpu.rs:686:4
[INFO] [stdout]     |
[INFO] [stdout] 686 | fn cgb_sprite_order(a: &(i32, i32, u8), b: &(i32, i32, u8)) -> Ordering {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Keypad` is never constructed
[INFO] [stdout]  --> src/keypad.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Keypad {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `rb`, `wb`, `update`, `keydown`, and `keyup` are never used
[INFO] [stdout]   --> src/keypad.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Keypad {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 12 |     pub const fn new() -> Self {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub const fn rb(&self) -> u8 {
[INFO] [stdout]    |                  ^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub const fn wb(&mut self, value: u8) {
[INFO] [stdout]    |                  ^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     const fn update(&mut self) {
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub const fn keydown(&mut self, key: KeypadKey) {
[INFO] [stdout]    |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub const fn keyup(&mut self, key: KeypadKey) {
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/mbc/mod.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl FileBackedMBC {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] 24 |     pub fn new(rom_path: PathBuf, skip_checksum: bool) -> StrResult<Self> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_mbc` is never used
[INFO] [stdout]    --> src/mbc/mod.rs:139:8
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub fn get_mbc(data: Vec<u8>, skip_checksum: bool) -> StrResult<Box<dyn MBC + 'static>> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ram_banks` is never used
[INFO] [stdout]    --> src/mbc/mod.rs:158:10
[INFO] [stdout]     |
[INFO] [stdout] 158 | const fn ram_banks(v: u8) -> usize {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rom_banks` is never used
[INFO] [stdout]    --> src/mbc/mod.rs:168:10
[INFO] [stdout]     |
[INFO] [stdout] 168 | const fn rom_banks(v: u8) -> usize {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_checksum` is never used
[INFO] [stdout]    --> src/mbc/mod.rs:172:4
[INFO] [stdout]     |
[INFO] [stdout] 172 | fn check_checksum(data: &[u8]) -> StrResult<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/mbc/mbc0.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl MBC0 {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 12 |     pub const fn new(data: Vec<u8>) -> StrResult<Self> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/mbc/mbc1.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl MBC1 {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 22 |     pub fn new(data: Vec<u8>) -> StrResult<Self> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/mbc/mbc2.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl MBC2 {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 19 |     pub fn new(data: Vec<u8>) -> StrResult<Self> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/mbc/mbc3.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl MBC3 {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 24 |     pub fn new(data: Vec<u8>) -> StrResult<Self> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/mbc/mbc5.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl MBC5 {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 21 |     pub fn new(data: Vec<u8>) -> StrResult<Self> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WRAM_SIZE` is never used
[INFO] [stdout]   --> src/mmu.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const WRAM_SIZE: usize = 0x8000;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ZRAM_SIZE` is never used
[INFO] [stdout]   --> src/mmu.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const ZRAM_SIZE: usize = 0x7F;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MMU` is never constructed
[INFO] [stdout]   --> src/mmu.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct MMU {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/mmu.rs:47:9
[INFO] [stdout]     |
[INFO] [stdout]  46 | impl MMU {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout]  47 |     pub fn classic(
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     pub fn cgb(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     fn determine_mode(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     fn set_initial(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn rb(&mut self, address: u16) -> u8 {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     pub fn rw(&mut self, address: u16) -> u16 {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 219 |     pub fn wb(&mut self, address: u16, value: u8) {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 259 |     pub fn do_cycle(&mut self, ticks: u32) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     pub fn ww(&mut self, address: u16, value: u16) {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 285 |     pub const fn switch_speed(&mut self) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 297 |     fn oamdma(&mut self, value: u8) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 305 |     fn hdma_read(&self, a: u16) -> u8 {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 320 |     fn hdma_write(&mut self, a: u16, v: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 355 |     fn perform_vramdma(&mut self) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 363 |     fn perform_hdma(&mut self) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 377 |     fn perform_gdma(&mut self) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 387 |     fn perform_vramdma_row(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DMAType` is never used
[INFO] [stdout]    --> src/mmu.rs:405:6
[INFO] [stdout]     |
[INFO] [stdout] 405 | enum DMAType {
[INFO] [stdout]     |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fill_random` is never used
[INFO] [stdout]    --> src/mmu.rs:411:4
[INFO] [stdout]     |
[INFO] [stdout] 411 | fn fill_random(slice: &mut [u8], start: u32) {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GbPrinter` is never constructed
[INFO] [stdout]  --> src/printer.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct GbPrinter {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/printer.rs:23:15
[INFO] [stdout]     |
[INFO] [stdout]  22 | impl GbPrinter {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout]  23 |     pub const fn new() -> Self {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout]  37 |     fn check_crc(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  49 |     const fn reset(&mut self) {
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  58 |     fn show(&mut self) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  65 |     fn show_inner(&mut self) -> ::std::io::Result<PathBuf> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     fn receive(&mut self) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     fn command(&mut self) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn send(&mut self, v: u8) -> u8 {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Registers` is never constructed
[INFO] [stdout]  --> src/registers.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Registers {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/registers.rs:21:9
[INFO] [stdout]     |
[INFO] [stdout]  20 | impl Registers {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout]  21 |     pub fn new(mode: GbMode) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  62 |     pub const fn af(self) -> u16 {
[INFO] [stdout]     |                  ^^
[INFO] [stdout] ...
[INFO] [stdout]  66 |     pub const fn bc(self) -> u16 {
[INFO] [stdout]     |                  ^^
[INFO] [stdout] ...
[INFO] [stdout]  70 |     pub const fn de(self) -> u16 {
[INFO] [stdout]     |                  ^^
[INFO] [stdout] ...
[INFO] [stdout]  74 |     pub const fn hl(self) -> u16 {
[INFO] [stdout]     |                  ^^
[INFO] [stdout] ...
[INFO] [stdout]  78 |     pub const fn hld(&mut self) -> u16 {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     pub const fn hli(&mut self) -> u16 {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout]  90 |     pub const fn set_af(&mut self, value: u16) {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     pub const fn set_bc(&mut self, value: u16) {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub const fn set_de(&mut self, value: u16) {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub const fn set_hl(&mut self, value: u16) {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn flag(&mut self, flags: CpuFlags, set: bool) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub const fn get_flag(self, flag: CpuFlags) -> bool {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Serial` is never constructed
[INFO] [stdout]  --> src/serial.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Serial {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_callback`, `wb`, `rb`, `set_callback`, and `clear_callback` are never used
[INFO] [stdout]   --> src/serial.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Serial {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 13 |     pub const fn new() -> Self {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn with_callback(cb: Box<dyn SerialCallback>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn wb(&mut self, a: u16, v: u8) {
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn rb(&self, a: u16) -> u8 {
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn set_callback(&mut self, cb: Box<dyn SerialCallback>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn clear_callback(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WAVE_PATTERN` is never used
[INFO] [stdout]  --> src/sound.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const WAVE_PATTERN: [[i32; 8]; 4] = [
[INFO] [stdout]   |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CLOCKS_PER_SECOND` is never used
[INFO] [stdout]   --> src/sound.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const CLOCKS_PER_SECOND: u32 = 1 << 22;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CLOCKS_PER_FRAME` is never used
[INFO] [stdout]   --> src/sound.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const CLOCKS_PER_FRAME: u32 = CLOCKS_PER_SECOND / 512;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OUTPUT_SAMPLE_COUNT` is never used
[INFO] [stdout]   --> src/sound.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const OUTPUT_SAMPLE_COUNT: usize = 2000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SWEEP_DELAY_ZERO_PERIOD` is never used
[INFO] [stdout]   --> src/sound.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const SWEEP_DELAY_ZERO_PERIOD: u8 = 8;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WAVE_INITIAL_DELAY` is never used
[INFO] [stdout]   --> src/sound.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const WAVE_INITIAL_DELAY: u32 = 4;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Sound` is never constructed
[INFO] [stdout]   --> src/sound.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Sound {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/sound.rs:39:9
[INFO] [stdout]     |
[INFO] [stdout]  38 | impl Sound {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout]  39 |     pub fn dmg(player: Box<dyn AudioPlayer>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  43 |     pub fn cgb(player: Box<dyn AudioPlayer>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  47 |     fn create(player: Box<dyn AudioPlayer>, dmg_mode: bool) -> Self {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub fn rb(&mut self, a: u16) -> u8 {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     pub fn wb(&mut self, a: u16, v: u8) {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub fn do_cycle(&mut self, cycles: u32) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub const fn sync(&mut self) {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     fn do_output(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 181 |     fn run(&mut self) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |     fn mix_buffers(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 291 |     fn clear_buffers(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VolumeEnvelope` is never constructed
[INFO] [stdout]    --> src/sound.rs:299:8
[INFO] [stdout]     |
[INFO] [stdout] 299 | struct VolumeEnvelope {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `rb`, `wb`, and `step` are never used
[INFO] [stdout]    --> src/sound.rs:308:11
[INFO] [stdout]     |
[INFO] [stdout] 307 | impl VolumeEnvelope {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] 308 |     const fn new() -> Self {
[INFO] [stdout]     |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 318 |     const fn rb(&self, a: u16) -> u8 {
[INFO] [stdout]     |              ^^
[INFO] [stdout] ...
[INFO] [stdout] 329 |     const fn wb(&mut self, a: u16, v: u8) {
[INFO] [stdout]     |              ^^
[INFO] [stdout] ...
[INFO] [stdout] 345 |     const fn step(&mut self) {
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LengthCounter` is never constructed
[INFO] [stdout]    --> src/sound.rs:359:8
[INFO] [stdout]     |
[INFO] [stdout] 359 | struct LengthCounter {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/sound.rs:366:11
[INFO] [stdout]     |
[INFO] [stdout] 365 | impl LengthCounter {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 366 |     const fn new(max: u16) -> Self {
[INFO] [stdout]     |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |     const fn is_active(&self) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 378 |     const fn extra_step(frame_step: u8) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 382 |     const fn enable(&mut self, enable: bool, frame_step: u8) {
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 389 |     const fn set(&mut self, minus_value: u8) {
[INFO] [stdout]     |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 393 |     const fn trigger(&mut self, frame_step: u8) {
[INFO] [stdout]     |              ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 402 |     const fn step(&mut self) {
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SquareChannel` is never constructed
[INFO] [stdout]    --> src/sound.rs:409:8
[INFO] [stdout]     |
[INFO] [stdout] 409 | struct SquareChannel {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/sound.rs:432:11
[INFO] [stdout]     |
[INFO] [stdout] 431 | impl SquareChannel {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 432 |     const fn new(blip: BlipBuf, with_sweep: bool) -> Self {
[INFO] [stdout]     |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 456 |     const fn on(&self) -> bool {
[INFO] [stdout]     |              ^^
[INFO] [stdout] ...
[INFO] [stdout] 460 |     fn rb(&self, a: u16) -> u8 {
[INFO] [stdout]     |        ^^
[INFO] [stdout] ...
[INFO] [stdout] 475 |     const fn wb(&mut self, a: u16, v: u8, frame_step: u8) {
[INFO] [stdout]     |              ^^
[INFO] [stdout] ...
[INFO] [stdout] 534 |     fn run(&mut self, start_time: u32, end_time: u32) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 561 |     const fn step_sweep(&mut self) {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 585 |     const fn calculate_period(&mut self) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 593 |     const fn step_length(&mut self) {
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 599 |     const fn sweep_calculate_frequency(&mut self) -> u16 {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WaveChannel` is never constructed
[INFO] [stdout]    --> src/sound.rs:617:8
[INFO] [stdout]     |
[INFO] [stdout] 617 | struct WaveChannel {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/sound.rs:634:11
[INFO] [stdout]     |
[INFO] [stdout] 633 | impl WaveChannel {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 634 |     const fn new(blip: BlipBuf, dmg_mode: bool) -> Self {
[INFO] [stdout]     |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 652 |     const fn rb(&self, a: u16) -> u8 {
[INFO] [stdout]     |              ^^
[INFO] [stdout] ...
[INFO] [stdout] 671 |     const fn wb(&mut self, a: u16, v: u8, frame_step: u8) {
[INFO] [stdout]     |              ^^
[INFO] [stdout] ...
[INFO] [stdout] 714 |     const fn calculate_period(&mut self) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 722 |     const fn on(&self) -> bool {
[INFO] [stdout]     |              ^^
[INFO] [stdout] ...
[INFO] [stdout] 726 |     const fn step_length(&mut self) {
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 731 |     const fn dmg_maybe_corrupt_waveram(&mut self) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 749 |     fn run(&mut self, start_time: u32, end_time: u32) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NoiseChannel` is never constructed
[INFO] [stdout]    --> src/sound.rs:796:8
[INFO] [stdout]     |
[INFO] [stdout] 796 | struct NoiseChannel {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `rb`, `wb`, `on`, `run`, and `step_length` are never used
[INFO] [stdout]    --> src/sound.rs:811:11
[INFO] [stdout]     |
[INFO] [stdout] 810 | impl NoiseChannel {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 811 |     const fn new(blip: BlipBuf) -> Self {
[INFO] [stdout]     |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 827 |     const fn rb(&self, a: u16) -> u8 {
[INFO] [stdout]     |              ^^
[INFO] [stdout] ...
[INFO] [stdout] 837 |     fn wb(&mut self, a: u16, v: u8, frame_step: u8) {
[INFO] [stdout]     |        ^^
[INFO] [stdout] ...
[INFO] [stdout] 875 |     const fn on(&self) -> bool {
[INFO] [stdout]     |              ^^
[INFO] [stdout] ...
[INFO] [stdout] 879 |     fn run(&mut self, start_time: u32, end_time: u32) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 909 |     const fn step_length(&mut self) {
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_blipbuf` is never used
[INFO] [stdout]    --> src/sound.rs:923:4
[INFO] [stdout]     |
[INFO] [stdout] 923 | fn create_blipbuf(samples_rate: u32) -> BlipBuf {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Timer` is never constructed
[INFO] [stdout]  --> src/timer.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Timer {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `rb`, `wb`, and `do_cycle` are never used
[INFO] [stdout]   --> src/timer.rs:16:15
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Timer {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 16 |     pub const fn new() -> Self {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn rb(&self, a: u16) -> u8 {
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn wb(&mut self, a: u16, v: u8) {
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub const fn do_cycle(&mut self, ticks: u32) {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CPU` is never constructed
[INFO] [stdout]   --> src/cpu.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct CPU {
[INFO] [stdout]    |            ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/cpu.rs:21:9
[INFO] [stdout]     |
[INFO] [stdout]  20 | impl CPU {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout]  21 |     pub fn classic(
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  39 |     pub fn cgb(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  56 |     pub fn do_cycle(&mut self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  61 |     fn get_ticks(&mut self) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  72 |     fn handle_interrupt(&mut self) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn push_stack(&mut self, value: u16) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     fn update_ime(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     fn call(&mut self) -> u32 {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Device` is never constructed
[INFO] [stdout]   --> src/device.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Device {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `GbSpeed` is never used
[INFO] [stdout]   --> src/gb_mode.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum GbSpeed {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VRAM_SIZE` is never used
[INFO] [stdout]  --> src/gpu.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const VRAM_SIZE: usize = 0x4000;
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VOAM_SIZE` is never used
[INFO] [stdout]  --> src/gpu.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const VOAM_SIZE: usize = 0xA0;
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GPU` is never constructed
[INFO] [stdout]   --> src/gpu.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct GPU {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/gpu.rs:64:9
[INFO] [stdout]     |
[INFO] [stdout]  63 | impl GPU {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout]  64 |     pub fn classic() -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn cgb() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn do_cycle(&mut self, ticks: u32) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     const fn check_interrupt_lyc(&mut self) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     fn change_mode(&mut self, mode: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     pub fn rb(&self, a: u16) -> u8 {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     fn rbvram0(&self, a: u16) -> u8 {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 272 |     fn rbvram1(&self, a: u16) -> u8 {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     pub fn wb(&mut self, a: u16, v: u8) {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 394 |     fn clear_screen(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 402 |     fn update_pal(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 410 |     const fn get_monochrome_pal_val(value: u8, index: usize) -> u8 {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 419 |     fn render_scan(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 433 |     fn set_color(&mut self, x: usize, color: u8) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 439 |     fn set_rgb(&mut self, x: usize, r: u8, g: u8, b: u8) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 451 |     fn draw_bg(&mut self) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 554 |     fn draw_sprites(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 664 |     pub const fn may_hdma(&self) -> bool {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PrioType` is never used
[INFO] [stdout]    --> src/gpu.rs:670:6
[INFO] [stdout]     |
[INFO] [stdout] 670 | enum PrioType {
[INFO] [stdout]     |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dmg_sprite_order` is never used
[INFO] [stdout]    --> src/gpu.rs:677:4
[INFO] [stdout]     |
[INFO] [stdout] 677 | fn dmg_sprite_order(a: &(i32, i32, u8), b: &(i32, i32, u8)) -> Ordering {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cgb_sprite_order` is never used
[INFO] [stdout]    --> src/gpu.rs:686:4
[INFO] [stdout]     |
[INFO] [stdout] 686 | fn cgb_sprite_order(a: &(i32, i32, u8), b: &(i32, i32, u8)) -> Ordering {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/mbc/mod.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl FileBackedMBC {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] 24 |     pub fn new(rom_path: PathBuf, skip_checksum: bool) -> StrResult<Self> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_mbc` is never used
[INFO] [stdout]    --> src/mbc/mod.rs:139:8
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub fn get_mbc(data: Vec<u8>, skip_checksum: bool) -> StrResult<Box<dyn MBC + 'static>> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ram_banks` is never used
[INFO] [stdout]    --> src/mbc/mod.rs:158:10
[INFO] [stdout]     |
[INFO] [stdout] 158 | const fn ram_banks(v: u8) -> usize {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rom_banks` is never used
[INFO] [stdout]    --> src/mbc/mod.rs:168:10
[INFO] [stdout]     |
[INFO] [stdout] 168 | const fn rom_banks(v: u8) -> usize {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/mbc/mbc0.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl MBC0 {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 12 |     pub const fn new(data: Vec<u8>) -> StrResult<Self> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/mbc/mbc1.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl MBC1 {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 22 |     pub fn new(data: Vec<u8>) -> StrResult<Self> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/mbc/mbc2.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl MBC2 {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 19 |     pub fn new(data: Vec<u8>) -> StrResult<Self> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/mbc/mbc3.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl MBC3 {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 24 |     pub fn new(data: Vec<u8>) -> StrResult<Self> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/mbc/mbc5.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl MBC5 {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 21 |     pub fn new(data: Vec<u8>) -> StrResult<Self> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WRAM_SIZE` is never used
[INFO] [stdout]   --> src/mmu.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const WRAM_SIZE: usize = 0x8000;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ZRAM_SIZE` is never used
[INFO] [stdout]   --> src/mmu.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const ZRAM_SIZE: usize = 0x7F;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MMU` is never constructed
[INFO] [stdout]   --> src/mmu.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct MMU {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/mmu.rs:47:9
[INFO] [stdout]     |
[INFO] [stdout]  46 | impl MMU {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout]  47 |     pub fn classic(
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     pub fn cgb(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     fn determine_mode(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     fn set_initial(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn rb(&mut self, address: u16) -> u8 {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     pub fn rw(&mut self, address: u16) -> u16 {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 219 |     pub fn wb(&mut self, address: u16, value: u8) {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 259 |     pub fn do_cycle(&mut self, ticks: u32) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     pub fn ww(&mut self, address: u16, value: u16) {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 285 |     pub const fn switch_speed(&mut self) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 297 |     fn oamdma(&mut self, value: u8) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 305 |     fn hdma_read(&self, a: u16) -> u8 {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 320 |     fn hdma_write(&mut self, a: u16, v: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 355 |     fn perform_vramdma(&mut self) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 363 |     fn perform_hdma(&mut self) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 377 |     fn perform_gdma(&mut self) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 387 |     fn perform_vramdma_row(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DMAType` is never used
[INFO] [stdout]    --> src/mmu.rs:405:6
[INFO] [stdout]     |
[INFO] [stdout] 405 | enum DMAType {
[INFO] [stdout]     |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fill_random` is never used
[INFO] [stdout]    --> src/mmu.rs:411:4
[INFO] [stdout]     |
[INFO] [stdout] 411 | fn fill_random(slice: &mut [u8], start: u32) {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GbPrinter` is never constructed
[INFO] [stdout]  --> src/printer.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct GbPrinter {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/printer.rs:23:15
[INFO] [stdout]     |
[INFO] [stdout]  22 | impl GbPrinter {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout]  23 |     pub const fn new() -> Self {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout]  37 |     fn check_crc(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  49 |     const fn reset(&mut self) {
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  58 |     fn show(&mut self) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  65 |     fn show_inner(&mut self) -> ::std::io::Result<PathBuf> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     fn receive(&mut self) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     fn command(&mut self) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn send(&mut self, v: u8) -> u8 {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Serial` is never constructed
[INFO] [stdout]  --> src/serial.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Serial {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_callback`, `wb`, `rb`, `set_callback`, and `clear_callback` are never used
[INFO] [stdout]   --> src/serial.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Serial {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 13 |     pub const fn new() -> Self {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn with_callback(cb: Box<dyn SerialCallback>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn wb(&mut self, a: u16, v: u8) {
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn rb(&self, a: u16) -> u8 {
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn set_callback(&mut self, cb: Box<dyn SerialCallback>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn clear_callback(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WAVE_PATTERN` is never used
[INFO] [stdout]  --> src/sound.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const WAVE_PATTERN: [[i32; 8]; 4] = [
[INFO] [stdout]   |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CLOCKS_PER_SECOND` is never used
[INFO] [stdout]   --> src/sound.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const CLOCKS_PER_SECOND: u32 = 1 << 22;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CLOCKS_PER_FRAME` is never used
[INFO] [stdout]   --> src/sound.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const CLOCKS_PER_FRAME: u32 = CLOCKS_PER_SECOND / 512;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OUTPUT_SAMPLE_COUNT` is never used
[INFO] [stdout]   --> src/sound.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const OUTPUT_SAMPLE_COUNT: usize = 2000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SWEEP_DELAY_ZERO_PERIOD` is never used
[INFO] [stdout]   --> src/sound.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const SWEEP_DELAY_ZERO_PERIOD: u8 = 8;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WAVE_INITIAL_DELAY` is never used
[INFO] [stdout]   --> src/sound.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const WAVE_INITIAL_DELAY: u32 = 4;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Sound` is never constructed
[INFO] [stdout]   --> src/sound.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Sound {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/sound.rs:39:9
[INFO] [stdout]     |
[INFO] [stdout]  38 | impl Sound {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout]  39 |     pub fn dmg(player: Box<dyn AudioPlayer>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  43 |     pub fn cgb(player: Box<dyn AudioPlayer>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  47 |     fn create(player: Box<dyn AudioPlayer>, dmg_mode: bool) -> Self {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub fn rb(&mut self, a: u16) -> u8 {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     pub fn wb(&mut self, a: u16, v: u8) {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub fn do_cycle(&mut self, cycles: u32) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub const fn sync(&mut self) {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     fn do_output(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 181 |     fn run(&mut self) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |     fn mix_buffers(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 291 |     fn clear_buffers(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VolumeEnvelope` is never constructed
[INFO] [stdout]    --> src/sound.rs:299:8
[INFO] [stdout]     |
[INFO] [stdout] 299 | struct VolumeEnvelope {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `rb`, `wb`, and `step` are never used
[INFO] [stdout]    --> src/sound.rs:308:11
[INFO] [stdout]     |
[INFO] [stdout] 307 | impl VolumeEnvelope {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] 308 |     const fn new() -> Self {
[INFO] [stdout]     |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 318 |     const fn rb(&self, a: u16) -> u8 {
[INFO] [stdout]     |              ^^
[INFO] [stdout] ...
[INFO] [stdout] 329 |     const fn wb(&mut self, a: u16, v: u8) {
[INFO] [stdout]     |              ^^
[INFO] [stdout] ...
[INFO] [stdout] 345 |     const fn step(&mut self) {
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LengthCounter` is never constructed
[INFO] [stdout]    --> src/sound.rs:359:8
[INFO] [stdout]     |
[INFO] [stdout] 359 | struct LengthCounter {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/sound.rs:366:11
[INFO] [stdout]     |
[INFO] [stdout] 365 | impl LengthCounter {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 366 |     const fn new(max: u16) -> Self {
[INFO] [stdout]     |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |     const fn is_active(&self) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 378 |     const fn extra_step(frame_step: u8) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 382 |     const fn enable(&mut self, enable: bool, frame_step: u8) {
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 389 |     const fn set(&mut self, minus_value: u8) {
[INFO] [stdout]     |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 393 |     const fn trigger(&mut self, frame_step: u8) {
[INFO] [stdout]     |              ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 402 |     const fn step(&mut self) {
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SquareChannel` is never constructed
[INFO] [stdout]    --> src/sound.rs:409:8
[INFO] [stdout]     |
[INFO] [stdout] 409 | struct SquareChannel {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/sound.rs:432:11
[INFO] [stdout]     |
[INFO] [stdout] 431 | impl SquareChannel {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 432 |     const fn new(blip: BlipBuf, with_sweep: bool) -> Self {
[INFO] [stdout]     |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 456 |     const fn on(&self) -> bool {
[INFO] [stdout]     |              ^^
[INFO] [stdout] ...
[INFO] [stdout] 460 |     fn rb(&self, a: u16) -> u8 {
[INFO] [stdout]     |        ^^
[INFO] [stdout] ...
[INFO] [stdout] 475 |     const fn wb(&mut self, a: u16, v: u8, frame_step: u8) {
[INFO] [stdout]     |              ^^
[INFO] [stdout] ...
[INFO] [stdout] 534 |     fn run(&mut self, start_time: u32, end_time: u32) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 561 |     const fn step_sweep(&mut self) {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 585 |     const fn calculate_period(&mut self) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 593 |     const fn step_length(&mut self) {
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 599 |     const fn sweep_calculate_frequency(&mut self) -> u16 {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WaveChannel` is never constructed
[INFO] [stdout]    --> src/sound.rs:617:8
[INFO] [stdout]     |
[INFO] [stdout] 617 | struct WaveChannel {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/sound.rs:634:11
[INFO] [stdout]     |
[INFO] [stdout] 633 | impl WaveChannel {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 634 |     const fn new(blip: BlipBuf, dmg_mode: bool) -> Self {
[INFO] [stdout]     |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 652 |     const fn rb(&self, a: u16) -> u8 {
[INFO] [stdout]     |              ^^
[INFO] [stdout] ...
[INFO] [stdout] 671 |     const fn wb(&mut self, a: u16, v: u8, frame_step: u8) {
[INFO] [stdout]     |              ^^
[INFO] [stdout] ...
[INFO] [stdout] 714 |     const fn calculate_period(&mut self) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 722 |     const fn on(&self) -> bool {
[INFO] [stdout]     |              ^^
[INFO] [stdout] ...
[INFO] [stdout] 726 |     const fn step_length(&mut self) {
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 731 |     const fn dmg_maybe_corrupt_waveram(&mut self) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 749 |     fn run(&mut self, start_time: u32, end_time: u32) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NoiseChannel` is never constructed
[INFO] [stdout]    --> src/sound.rs:796:8
[INFO] [stdout]     |
[INFO] [stdout] 796 | struct NoiseChannel {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `rb`, `wb`, `on`, `run`, and `step_length` are never used
[INFO] [stdout]    --> src/sound.rs:811:11
[INFO] [stdout]     |
[INFO] [stdout] 810 | impl NoiseChannel {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 811 |     const fn new(blip: BlipBuf) -> Self {
[INFO] [stdout]     |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 827 |     const fn rb(&self, a: u16) -> u8 {
[INFO] [stdout]     |              ^^
[INFO] [stdout] ...
[INFO] [stdout] 837 |     fn wb(&mut self, a: u16, v: u8, frame_step: u8) {
[INFO] [stdout]     |        ^^
[INFO] [stdout] ...
[INFO] [stdout] 875 |     const fn on(&self) -> bool {
[INFO] [stdout]     |              ^^
[INFO] [stdout] ...
[INFO] [stdout] 879 |     fn run(&mut self, start_time: u32, end_time: u32) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 909 |     const fn step_length(&mut self) {
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_blipbuf` is never used
[INFO] [stdout]    --> src/sound.rs:923:4
[INFO] [stdout]     |
[INFO] [stdout] 923 | fn create_blipbuf(samples_rate: u32) -> BlipBuf {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Timer` is never constructed
[INFO] [stdout]  --> src/timer.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Timer {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `rb`, `wb`, and `do_cycle` are never used
[INFO] [stdout]   --> src/timer.rs:16:15
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Timer {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 16 |     pub const fn new() -> Self {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn rb(&self, a: u16) -> u8 {
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn wb(&mut self, a: u16, v: u8) {
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub const fn do_cycle(&mut self, ticks: u32) {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.33s
[INFO] running `Command { std: "docker" "inspect" "6c8edca73bb214dc7b4d9d0624c5d21b5672cdff13a70664e9540c12ec3618e6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6c8edca73bb214dc7b4d9d0624c5d21b5672cdff13a70664e9540c12ec3618e6", kill_on_drop: false }`
[INFO] [stdout] 6c8edca73bb214dc7b4d9d0624c5d21b5672cdff13a70664e9540c12ec3618e6
