[INFO] cloning repository https://github.com/msierks/rustcube [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/msierks/rustcube" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmsierks%2Frustcube", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmsierks%2Frustcube'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 04eea8315ec56662ac54bcdc24c4a76f2c4c6a9d [INFO] testing msierks/rustcube against beta-2022-04-10 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmsierks%2Frustcube" "/workspace/builds/worker-42/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-42/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/msierks/rustcube on toolchain beta-2022-04-10 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/msierks/rustcube [INFO] finished tweaking git repo https://github.com/msierks/rustcube [INFO] tweaked toml for git repo https://github.com/msierks/rustcube written to /workspace/builds/worker-42/source/Cargo.toml [INFO] crate git repo https://github.com/msierks/rustcube already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-42/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-42/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 03655cf25bd02395f040dbfc93a27f172ddd9a4318f9cc656999e18aa9ca089a [INFO] running `Command { std: "docker" "start" "-a" "03655cf25bd02395f040dbfc93a27f172ddd9a4318f9cc656999e18aa9ca089a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "03655cf25bd02395f040dbfc93a27f172ddd9a4318f9cc656999e18aa9ca089a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "03655cf25bd02395f040dbfc93a27f172ddd9a4318f9cc656999e18aa9ca089a", kill_on_drop: false }` [INFO] [stdout] 03655cf25bd02395f040dbfc93a27f172ddd9a4318f9cc656999e18aa9ca089a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-42/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-42/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 782fbf30b17b7cc4ef899ed9568b43ffcc54d06755adf66007f68c1ac4acf2d0 [INFO] running `Command { std: "docker" "start" "-a" "782fbf30b17b7cc4ef899ed9568b43ffcc54d06755adf66007f68c1ac4acf2d0", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling libc v0.2.68 [INFO] [stderr] Compiling pkg-config v0.3.17 [INFO] [stderr] Compiling cc v1.0.50 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling nix v0.17.0 [INFO] [stderr] Compiling unicode-width v0.1.7 [INFO] [stderr] Compiling lazy_static v0.2.11 [INFO] [stderr] Compiling bitflags v0.4.0 [INFO] [stderr] Compiling void v1.0.2 [INFO] [stderr] Compiling encode_unicode v0.1.3 [INFO] [stderr] Compiling byteorder v0.4.2 [INFO] [stderr] Compiling num-traits v0.2.11 [INFO] [stderr] Compiling num-integer v0.1.42 [INFO] [stderr] Compiling num-iter v0.1.40 [INFO] [stderr] Compiling getopts v0.2.21 [INFO] [stderr] Compiling x11-dl v2.14.0 [INFO] [stderr] Compiling minifb v0.10.7 [INFO] [stderr] Compiling rand v0.4.6 [INFO] [stderr] Compiling nix v0.5.1 [INFO] [stderr] Compiling time v0.1.42 [INFO] [stderr] Compiling num-complex v0.1.43 [INFO] [stderr] Compiling num-traits v0.1.43 [INFO] [stderr] Compiling enum_primitive v0.1.1 [INFO] [stderr] Compiling num-bigint v0.1.44 [INFO] [stderr] Compiling rustyline v1.0.0 [INFO] [stderr] Compiling num-rational v0.1.42 [INFO] [stderr] Compiling num v0.1.42 [INFO] [stderr] Compiling rustcube v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `BOOTROM_SIZE` [INFO] [stdout] --> src/exi/mod.rs:11:35 [INFO] [stdout] | [INFO] [stdout] 11 | use self::device_ipl::{DeviceIpl, BOOTROM_SIZE}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interconnect.rs:43:20 [INFO] [stdout] | [INFO] [stdout] 43 | 0x0000_0000...0x017F_FFFF => Address::Ram, [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interconnect.rs:44:20 [INFO] [stdout] | [INFO] [stdout] 44 | 0x0800_0000...0x0BFF_FFFF => Address::EmbeddedFramebuffer, [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interconnect.rs:45:20 [INFO] [stdout] | [INFO] [stdout] 45 | 0x0C00_0000...0x0C00_0FFF => Address::CommandProcessor(address - 0x0C00_0000), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interconnect.rs:46:20 [INFO] [stdout] | [INFO] [stdout] 46 | 0x0C00_1000...0x0C00_1FFF => Address::PixelEngine(address - 0x0C00_1000), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interconnect.rs:47:20 [INFO] [stdout] | [INFO] [stdout] 47 | 0x0C00_2000...0x0C00_2FFF => Address::VideoInterface(address - 0x0C00_2000), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interconnect.rs:48:20 [INFO] [stdout] | [INFO] [stdout] 48 | 0x0C00_3000...0x0C00_3FFF => Address::ProcessorInterface(address - 0x0C00_3000), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interconnect.rs:49:20 [INFO] [stdout] | [INFO] [stdout] 49 | 0x0C00_4000...0x0C00_4FFF => Address::MemoryInterface(address - 0x0C00_4000), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interconnect.rs:50:20 [INFO] [stdout] | [INFO] [stdout] 50 | 0x0C00_5000...0x0C00_5200 => Address::DspInterface(address - 0x0C00_5000), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interconnect.rs:51:20 [INFO] [stdout] | [INFO] [stdout] 51 | 0x0C00_6000...0x0C00_63FF => Address::DvdInterface(address - 0x0C00_6000), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interconnect.rs:52:20 [INFO] [stdout] | [INFO] [stdout] 52 | 0x0C00_6400...0x0C00_67FF => Address::SerialInterface(address - 0x0C00_6400), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interconnect.rs:53:20 [INFO] [stdout] | [INFO] [stdout] 53 | 0x0C00_6800...0x0C00_6938 => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interconnect.rs:58:20 [INFO] [stdout] | [INFO] [stdout] 58 | 0x0C00_6C00...0x0C00_6C20 => Address::AudioInterface(address - 0x0C00_6C00), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interconnect.rs:60:20 [INFO] [stdout] | [INFO] [stdout] 60 | 0xFFF0_0000...0xFFFF_FFFF => Address::Bootrom(address - 0xFFF0_0000), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PE_TOKEN` should have an upper camel case name [INFO] [stdout] --> src/processor_interface.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | PE_TOKEN = 0x200, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `PeToken` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PE_FINISH` should have an upper camel case name [INFO] [stdout] --> src/processor_interface.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | PE_FINISH = 0x400, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `PeFinish` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/debugger/mod.rs:171:40 [INFO] [stdout] | [INFO] [stdout] 171 | static SIGINT_ONCE: sync::Once = sync::ONCE_INIT; [INFO] [stdout] | ^^^^^^^^^ help: replace the use of the deprecated constant: `Once::new()` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/debugger/mod.rs:173:45 [INFO] [stdout] | [INFO] [stdout] 173 | static SIGINT: atomic::AtomicBool = atomic::ATOMIC_BOOL_INIT; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicBool::new(false)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/exi/channel.rs:19:23 [INFO] [stdout] | [INFO] [stdout] 19 | pub devices: [Box; NUM_DEVICES], [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 - pub devices: [Box; NUM_DEVICES], [INFO] [stdout] 19 + pub devices: [Box; NUM_DEVICES], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/cpu_load_store.rs:216:24 [INFO] [stdout] | [INFO] [stdout] 216 | debugger: &mut Debugger, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 216 - debugger: &mut Debugger, [INFO] [stdout] 216 + debugger: &mut dyn Debugger, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/cpu_load_store.rs:233:24 [INFO] [stdout] | [INFO] [stdout] 233 | debugger: &mut Debugger, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 233 - debugger: &mut Debugger, [INFO] [stdout] 233 + debugger: &mut dyn Debugger, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/cpu_load_store.rs:250:24 [INFO] [stdout] | [INFO] [stdout] 250 | debugger: &mut Debugger, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 250 - debugger: &mut Debugger, [INFO] [stdout] 250 + debugger: &mut dyn Debugger, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/cpu_load_store.rs:265:24 [INFO] [stdout] | [INFO] [stdout] 265 | debugger: &mut Debugger, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 265 - debugger: &mut Debugger, [INFO] [stdout] 265 + debugger: &mut dyn Debugger, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/cpu_load_store.rs:282:24 [INFO] [stdout] | [INFO] [stdout] 282 | debugger: &mut Debugger, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 282 - debugger: &mut Debugger, [INFO] [stdout] 282 + debugger: &mut dyn Debugger, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/cpu_load_store.rs:301:24 [INFO] [stdout] | [INFO] [stdout] 301 | debugger: &mut Debugger, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 301 - debugger: &mut Debugger, [INFO] [stdout] 301 + debugger: &mut dyn Debugger, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/cpu_load_store.rs:319:24 [INFO] [stdout] | [INFO] [stdout] 319 | debugger: &mut Debugger, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 319 - debugger: &mut Debugger, [INFO] [stdout] 319 + debugger: &mut dyn Debugger, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/cpu_load_store.rs:336:24 [INFO] [stdout] | [INFO] [stdout] 336 | debugger: &mut Debugger, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 336 - debugger: &mut Debugger, [INFO] [stdout] 336 + debugger: &mut dyn Debugger, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/cpu_load_store.rs:355:24 [INFO] [stdout] | [INFO] [stdout] 355 | debugger: &mut Debugger, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 355 - debugger: &mut Debugger, [INFO] [stdout] 355 + debugger: &mut dyn Debugger, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/cpu_load_store.rs:379:24 [INFO] [stdout] | [INFO] [stdout] 379 | debugger: &mut Debugger, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 379 - debugger: &mut Debugger, [INFO] [stdout] 379 + debugger: &mut dyn Debugger, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/cpu_load_store.rs:402:24 [INFO] [stdout] | [INFO] [stdout] 402 | debugger: &mut Debugger, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 402 - debugger: &mut Debugger, [INFO] [stdout] 402 + debugger: &mut dyn Debugger, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/cpu_load_store.rs:419:24 [INFO] [stdout] | [INFO] [stdout] 419 | debugger: &mut Debugger, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 419 - debugger: &mut Debugger, [INFO] [stdout] 419 + debugger: &mut dyn Debugger, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/mod.rs:153:87 [INFO] [stdout] | [INFO] [stdout] 153 | pub fn run_instruction(&mut self, interconnect: &mut Interconnect, debugger: &mut Debugger) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 153 - pub fn run_instruction(&mut self, interconnect: &mut Interconnect, debugger: &mut Debugger) { [INFO] [stdout] 153 + pub fn run_instruction(&mut self, interconnect: &mut Interconnect, debugger: &mut dyn Debugger) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/gamecube.rs:56:42 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn run(&mut self, debugger: &mut Debugger) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 56 - pub fn run(&mut self, debugger: &mut Debugger) { [INFO] [stdout] 56 + pub fn run(&mut self, debugger: &mut dyn Debugger) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/exi/channel.rs:23:30 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn new(devices: [Box; NUM_DEVICES]) -> Channel { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 23 - pub fn new(devices: [Box; NUM_DEVICES]) -> Channel { [INFO] [stdout] 23 + pub fn new(devices: [Box; NUM_DEVICES]) -> Channel { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/exi/channel.rs:34:47 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn get_device(&self, num: u8) -> &Box { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 34 - pub fn get_device(&self, num: u8) -> &Box { [INFO] [stdout] 34 + pub fn get_device(&self, num: u8) -> &Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/exi/channel.rs:41:59 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn get_device_mut(&mut self, num: u8) -> &mut Box { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 41 - pub fn get_device_mut(&mut self, num: u8) -> &mut Box { [INFO] [stdout] 41 + pub fn get_device_mut(&mut self, num: u8) -> &mut Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::sync::atomic::AtomicBool::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead [INFO] [stdout] --> src/debugger/mod.rs:80:16 [INFO] [stdout] | [INFO] [stdout] 80 | SIGINT.compare_and_swap(true, false, atomic::Ordering::SeqCst) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/exi/device_ipl.rs:164:21 [INFO] [stdout] | [INFO] [stdout] 164 | let mut bootrom = &*self.bootrom.borrow_mut(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `text_offset` [INFO] [stdout] --> src/dol.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | text_offset: [u32; NUM_TEXT], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] note: `Header` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dol.rs:13:19 [INFO] [stdout] | [INFO] [stdout] 13 | #[derive(Default, Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `data_offset` [INFO] [stdout] --> src/dol.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | data_offset: [u32; NUM_DATA], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Header` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dol.rs:13:19 [INFO] [stdout] | [INFO] [stdout] 13 | #[derive(Default, Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `text_size` [INFO] [stdout] --> src/dol.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | text_size: [u32; NUM_TEXT], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Header` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dol.rs:13:19 [INFO] [stdout] | [INFO] [stdout] 13 | #[derive(Default, Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `data_size` [INFO] [stdout] --> src/dol.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | data_size: [u32; NUM_DATA], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Header` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dol.rs:13:19 [INFO] [stdout] | [INFO] [stdout] 13 | #[derive(Default, Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `bss_address` [INFO] [stdout] --> src/dol.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | bss_address: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Header` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dol.rs:13:19 [INFO] [stdout] | [INFO] [stdout] 13 | #[derive(Default, Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `bss_size` [INFO] [stdout] --> src/dol.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | bss_size: u32, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Header` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dol.rs:13:19 [INFO] [stdout] | [INFO] [stdout] 13 | #[derive(Default, Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `break_interrupt` [INFO] [stdout] --> src/dvd_interface.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | break_interrupt: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `StatusRegister` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dvd_interface.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `break_interrupt_mask` [INFO] [stdout] --> src/dvd_interface.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | break_interrupt_mask: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `StatusRegister` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dvd_interface.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `transfer_interrupt` [INFO] [stdout] --> src/dvd_interface.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | transfer_interrupt: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `StatusRegister` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dvd_interface.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `transfer_interrupt_mask` [INFO] [stdout] --> src/dvd_interface.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | transfer_interrupt_mask: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `StatusRegister` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dvd_interface.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `device_error_interrupt` [INFO] [stdout] --> src/dvd_interface.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | device_error_interrupt: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `StatusRegister` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dvd_interface.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `device_error_interrup_mask` [INFO] [stdout] --> src/dvd_interface.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | device_error_interrup_mask: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `StatusRegister` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dvd_interface.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `di_break` [INFO] [stdout] --> src/dvd_interface.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | di_break: bool [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `StatusRegister` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dvd_interface.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `interrupt_status` [INFO] [stdout] --> src/dvd_interface.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | interrupt_status: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `CoverRegister` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dvd_interface.rs:54:10 [INFO] [stdout] | [INFO] [stdout] 54 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `interrupt_mask` [INFO] [stdout] --> src/dvd_interface.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | interrupt_mask: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `CoverRegister` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dvd_interface.rs:54:10 [INFO] [stdout] | [INFO] [stdout] 54 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `signal_state` [INFO] [stdout] --> src/dvd_interface.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | signal_state: bool [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `CoverRegister` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dvd_interface.rs:54:10 [INFO] [stdout] | [INFO] [stdout] 54 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `active_video` [INFO] [stdout] --> src/video_interface.rs:264:5 [INFO] [stdout] | [INFO] [stdout] 264 | active_video: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `VerticalTiming` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/video_interface.rs:262:10 [INFO] [stdout] | [INFO] [stdout] 262 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `equalization` [INFO] [stdout] --> src/video_interface.rs:265:5 [INFO] [stdout] | [INFO] [stdout] 265 | equalization: u8, // equalization pulse in half lines [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `VerticalTiming` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/video_interface.rs:262:10 [INFO] [stdout] | [INFO] [stdout] 262 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `fp_exception` [INFO] [stdout] --> src/cpu/fpscr.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | fp_exception: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Fpscr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/cpu/fpscr.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Default, Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `fp_enabled` [INFO] [stdout] --> src/cpu/fpscr.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | fp_enabled: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Fpscr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/cpu/fpscr.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Default, Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `invalid_operation_exception` [INFO] [stdout] --> src/cpu/fpscr.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | invalid_operation_exception: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Fpscr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/cpu/fpscr.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Default, Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `overflow_exception` [INFO] [stdout] --> src/cpu/fpscr.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | overflow_exception: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Fpscr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/cpu/fpscr.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Default, Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `underflow_exception` [INFO] [stdout] --> src/cpu/fpscr.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | underflow_exception: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Fpscr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/cpu/fpscr.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Default, Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `zero_divid_exception` [INFO] [stdout] --> src/cpu/fpscr.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | zero_divid_exception: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Fpscr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/cpu/fpscr.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Default, Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `inexact_exception` [INFO] [stdout] --> src/cpu/fpscr.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | inexact_exception: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Fpscr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/cpu/fpscr.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Default, Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 63 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/main.rs:26:26 [INFO] [stdout] | [INFO] [stdout] 26 | Err(f) => panic!(f.to_string()), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 26 | Err(f) => panic!("{}", f.to_string()), [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 56.25s [INFO] running `Command { std: "docker" "inspect" "782fbf30b17b7cc4ef899ed9568b43ffcc54d06755adf66007f68c1ac4acf2d0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "782fbf30b17b7cc4ef899ed9568b43ffcc54d06755adf66007f68c1ac4acf2d0", kill_on_drop: false }` [INFO] [stdout] 782fbf30b17b7cc4ef899ed9568b43ffcc54d06755adf66007f68c1ac4acf2d0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-42/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-42/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0f543d2d0f12d342e3e2905148fe5b6b1e95155f13ed97031bc5887efad1dd03 [INFO] running `Command { std: "docker" "start" "-a" "0f543d2d0f12d342e3e2905148fe5b6b1e95155f13ed97031bc5887efad1dd03", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stdout] warning: unused import: `BOOTROM_SIZE` [INFO] [stdout] --> src/exi/mod.rs:11:35 [INFO] [stdout] | [INFO] [stdout] 11 | use self::device_ipl::{DeviceIpl, BOOTROM_SIZE}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interconnect.rs:43:20 [INFO] [stdout] | [INFO] [stdout] 43 | 0x0000_0000...0x017F_FFFF => Address::Ram, [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interconnect.rs:44:20 [INFO] [stdout] | [INFO] [stdout] 44 | 0x0800_0000...0x0BFF_FFFF => Address::EmbeddedFramebuffer, [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interconnect.rs:45:20 [INFO] [stdout] | [INFO] [stdout] 45 | 0x0C00_0000...0x0C00_0FFF => Address::CommandProcessor(address - 0x0C00_0000), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interconnect.rs:46:20 [INFO] [stdout] | [INFO] [stdout] 46 | 0x0C00_1000...0x0C00_1FFF => Address::PixelEngine(address - 0x0C00_1000), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interconnect.rs:47:20 [INFO] [stdout] | [INFO] [stdout] 47 | 0x0C00_2000...0x0C00_2FFF => Address::VideoInterface(address - 0x0C00_2000), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interconnect.rs:48:20 [INFO] [stdout] | [INFO] [stdout] 48 | 0x0C00_3000...0x0C00_3FFF => Address::ProcessorInterface(address - 0x0C00_3000), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interconnect.rs:49:20 [INFO] [stdout] | [INFO] [stdout] 49 | 0x0C00_4000...0x0C00_4FFF => Address::MemoryInterface(address - 0x0C00_4000), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interconnect.rs:50:20 [INFO] [stdout] | [INFO] [stdout] 50 | 0x0C00_5000...0x0C00_5200 => Address::DspInterface(address - 0x0C00_5000), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interconnect.rs:51:20 [INFO] [stdout] | [INFO] [stdout] 51 | 0x0C00_6000...0x0C00_63FF => Address::DvdInterface(address - 0x0C00_6000), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interconnect.rs:52:20 [INFO] [stdout] | [INFO] [stdout] 52 | 0x0C00_6400...0x0C00_67FF => Address::SerialInterface(address - 0x0C00_6400), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interconnect.rs:53:20 [INFO] [stdout] | [INFO] [stdout] 53 | 0x0C00_6800...0x0C00_6938 => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interconnect.rs:58:20 [INFO] [stdout] | [INFO] [stdout] 58 | 0x0C00_6C00...0x0C00_6C20 => Address::AudioInterface(address - 0x0C00_6C00), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interconnect.rs:60:20 [INFO] [stdout] | [INFO] [stdout] 60 | 0xFFF0_0000...0xFFFF_FFFF => Address::Bootrom(address - 0xFFF0_0000), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PE_TOKEN` should have an upper camel case name [INFO] [stdout] --> src/processor_interface.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | PE_TOKEN = 0x200, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `PeToken` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PE_FINISH` should have an upper camel case name [INFO] [stdout] --> src/processor_interface.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | PE_FINISH = 0x400, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `PeFinish` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/debugger/mod.rs:171:40 [INFO] [stdout] | [INFO] [stdout] 171 | static SIGINT_ONCE: sync::Once = sync::ONCE_INIT; [INFO] [stdout] | ^^^^^^^^^ help: replace the use of the deprecated constant: `Once::new()` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/debugger/mod.rs:173:45 [INFO] [stdout] | [INFO] [stdout] 173 | static SIGINT: atomic::AtomicBool = atomic::ATOMIC_BOOL_INIT; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicBool::new(false)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/exi/channel.rs:19:23 [INFO] [stdout] | [INFO] [stdout] 19 | pub devices: [Box; NUM_DEVICES], [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 - pub devices: [Box; NUM_DEVICES], [INFO] [stdout] 19 + pub devices: [Box; NUM_DEVICES], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/cpu_load_store.rs:216:24 [INFO] [stdout] | [INFO] [stdout] 216 | debugger: &mut Debugger, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 216 - debugger: &mut Debugger, [INFO] [stdout] 216 + debugger: &mut dyn Debugger, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/cpu_load_store.rs:233:24 [INFO] [stdout] | [INFO] [stdout] 233 | debugger: &mut Debugger, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 233 - debugger: &mut Debugger, [INFO] [stdout] 233 + debugger: &mut dyn Debugger, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/cpu_load_store.rs:250:24 [INFO] [stdout] | [INFO] [stdout] 250 | debugger: &mut Debugger, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 250 - debugger: &mut Debugger, [INFO] [stdout] 250 + debugger: &mut dyn Debugger, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/cpu_load_store.rs:265:24 [INFO] [stdout] | [INFO] [stdout] 265 | debugger: &mut Debugger, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 265 - debugger: &mut Debugger, [INFO] [stdout] 265 + debugger: &mut dyn Debugger, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/cpu_load_store.rs:282:24 [INFO] [stdout] | [INFO] [stdout] 282 | debugger: &mut Debugger, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 282 - debugger: &mut Debugger, [INFO] [stdout] 282 + debugger: &mut dyn Debugger, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/cpu_load_store.rs:301:24 [INFO] [stdout] | [INFO] [stdout] 301 | debugger: &mut Debugger, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 301 - debugger: &mut Debugger, [INFO] [stdout] 301 + debugger: &mut dyn Debugger, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/cpu_load_store.rs:319:24 [INFO] [stdout] | [INFO] [stdout] 319 | debugger: &mut Debugger, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 319 - debugger: &mut Debugger, [INFO] [stdout] 319 + debugger: &mut dyn Debugger, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/cpu_load_store.rs:336:24 [INFO] [stdout] | [INFO] [stdout] 336 | debugger: &mut Debugger, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 336 - debugger: &mut Debugger, [INFO] [stdout] 336 + debugger: &mut dyn Debugger, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/cpu_load_store.rs:355:24 [INFO] [stdout] | [INFO] [stdout] 355 | debugger: &mut Debugger, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 355 - debugger: &mut Debugger, [INFO] [stdout] 355 + debugger: &mut dyn Debugger, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/cpu_load_store.rs:379:24 [INFO] [stdout] | [INFO] [stdout] 379 | debugger: &mut Debugger, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 379 - debugger: &mut Debugger, [INFO] [stdout] 379 + debugger: &mut dyn Debugger, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/cpu_load_store.rs:402:24 [INFO] [stdout] | [INFO] [stdout] 402 | debugger: &mut Debugger, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 402 - debugger: &mut Debugger, [INFO] [stdout] 402 + debugger: &mut dyn Debugger, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/cpu_load_store.rs:419:24 [INFO] [stdout] | [INFO] [stdout] 419 | debugger: &mut Debugger, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 419 - debugger: &mut Debugger, [INFO] [stdout] 419 + debugger: &mut dyn Debugger, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/mod.rs:153:87 [INFO] [stdout] | [INFO] [stdout] 153 | pub fn run_instruction(&mut self, interconnect: &mut Interconnect, debugger: &mut Debugger) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 153 - pub fn run_instruction(&mut self, interconnect: &mut Interconnect, debugger: &mut Debugger) { [INFO] [stdout] 153 + pub fn run_instruction(&mut self, interconnect: &mut Interconnect, debugger: &mut dyn Debugger) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/gamecube.rs:56:42 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn run(&mut self, debugger: &mut Debugger) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 56 - pub fn run(&mut self, debugger: &mut Debugger) { [INFO] [stdout] 56 + pub fn run(&mut self, debugger: &mut dyn Debugger) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/exi/channel.rs:23:30 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn new(devices: [Box; NUM_DEVICES]) -> Channel { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 23 - pub fn new(devices: [Box; NUM_DEVICES]) -> Channel { [INFO] [stdout] 23 + pub fn new(devices: [Box; NUM_DEVICES]) -> Channel { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/exi/channel.rs:34:47 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn get_device(&self, num: u8) -> &Box { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 34 - pub fn get_device(&self, num: u8) -> &Box { [INFO] [stdout] 34 + pub fn get_device(&self, num: u8) -> &Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/exi/channel.rs:41:59 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn get_device_mut(&mut self, num: u8) -> &mut Box { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 41 - pub fn get_device_mut(&mut self, num: u8) -> &mut Box { [INFO] [stdout] 41 + pub fn get_device_mut(&mut self, num: u8) -> &mut Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::sync::atomic::AtomicBool::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead [INFO] [stdout] --> src/debugger/mod.rs:80:16 [INFO] [stdout] | [INFO] [stdout] 80 | SIGINT.compare_and_swap(true, false, atomic::Ordering::SeqCst) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/exi/device_ipl.rs:164:21 [INFO] [stdout] | [INFO] [stdout] 164 | let mut bootrom = &*self.bootrom.borrow_mut(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `text_offset` [INFO] [stdout] --> src/dol.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | text_offset: [u32; NUM_TEXT], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] note: `Header` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dol.rs:13:19 [INFO] [stdout] | [INFO] [stdout] 13 | #[derive(Default, Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `data_offset` [INFO] [stdout] --> src/dol.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | data_offset: [u32; NUM_DATA], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Header` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dol.rs:13:19 [INFO] [stdout] | [INFO] [stdout] 13 | #[derive(Default, Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `text_size` [INFO] [stdout] --> src/dol.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | text_size: [u32; NUM_TEXT], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Header` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dol.rs:13:19 [INFO] [stdout] | [INFO] [stdout] 13 | #[derive(Default, Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `data_size` [INFO] [stdout] --> src/dol.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | data_size: [u32; NUM_DATA], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Header` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dol.rs:13:19 [INFO] [stdout] | [INFO] [stdout] 13 | #[derive(Default, Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `bss_address` [INFO] [stdout] --> src/dol.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | bss_address: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Header` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dol.rs:13:19 [INFO] [stdout] | [INFO] [stdout] 13 | #[derive(Default, Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `bss_size` [INFO] [stdout] --> src/dol.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | bss_size: u32, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Header` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dol.rs:13:19 [INFO] [stdout] | [INFO] [stdout] 13 | #[derive(Default, Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `break_interrupt` [INFO] [stdout] --> src/dvd_interface.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | break_interrupt: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `StatusRegister` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dvd_interface.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `break_interrupt_mask` [INFO] [stdout] --> src/dvd_interface.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | break_interrupt_mask: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `StatusRegister` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dvd_interface.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `transfer_interrupt` [INFO] [stdout] --> src/dvd_interface.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | transfer_interrupt: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `StatusRegister` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dvd_interface.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `transfer_interrupt_mask` [INFO] [stdout] --> src/dvd_interface.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | transfer_interrupt_mask: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `StatusRegister` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dvd_interface.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `device_error_interrupt` [INFO] [stdout] --> src/dvd_interface.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | device_error_interrupt: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `StatusRegister` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dvd_interface.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `device_error_interrup_mask` [INFO] [stdout] --> src/dvd_interface.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | device_error_interrup_mask: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `StatusRegister` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dvd_interface.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `di_break` [INFO] [stdout] --> src/dvd_interface.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | di_break: bool [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `StatusRegister` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dvd_interface.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `interrupt_status` [INFO] [stdout] --> src/dvd_interface.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | interrupt_status: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `CoverRegister` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dvd_interface.rs:54:10 [INFO] [stdout] | [INFO] [stdout] 54 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `interrupt_mask` [INFO] [stdout] --> src/dvd_interface.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | interrupt_mask: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `CoverRegister` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dvd_interface.rs:54:10 [INFO] [stdout] | [INFO] [stdout] 54 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `signal_state` [INFO] [stdout] --> src/dvd_interface.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | signal_state: bool [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `CoverRegister` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dvd_interface.rs:54:10 [INFO] [stdout] | [INFO] [stdout] 54 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `active_video` [INFO] [stdout] --> src/video_interface.rs:264:5 [INFO] [stdout] | [INFO] [stdout] 264 | active_video: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `VerticalTiming` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/video_interface.rs:262:10 [INFO] [stdout] | [INFO] [stdout] 262 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `equalization` [INFO] [stdout] --> src/video_interface.rs:265:5 [INFO] [stdout] | [INFO] [stdout] 265 | equalization: u8, // equalization pulse in half lines [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `VerticalTiming` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/video_interface.rs:262:10 [INFO] [stdout] | [INFO] [stdout] 262 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling rustcube v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: field is never read: `fp_exception` [INFO] [stdout] --> src/cpu/fpscr.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | fp_exception: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Fpscr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/cpu/fpscr.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Default, Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `fp_enabled` [INFO] [stdout] --> src/cpu/fpscr.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | fp_enabled: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Fpscr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/cpu/fpscr.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Default, Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `invalid_operation_exception` [INFO] [stdout] --> src/cpu/fpscr.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | invalid_operation_exception: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Fpscr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/cpu/fpscr.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Default, Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `overflow_exception` [INFO] [stdout] --> src/cpu/fpscr.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | overflow_exception: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Fpscr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/cpu/fpscr.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Default, Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `underflow_exception` [INFO] [stdout] --> src/cpu/fpscr.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | underflow_exception: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Fpscr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/cpu/fpscr.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Default, Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `zero_divid_exception` [INFO] [stdout] --> src/cpu/fpscr.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | zero_divid_exception: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Fpscr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/cpu/fpscr.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Default, Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `inexact_exception` [INFO] [stdout] --> src/cpu/fpscr.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | inexact_exception: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Fpscr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/cpu/fpscr.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Default, Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 63 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/main.rs:26:26 [INFO] [stdout] | [INFO] [stdout] 26 | Err(f) => panic!(f.to_string()), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 26 | Err(f) => panic!("{}", f.to_string()), [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BOOTROM_SIZE` [INFO] [stdout] --> src/exi/mod.rs:11:35 [INFO] [stdout] | [INFO] [stdout] 11 | use self::device_ipl::{DeviceIpl, BOOTROM_SIZE}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interconnect.rs:43:20 [INFO] [stdout] | [INFO] [stdout] 43 | 0x0000_0000...0x017F_FFFF => Address::Ram, [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interconnect.rs:44:20 [INFO] [stdout] | [INFO] [stdout] 44 | 0x0800_0000...0x0BFF_FFFF => Address::EmbeddedFramebuffer, [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interconnect.rs:45:20 [INFO] [stdout] | [INFO] [stdout] 45 | 0x0C00_0000...0x0C00_0FFF => Address::CommandProcessor(address - 0x0C00_0000), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interconnect.rs:46:20 [INFO] [stdout] | [INFO] [stdout] 46 | 0x0C00_1000...0x0C00_1FFF => Address::PixelEngine(address - 0x0C00_1000), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interconnect.rs:47:20 [INFO] [stdout] | [INFO] [stdout] 47 | 0x0C00_2000...0x0C00_2FFF => Address::VideoInterface(address - 0x0C00_2000), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interconnect.rs:48:20 [INFO] [stdout] | [INFO] [stdout] 48 | 0x0C00_3000...0x0C00_3FFF => Address::ProcessorInterface(address - 0x0C00_3000), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interconnect.rs:49:20 [INFO] [stdout] | [INFO] [stdout] 49 | 0x0C00_4000...0x0C00_4FFF => Address::MemoryInterface(address - 0x0C00_4000), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interconnect.rs:50:20 [INFO] [stdout] | [INFO] [stdout] 50 | 0x0C00_5000...0x0C00_5200 => Address::DspInterface(address - 0x0C00_5000), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interconnect.rs:51:20 [INFO] [stdout] | [INFO] [stdout] 51 | 0x0C00_6000...0x0C00_63FF => Address::DvdInterface(address - 0x0C00_6000), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interconnect.rs:52:20 [INFO] [stdout] | [INFO] [stdout] 52 | 0x0C00_6400...0x0C00_67FF => Address::SerialInterface(address - 0x0C00_6400), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interconnect.rs:53:20 [INFO] [stdout] | [INFO] [stdout] 53 | 0x0C00_6800...0x0C00_6938 => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interconnect.rs:58:20 [INFO] [stdout] | [INFO] [stdout] 58 | 0x0C00_6C00...0x0C00_6C20 => Address::AudioInterface(address - 0x0C00_6C00), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/interconnect.rs:60:20 [INFO] [stdout] | [INFO] [stdout] 60 | 0xFFF0_0000...0xFFFF_FFFF => Address::Bootrom(address - 0xFFF0_0000), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PE_TOKEN` should have an upper camel case name [INFO] [stdout] --> src/processor_interface.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | PE_TOKEN = 0x200, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `PeToken` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PE_FINISH` should have an upper camel case name [INFO] [stdout] --> src/processor_interface.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | PE_FINISH = 0x400, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `PeFinish` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/debugger/mod.rs:171:40 [INFO] [stdout] | [INFO] [stdout] 171 | static SIGINT_ONCE: sync::Once = sync::ONCE_INIT; [INFO] [stdout] | ^^^^^^^^^ help: replace the use of the deprecated constant: `Once::new()` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/debugger/mod.rs:173:45 [INFO] [stdout] | [INFO] [stdout] 173 | static SIGINT: atomic::AtomicBool = atomic::ATOMIC_BOOL_INIT; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicBool::new(false)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/exi/channel.rs:19:23 [INFO] [stdout] | [INFO] [stdout] 19 | pub devices: [Box; NUM_DEVICES], [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 - pub devices: [Box; NUM_DEVICES], [INFO] [stdout] 19 + pub devices: [Box; NUM_DEVICES], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/cpu_load_store.rs:216:24 [INFO] [stdout] | [INFO] [stdout] 216 | debugger: &mut Debugger, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 216 - debugger: &mut Debugger, [INFO] [stdout] 216 + debugger: &mut dyn Debugger, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/cpu_load_store.rs:233:24 [INFO] [stdout] | [INFO] [stdout] 233 | debugger: &mut Debugger, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 233 - debugger: &mut Debugger, [INFO] [stdout] 233 + debugger: &mut dyn Debugger, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/cpu_load_store.rs:250:24 [INFO] [stdout] | [INFO] [stdout] 250 | debugger: &mut Debugger, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 250 - debugger: &mut Debugger, [INFO] [stdout] 250 + debugger: &mut dyn Debugger, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/cpu_load_store.rs:265:24 [INFO] [stdout] | [INFO] [stdout] 265 | debugger: &mut Debugger, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 265 - debugger: &mut Debugger, [INFO] [stdout] 265 + debugger: &mut dyn Debugger, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/cpu_load_store.rs:282:24 [INFO] [stdout] | [INFO] [stdout] 282 | debugger: &mut Debugger, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 282 - debugger: &mut Debugger, [INFO] [stdout] 282 + debugger: &mut dyn Debugger, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/cpu_load_store.rs:301:24 [INFO] [stdout] | [INFO] [stdout] 301 | debugger: &mut Debugger, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 301 - debugger: &mut Debugger, [INFO] [stdout] 301 + debugger: &mut dyn Debugger, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/cpu_load_store.rs:319:24 [INFO] [stdout] | [INFO] [stdout] 319 | debugger: &mut Debugger, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 319 - debugger: &mut Debugger, [INFO] [stdout] 319 + debugger: &mut dyn Debugger, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/cpu_load_store.rs:336:24 [INFO] [stdout] | [INFO] [stdout] 336 | debugger: &mut Debugger, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 336 - debugger: &mut Debugger, [INFO] [stdout] 336 + debugger: &mut dyn Debugger, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/cpu_load_store.rs:355:24 [INFO] [stdout] | [INFO] [stdout] 355 | debugger: &mut Debugger, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 355 - debugger: &mut Debugger, [INFO] [stdout] 355 + debugger: &mut dyn Debugger, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/cpu_load_store.rs:379:24 [INFO] [stdout] | [INFO] [stdout] 379 | debugger: &mut Debugger, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 379 - debugger: &mut Debugger, [INFO] [stdout] 379 + debugger: &mut dyn Debugger, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/cpu_load_store.rs:402:24 [INFO] [stdout] | [INFO] [stdout] 402 | debugger: &mut Debugger, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 402 - debugger: &mut Debugger, [INFO] [stdout] 402 + debugger: &mut dyn Debugger, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/cpu_load_store.rs:419:24 [INFO] [stdout] | [INFO] [stdout] 419 | debugger: &mut Debugger, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 419 - debugger: &mut Debugger, [INFO] [stdout] 419 + debugger: &mut dyn Debugger, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/mod.rs:153:87 [INFO] [stdout] | [INFO] [stdout] 153 | pub fn run_instruction(&mut self, interconnect: &mut Interconnect, debugger: &mut Debugger) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 153 - pub fn run_instruction(&mut self, interconnect: &mut Interconnect, debugger: &mut Debugger) { [INFO] [stdout] 153 + pub fn run_instruction(&mut self, interconnect: &mut Interconnect, debugger: &mut dyn Debugger) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/gamecube.rs:56:42 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn run(&mut self, debugger: &mut Debugger) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 56 - pub fn run(&mut self, debugger: &mut Debugger) { [INFO] [stdout] 56 + pub fn run(&mut self, debugger: &mut dyn Debugger) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/exi/channel.rs:23:30 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn new(devices: [Box; NUM_DEVICES]) -> Channel { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 23 - pub fn new(devices: [Box; NUM_DEVICES]) -> Channel { [INFO] [stdout] 23 + pub fn new(devices: [Box; NUM_DEVICES]) -> Channel { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/exi/channel.rs:34:47 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn get_device(&self, num: u8) -> &Box { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 34 - pub fn get_device(&self, num: u8) -> &Box { [INFO] [stdout] 34 + pub fn get_device(&self, num: u8) -> &Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/exi/channel.rs:41:59 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn get_device_mut(&mut self, num: u8) -> &mut Box { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 41 - pub fn get_device_mut(&mut self, num: u8) -> &mut Box { [INFO] [stdout] 41 + pub fn get_device_mut(&mut self, num: u8) -> &mut Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::sync::atomic::AtomicBool::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead [INFO] [stdout] --> src/debugger/mod.rs:80:16 [INFO] [stdout] | [INFO] [stdout] 80 | SIGINT.compare_and_swap(true, false, atomic::Ordering::SeqCst) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/exi/device_ipl.rs:164:21 [INFO] [stdout] | [INFO] [stdout] 164 | let mut bootrom = &*self.bootrom.borrow_mut(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `text_offset` [INFO] [stdout] --> src/dol.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | text_offset: [u32; NUM_TEXT], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] note: `Header` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dol.rs:13:19 [INFO] [stdout] | [INFO] [stdout] 13 | #[derive(Default, Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `data_offset` [INFO] [stdout] --> src/dol.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | data_offset: [u32; NUM_DATA], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Header` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dol.rs:13:19 [INFO] [stdout] | [INFO] [stdout] 13 | #[derive(Default, Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `text_size` [INFO] [stdout] --> src/dol.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | text_size: [u32; NUM_TEXT], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Header` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dol.rs:13:19 [INFO] [stdout] | [INFO] [stdout] 13 | #[derive(Default, Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `data_size` [INFO] [stdout] --> src/dol.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | data_size: [u32; NUM_DATA], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Header` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dol.rs:13:19 [INFO] [stdout] | [INFO] [stdout] 13 | #[derive(Default, Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `bss_address` [INFO] [stdout] --> src/dol.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | bss_address: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Header` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dol.rs:13:19 [INFO] [stdout] | [INFO] [stdout] 13 | #[derive(Default, Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `bss_size` [INFO] [stdout] --> src/dol.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | bss_size: u32, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Header` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dol.rs:13:19 [INFO] [stdout] | [INFO] [stdout] 13 | #[derive(Default, Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `break_interrupt` [INFO] [stdout] --> src/dvd_interface.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | break_interrupt: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `StatusRegister` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dvd_interface.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `break_interrupt_mask` [INFO] [stdout] --> src/dvd_interface.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | break_interrupt_mask: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `StatusRegister` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dvd_interface.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `transfer_interrupt` [INFO] [stdout] --> src/dvd_interface.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | transfer_interrupt: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `StatusRegister` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dvd_interface.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `transfer_interrupt_mask` [INFO] [stdout] --> src/dvd_interface.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | transfer_interrupt_mask: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `StatusRegister` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dvd_interface.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `device_error_interrupt` [INFO] [stdout] --> src/dvd_interface.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | device_error_interrupt: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `StatusRegister` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dvd_interface.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `device_error_interrup_mask` [INFO] [stdout] --> src/dvd_interface.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | device_error_interrup_mask: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `StatusRegister` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dvd_interface.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `di_break` [INFO] [stdout] --> src/dvd_interface.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | di_break: bool [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `StatusRegister` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dvd_interface.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `interrupt_status` [INFO] [stdout] --> src/dvd_interface.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | interrupt_status: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `CoverRegister` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dvd_interface.rs:54:10 [INFO] [stdout] | [INFO] [stdout] 54 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `interrupt_mask` [INFO] [stdout] --> src/dvd_interface.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | interrupt_mask: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `CoverRegister` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dvd_interface.rs:54:10 [INFO] [stdout] | [INFO] [stdout] 54 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `signal_state` [INFO] [stdout] --> src/dvd_interface.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | signal_state: bool [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `CoverRegister` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/dvd_interface.rs:54:10 [INFO] [stdout] | [INFO] [stdout] 54 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `active_video` [INFO] [stdout] --> src/video_interface.rs:264:5 [INFO] [stdout] | [INFO] [stdout] 264 | active_video: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `VerticalTiming` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/video_interface.rs:262:10 [INFO] [stdout] | [INFO] [stdout] 262 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `equalization` [INFO] [stdout] --> src/video_interface.rs:265:5 [INFO] [stdout] | [INFO] [stdout] 265 | equalization: u8, // equalization pulse in half lines [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `VerticalTiming` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/video_interface.rs:262:10 [INFO] [stdout] | [INFO] [stdout] 262 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `fp_exception` [INFO] [stdout] --> src/cpu/fpscr.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | fp_exception: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Fpscr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/cpu/fpscr.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Default, Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `fp_enabled` [INFO] [stdout] --> src/cpu/fpscr.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | fp_enabled: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Fpscr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/cpu/fpscr.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Default, Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `invalid_operation_exception` [INFO] [stdout] --> src/cpu/fpscr.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | invalid_operation_exception: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Fpscr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/cpu/fpscr.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Default, Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `overflow_exception` [INFO] [stdout] --> src/cpu/fpscr.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | overflow_exception: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Fpscr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/cpu/fpscr.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Default, Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `underflow_exception` [INFO] [stdout] --> src/cpu/fpscr.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | underflow_exception: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Fpscr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/cpu/fpscr.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Default, Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `zero_divid_exception` [INFO] [stdout] --> src/cpu/fpscr.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | zero_divid_exception: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Fpscr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/cpu/fpscr.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Default, Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `inexact_exception` [INFO] [stdout] --> src/cpu/fpscr.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | inexact_exception: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Fpscr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/cpu/fpscr.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Default, Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 63 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 1.90s [INFO] [stderr] Executable unittests src/lib.rs (/opt/rustwide/target/debug/deps/rustcube-8be2e582e335d4d0) [INFO] [stderr] Executable unittests src/main.rs (/opt/rustwide/target/debug/deps/rustcube-318372dce2ec025e) [INFO] running `Command { std: "docker" "inspect" "0f543d2d0f12d342e3e2905148fe5b6b1e95155f13ed97031bc5887efad1dd03", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0f543d2d0f12d342e3e2905148fe5b6b1e95155f13ed97031bc5887efad1dd03", kill_on_drop: false }` [INFO] [stdout] 0f543d2d0f12d342e3e2905148fe5b6b1e95155f13ed97031bc5887efad1dd03 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-42/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-42/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 2fd49213780f654b865392d0534538c718515985603d6befbf8d9de6d8f2ed6a [INFO] running `Command { std: "docker" "start" "-a" "2fd49213780f654b865392d0534538c718515985603d6befbf8d9de6d8f2ed6a", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] warning: unused import: `BOOTROM_SIZE` [INFO] [stderr] --> src/exi/mod.rs:11:35 [INFO] [stderr] | [INFO] [stderr] 11 | use self::device_ipl::{DeviceIpl, BOOTROM_SIZE}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/interconnect.rs:43:20 [INFO] [stderr] | [INFO] [stderr] 43 | 0x0000_0000...0x017F_FFFF => Address::Ram, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/interconnect.rs:44:20 [INFO] [stderr] | [INFO] [stderr] 44 | 0x0800_0000...0x0BFF_FFFF => Address::EmbeddedFramebuffer, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/interconnect.rs:45:20 [INFO] [stderr] | [INFO] [stderr] 45 | 0x0C00_0000...0x0C00_0FFF => Address::CommandProcessor(address - 0x0C00_0000), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/interconnect.rs:46:20 [INFO] [stderr] | [INFO] [stderr] 46 | 0x0C00_1000...0x0C00_1FFF => Address::PixelEngine(address - 0x0C00_1000), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/interconnect.rs:47:20 [INFO] [stderr] | [INFO] [stderr] 47 | 0x0C00_2000...0x0C00_2FFF => Address::VideoInterface(address - 0x0C00_2000), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/interconnect.rs:48:20 [INFO] [stderr] | [INFO] [stderr] 48 | 0x0C00_3000...0x0C00_3FFF => Address::ProcessorInterface(address - 0x0C00_3000), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/interconnect.rs:49:20 [INFO] [stderr] | [INFO] [stderr] 49 | 0x0C00_4000...0x0C00_4FFF => Address::MemoryInterface(address - 0x0C00_4000), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/interconnect.rs:50:20 [INFO] [stderr] | [INFO] [stderr] 50 | 0x0C00_5000...0x0C00_5200 => Address::DspInterface(address - 0x0C00_5000), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/interconnect.rs:51:20 [INFO] [stderr] | [INFO] [stderr] 51 | 0x0C00_6000...0x0C00_63FF => Address::DvdInterface(address - 0x0C00_6000), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/interconnect.rs:52:20 [INFO] [stderr] | [INFO] [stderr] 52 | 0x0C00_6400...0x0C00_67FF => Address::SerialInterface(address - 0x0C00_6400), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/interconnect.rs:53:20 [INFO] [stderr] | [INFO] [stderr] 53 | 0x0C00_6800...0x0C00_6938 => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/interconnect.rs:58:20 [INFO] [stderr] | [INFO] [stderr] 58 | 0x0C00_6C00...0x0C00_6C20 => Address::AudioInterface(address - 0x0C00_6C00), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/interconnect.rs:60:20 [INFO] [stderr] | [INFO] [stderr] 60 | 0xFFF0_0000...0xFFFF_FFFF => Address::Bootrom(address - 0xFFF0_0000), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: variant `PE_TOKEN` should have an upper camel case name [INFO] [stderr] --> src/processor_interface.rs:25:9 [INFO] [stderr] | [INFO] [stderr] 25 | PE_TOKEN = 0x200, [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to upper camel case: `PeToken` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variant `PE_FINISH` should have an upper camel case name [INFO] [stderr] --> src/processor_interface.rs:26:9 [INFO] [stderr] | [INFO] [stderr] 26 | PE_FINISH = 0x400, [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to upper camel case: `PeFinish` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stderr] --> src/debugger/mod.rs:171:40 [INFO] [stderr] | [INFO] [stderr] 171 | static SIGINT_ONCE: sync::Once = sync::ONCE_INIT; [INFO] [stderr] | ^^^^^^^^^ help: replace the use of the deprecated constant: `Once::new()` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred [INFO] [stderr] --> src/debugger/mod.rs:173:45 [INFO] [stderr] | [INFO] [stderr] 173 | static SIGINT: atomic::AtomicBool = atomic::ATOMIC_BOOL_INIT; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicBool::new(false)` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/exi/channel.rs:19:23 [INFO] [stderr] | [INFO] [stderr] 19 | pub devices: [Box; NUM_DEVICES], [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 19 - pub devices: [Box; NUM_DEVICES], [INFO] [stderr] 19 + pub devices: [Box; NUM_DEVICES], [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu/cpu_load_store.rs:216:24 [INFO] [stderr] | [INFO] [stderr] 216 | debugger: &mut Debugger, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 216 - debugger: &mut Debugger, [INFO] [stderr] 216 + debugger: &mut dyn Debugger, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu/cpu_load_store.rs:233:24 [INFO] [stderr] | [INFO] [stderr] 233 | debugger: &mut Debugger, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 233 - debugger: &mut Debugger, [INFO] [stderr] 233 + debugger: &mut dyn Debugger, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu/cpu_load_store.rs:250:24 [INFO] [stderr] | [INFO] [stderr] 250 | debugger: &mut Debugger, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 250 - debugger: &mut Debugger, [INFO] [stderr] 250 + debugger: &mut dyn Debugger, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu/cpu_load_store.rs:265:24 [INFO] [stderr] | [INFO] [stderr] 265 | debugger: &mut Debugger, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 265 - debugger: &mut Debugger, [INFO] [stderr] 265 + debugger: &mut dyn Debugger, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu/cpu_load_store.rs:282:24 [INFO] [stderr] | [INFO] [stderr] 282 | debugger: &mut Debugger, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 282 - debugger: &mut Debugger, [INFO] [stderr] 282 + debugger: &mut dyn Debugger, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu/cpu_load_store.rs:301:24 [INFO] [stderr] | [INFO] [stderr] 301 | debugger: &mut Debugger, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 301 - debugger: &mut Debugger, [INFO] [stderr] 301 + debugger: &mut dyn Debugger, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu/cpu_load_store.rs:319:24 [INFO] [stderr] | [INFO] [stderr] 319 | debugger: &mut Debugger, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 319 - debugger: &mut Debugger, [INFO] [stderr] 319 + debugger: &mut dyn Debugger, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu/cpu_load_store.rs:336:24 [INFO] [stderr] | [INFO] [stderr] 336 | debugger: &mut Debugger, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 336 - debugger: &mut Debugger, [INFO] [stderr] 336 + debugger: &mut dyn Debugger, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu/cpu_load_store.rs:355:24 [INFO] [stderr] | [INFO] [stderr] 355 | debugger: &mut Debugger, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 355 - debugger: &mut Debugger, [INFO] [stderr] 355 + debugger: &mut dyn Debugger, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu/cpu_load_store.rs:379:24 [INFO] [stderr] | [INFO] [stderr] 379 | debugger: &mut Debugger, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 379 - debugger: &mut Debugger, [INFO] [stderr] 379 + debugger: &mut dyn Debugger, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu/cpu_load_store.rs:402:24 [INFO] [stderr] | [INFO] [stderr] 402 | debugger: &mut Debugger, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 402 - debugger: &mut Debugger, [INFO] [stderr] 402 + debugger: &mut dyn Debugger, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu/cpu_load_store.rs:419:24 [INFO] [stderr] | [INFO] [stderr] 419 | debugger: &mut Debugger, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 419 - debugger: &mut Debugger, [INFO] [stderr] 419 + debugger: &mut dyn Debugger, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu/mod.rs:153:87 [INFO] [stderr] | [INFO] [stderr] 153 | pub fn run_instruction(&mut self, interconnect: &mut Interconnect, debugger: &mut Debugger) { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 153 - pub fn run_instruction(&mut self, interconnect: &mut Interconnect, debugger: &mut Debugger) { [INFO] [stderr] 153 + pub fn run_instruction(&mut self, interconnect: &mut Interconnect, debugger: &mut dyn Debugger) { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/gamecube.rs:56:42 [INFO] [stderr] | [INFO] [stderr] 56 | pub fn run(&mut self, debugger: &mut Debugger) { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 56 - pub fn run(&mut self, debugger: &mut Debugger) { [INFO] [stderr] 56 + pub fn run(&mut self, debugger: &mut dyn Debugger) { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/exi/channel.rs:23:30 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn new(devices: [Box; NUM_DEVICES]) -> Channel { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 23 - pub fn new(devices: [Box; NUM_DEVICES]) -> Channel { [INFO] [stderr] 23 + pub fn new(devices: [Box; NUM_DEVICES]) -> Channel { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/exi/channel.rs:34:47 [INFO] [stderr] | [INFO] [stderr] 34 | pub fn get_device(&self, num: u8) -> &Box { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 34 - pub fn get_device(&self, num: u8) -> &Box { [INFO] [stderr] 34 + pub fn get_device(&self, num: u8) -> &Box { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/exi/channel.rs:41:59 [INFO] [stderr] | [INFO] [stderr] 41 | pub fn get_device_mut(&mut self, num: u8) -> &mut Box { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 41 - pub fn get_device_mut(&mut self, num: u8) -> &mut Box { [INFO] [stderr] 41 + pub fn get_device_mut(&mut self, num: u8) -> &mut Box { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `std::sync::atomic::AtomicBool::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead [INFO] [stderr] --> src/debugger/mod.rs:80:16 [INFO] [stderr] | [INFO] [stderr] 80 | SIGINT.compare_and_swap(true, false, atomic::Ordering::SeqCst) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/exi/device_ipl.rs:164:21 [INFO] [stderr] | [INFO] [stderr] 164 | let mut bootrom = &*self.bootrom.borrow_mut(); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: field is never read: `text_offset` [INFO] [stderr] --> src/dol.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | text_offset: [u32; NUM_TEXT], [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] note: `Header` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/dol.rs:13:19 [INFO] [stderr] | [INFO] [stderr] 13 | #[derive(Default, Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `data_offset` [INFO] [stderr] --> src/dol.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | data_offset: [u32; NUM_DATA], [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Header` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/dol.rs:13:19 [INFO] [stderr] | [INFO] [stderr] 13 | #[derive(Default, Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `text_size` [INFO] [stderr] --> src/dol.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | text_size: [u32; NUM_TEXT], [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Header` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/dol.rs:13:19 [INFO] [stderr] | [INFO] [stderr] 13 | #[derive(Default, Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `data_size` [INFO] [stderr] --> src/dol.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | data_size: [u32; NUM_DATA], [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Header` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/dol.rs:13:19 [INFO] [stderr] | [INFO] [stderr] 13 | #[derive(Default, Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `bss_address` [INFO] [stderr] --> src/dol.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | bss_address: u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Header` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/dol.rs:13:19 [INFO] [stderr] | [INFO] [stderr] 13 | #[derive(Default, Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `bss_size` [INFO] [stderr] --> src/dol.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | bss_size: u32, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Header` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/dol.rs:13:19 [INFO] [stderr] | [INFO] [stderr] 13 | #[derive(Default, Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `break_interrupt` [INFO] [stderr] --> src/dvd_interface.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | break_interrupt: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `StatusRegister` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/dvd_interface.rs:23:10 [INFO] [stderr] | [INFO] [stderr] 23 | #[derive(Debug, Default)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `break_interrupt_mask` [INFO] [stderr] --> src/dvd_interface.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | break_interrupt_mask: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `StatusRegister` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/dvd_interface.rs:23:10 [INFO] [stderr] | [INFO] [stderr] 23 | #[derive(Debug, Default)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `transfer_interrupt` [INFO] [stderr] --> src/dvd_interface.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | transfer_interrupt: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `StatusRegister` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/dvd_interface.rs:23:10 [INFO] [stderr] | [INFO] [stderr] 23 | #[derive(Debug, Default)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `transfer_interrupt_mask` [INFO] [stderr] --> src/dvd_interface.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | transfer_interrupt_mask: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `StatusRegister` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/dvd_interface.rs:23:10 [INFO] [stderr] | [INFO] [stderr] 23 | #[derive(Debug, Default)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `device_error_interrupt` [INFO] [stderr] --> src/dvd_interface.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | device_error_interrupt: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `StatusRegister` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/dvd_interface.rs:23:10 [INFO] [stderr] | [INFO] [stderr] 23 | #[derive(Debug, Default)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `device_error_interrup_mask` [INFO] [stderr] --> src/dvd_interface.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | device_error_interrup_mask: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `StatusRegister` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/dvd_interface.rs:23:10 [INFO] [stderr] | [INFO] [stderr] 23 | #[derive(Debug, Default)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `di_break` [INFO] [stderr] --> src/dvd_interface.rs:37:5 [INFO] [stderr] | [INFO] [stderr] 37 | di_break: bool [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `StatusRegister` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/dvd_interface.rs:23:10 [INFO] [stderr] | [INFO] [stderr] 23 | #[derive(Debug, Default)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `interrupt_status` [INFO] [stderr] --> src/dvd_interface.rs:56:5 [INFO] [stderr] | [INFO] [stderr] 56 | interrupt_status: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `CoverRegister` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/dvd_interface.rs:54:10 [INFO] [stderr] | [INFO] [stderr] 54 | #[derive(Debug, Default)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `interrupt_mask` [INFO] [stderr] --> src/dvd_interface.rs:58:5 [INFO] [stderr] | [INFO] [stderr] 58 | interrupt_mask: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `CoverRegister` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/dvd_interface.rs:54:10 [INFO] [stderr] | [INFO] [stderr] 54 | #[derive(Debug, Default)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `signal_state` [INFO] [stderr] --> src/dvd_interface.rs:60:5 [INFO] [stderr] | [INFO] [stderr] 60 | signal_state: bool [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `CoverRegister` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/dvd_interface.rs:54:10 [INFO] [stderr] | [INFO] [stderr] 54 | #[derive(Debug, Default)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `active_video` [INFO] [stderr] --> src/video_interface.rs:264:5 [INFO] [stderr] | [INFO] [stderr] 264 | active_video: u16, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `VerticalTiming` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/video_interface.rs:262:10 [INFO] [stderr] | [INFO] [stderr] 262 | #[derive(Debug, Default)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `equalization` [INFO] [stderr] --> src/video_interface.rs:265:5 [INFO] [stderr] | [INFO] [stderr] 265 | equalization: u8, // equalization pulse in half lines [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `VerticalTiming` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/video_interface.rs:262:10 [INFO] [stderr] | [INFO] [stderr] 262 | #[derive(Debug, Default)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `fp_exception` [INFO] [stderr] --> src/cpu/fpscr.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | fp_exception: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Fpscr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/cpu/fpscr.rs:4:19 [INFO] [stderr] | [INFO] [stderr] 4 | #[derive(Default, Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `fp_enabled` [INFO] [stderr] --> src/cpu/fpscr.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | fp_enabled: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Fpscr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/cpu/fpscr.rs:4:19 [INFO] [stderr] | [INFO] [stderr] 4 | #[derive(Default, Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `invalid_operation_exception` [INFO] [stderr] --> src/cpu/fpscr.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | invalid_operation_exception: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Fpscr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/cpu/fpscr.rs:4:19 [INFO] [stderr] | [INFO] [stderr] 4 | #[derive(Default, Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `overflow_exception` [INFO] [stderr] --> src/cpu/fpscr.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | overflow_exception: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Fpscr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/cpu/fpscr.rs:4:19 [INFO] [stderr] | [INFO] [stderr] 4 | #[derive(Default, Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `underflow_exception` [INFO] [stderr] --> src/cpu/fpscr.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | underflow_exception: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Fpscr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/cpu/fpscr.rs:4:19 [INFO] [stderr] | [INFO] [stderr] 4 | #[derive(Default, Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `zero_divid_exception` [INFO] [stderr] --> src/cpu/fpscr.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | zero_divid_exception: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Fpscr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/cpu/fpscr.rs:4:19 [INFO] [stderr] | [INFO] [stderr] 4 | #[derive(Default, Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `inexact_exception` [INFO] [stderr] --> src/cpu/fpscr.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | inexact_exception: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Fpscr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/cpu/fpscr.rs:4:19 [INFO] [stderr] | [INFO] [stderr] 4 | #[derive(Default, Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `rustcube` (lib) generated 63 warnings [INFO] [stderr] warning: `rustcube` (lib test) generated 63 warnings (63 duplicates) [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/main.rs:26:26 [INFO] [stderr] | [INFO] [stderr] 26 | Err(f) => panic!(f.to_string()), [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stderr] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: add a "{}" format string to Display the message [INFO] [stderr] | [INFO] [stderr] 26 | Err(f) => panic!("{}", f.to_string()), [INFO] [stderr] | +++++ [INFO] [stderr] [INFO] [stderr] warning: `rustcube` (bin "rustcube" test) generated 1 warning [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.25s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rustcube-8be2e582e335d4d0) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test cpu::hid::test::u32_conversion ... ok [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rustcube-318372dce2ec025e) [INFO] [stdout] test cpu::msr::test::default ... ok [INFO] [stdout] test cpu::msr::test::u32_conversion ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s [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 rustcube [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/rustwide/workdir/src/interconnect.rs:43:20 [INFO] [stderr] | [INFO] [stderr] 43 | 0x0000_0000...0x017F_FFFF => Address::Ram, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/rustwide/workdir/src/interconnect.rs:44:20 [INFO] [stderr] | [INFO] [stderr] 44 | 0x0800_0000...0x0BFF_FFFF => Address::EmbeddedFramebuffer, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/rustwide/workdir/src/interconnect.rs:45:20 [INFO] [stderr] | [INFO] [stderr] 45 | 0x0C00_0000...0x0C00_0FFF => Address::CommandProcessor(address - 0x0C00_0000), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/rustwide/workdir/src/interconnect.rs:46:20 [INFO] [stderr] | [INFO] [stderr] 46 | 0x0C00_1000...0x0C00_1FFF => Address::PixelEngine(address - 0x0C00_1000), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/rustwide/workdir/src/interconnect.rs:47:20 [INFO] [stderr] | [INFO] [stderr] 47 | 0x0C00_2000...0x0C00_2FFF => Address::VideoInterface(address - 0x0C00_2000), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/rustwide/workdir/src/interconnect.rs:48:20 [INFO] [stderr] | [INFO] [stderr] 48 | 0x0C00_3000...0x0C00_3FFF => Address::ProcessorInterface(address - 0x0C00_3000), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/rustwide/workdir/src/interconnect.rs:49:20 [INFO] [stderr] | [INFO] [stderr] 49 | 0x0C00_4000...0x0C00_4FFF => Address::MemoryInterface(address - 0x0C00_4000), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/rustwide/workdir/src/interconnect.rs:50:20 [INFO] [stderr] | [INFO] [stderr] 50 | 0x0C00_5000...0x0C00_5200 => Address::DspInterface(address - 0x0C00_5000), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/rustwide/workdir/src/interconnect.rs:51:20 [INFO] [stderr] | [INFO] [stderr] 51 | 0x0C00_6000...0x0C00_63FF => Address::DvdInterface(address - 0x0C00_6000), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/rustwide/workdir/src/interconnect.rs:52:20 [INFO] [stderr] | [INFO] [stderr] 52 | 0x0C00_6400...0x0C00_67FF => Address::SerialInterface(address - 0x0C00_6400), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/rustwide/workdir/src/interconnect.rs:53:20 [INFO] [stderr] | [INFO] [stderr] 53 | 0x0C00_6800...0x0C00_6938 => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/rustwide/workdir/src/interconnect.rs:58:20 [INFO] [stderr] | [INFO] [stderr] 58 | 0x0C00_6C00...0x0C00_6C20 => Address::AudioInterface(address - 0x0C00_6C00), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/rustwide/workdir/src/interconnect.rs:60:20 [INFO] [stderr] | [INFO] [stderr] 60 | 0xFFF0_0000...0xFFFF_FFFF => Address::Bootrom(address - 0xFFF0_0000), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: variant `PE_TOKEN` should have an upper camel case name [INFO] [stderr] --> /opt/rustwide/workdir/src/processor_interface.rs:25:9 [INFO] [stderr] | [INFO] [stderr] 25 | PE_TOKEN = 0x200, [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to upper camel case: `PeToken` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variant `PE_FINISH` should have an upper camel case name [INFO] [stderr] --> /opt/rustwide/workdir/src/processor_interface.rs:26:9 [INFO] [stderr] | [INFO] [stderr] 26 | PE_FINISH = 0x400, [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to upper camel case: `PeFinish` [INFO] [stderr] [INFO] [stderr] warning: 15 warnings emitted [INFO] [stderr] [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" "2fd49213780f654b865392d0534538c718515985603d6befbf8d9de6d8f2ed6a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2fd49213780f654b865392d0534538c718515985603d6befbf8d9de6d8f2ed6a", kill_on_drop: false }` [INFO] [stdout] 2fd49213780f654b865392d0534538c718515985603d6befbf8d9de6d8f2ed6a