[INFO] cloning repository https://github.com/doublegate/rustyG3N [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/doublegate/rustyG3N" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdoublegate%2FrustyG3N", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdoublegate%2FrustyG3N'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] fa98b3a3427cbe9223eb8bea09144e486836bc57 [INFO] testing doublegate/rustyG3N against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_libc_patch_0 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdoublegate%2FrustyG3N" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/doublegate/rustyG3N [INFO] finished tweaking git repo https://github.com/doublegate/rustyG3N [INFO] tweaked toml for git repo https://github.com/doublegate/rustyG3N written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/doublegate/rustyG3N on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/doublegate/rustyG3N already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded wayland-cursor v0.29.5 [INFO] [stderr] Downloaded wayland-commons v0.29.5 [INFO] [stderr] Downloaded redox_syscall v0.5.9 [INFO] [stderr] Downloaded minifb v0.28.0 [INFO] [stderr] Downloaded serde_derive v1.0.218 [INFO] [stderr] Downloaded serde v1.0.218 [INFO] [stderr] Downloaded wayland-client v0.29.5 [INFO] [stderr] Downloaded cc v1.2.16 [INFO] [stderr] Downloaded serde_json v1.0.139 [INFO] [stderr] Downloaded sdl2 v0.35.2 [INFO] [stderr] Downloaded wayland-protocols v0.29.5 [INFO] [stderr] Downloaded version-compare v0.1.1 [INFO] [stderr] Downloaded tempfile v3.17.1 [INFO] [stderr] Downloaded ryu v1.0.19 [INFO] [stderr] Downloaded syn v2.0.99 [INFO] [stderr] Downloaded log v0.4.26 [INFO] [stderr] Downloaded quote v1.0.39 [INFO] [stderr] Downloaded wayland-scanner v0.29.5 [INFO] [stderr] Downloaded rustversion v1.0.19 [INFO] [stderr] Downloaded wayland-sys v0.29.5 [INFO] [stderr] Downloaded libc v0.2.170 [INFO] [stderr] Downloaded sdl2-sys v0.35.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3d586940ad6e7982d817169c57ebbce34260fd3eb904a70989116c344448ef2d [INFO] running `Command { std: "docker" "start" "-a" "3d586940ad6e7982d817169c57ebbce34260fd3eb904a70989116c344448ef2d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3d586940ad6e7982d817169c57ebbce34260fd3eb904a70989116c344448ef2d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3d586940ad6e7982d817169c57ebbce34260fd3eb904a70989116c344448ef2d", kill_on_drop: false }` [INFO] [stdout] 3d586940ad6e7982d817169c57ebbce34260fd3eb904a70989116c344448ef2d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 400233f086a2b7d68ecdf224ea082267c44546e3f81e55506b57596bd3e231f3 [INFO] running `Command { std: "docker" "start" "-a" "400233f086a2b7d68ecdf224ea082267c44546e3f81e55506b57596bd3e231f3", kill_on_drop: false }` [INFO] [stderr] Compiling pkg-config v0.3.31 [INFO] [stderr] Compiling libc v0.2.170 [INFO] [stderr] Compiling proc-macro2 v1.0.94 [INFO] [stderr] Compiling once_cell v1.20.3 [INFO] [stderr] Compiling memoffset v0.6.5 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling smallvec v1.14.0 [INFO] [stderr] Compiling getrandom v0.3.1 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling cc v1.2.16 [INFO] [stderr] Compiling linux-raw-sys v0.4.15 [INFO] [stderr] Compiling raw-window-handle v0.6.2 [INFO] [stderr] Compiling wayland-sys v0.29.5 [INFO] [stderr] Compiling x11-dl v2.21.0 [INFO] [stderr] Compiling quote v1.0.39 [INFO] [stderr] Compiling wayland-scanner v0.29.5 [INFO] [stderr] Compiling minifb v0.28.0 [INFO] [stderr] Compiling wayland-client v0.29.5 [INFO] [stderr] Compiling wayland-protocols v0.29.5 [INFO] [stderr] Compiling nix v0.24.3 [INFO] [stderr] Compiling tempfile v3.17.1 [INFO] [stderr] Compiling wayland-commons v0.29.5 [INFO] [stderr] Compiling wayland-cursor v0.29.5 [INFO] [stderr] Compiling rustyG3N v0.2.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/vdp.rs:188:34 [INFO] [stdout] | [INFO] [stdout] 188 | let sprite_top = ((y_pos as i32) - 128); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 188 - let sprite_top = ((y_pos as i32) - 128); [INFO] [stdout] 188 + let sprite_top = (y_pos as i32) - 128; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/vdp.rs:191:41 [INFO] [stdout] | [INFO] [stdout] 191 | let row_in_sprite = ((scanline as i32) - sprite_top); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 191 - let row_in_sprite = ((scanline as i32) - sprite_top); [INFO] [stdout] 191 + let row_in_sprite = (scanline as i32) - sprite_top; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/vdp.rs:193:25 [INFO] [stdout] | [INFO] [stdout] 193 | ((x_pos as i32) - 128), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 193 - ((x_pos as i32) - 128), [INFO] [stdout] 193 + (x_pos as i32) - 128, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `right_aligned` [INFO] [stdout] --> src/vdp.rs:117:13 [INFO] [stdout] | [INFO] [stdout] 117 | let right_aligned = (h_pos_reg & 0x80) != 0; [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_right_aligned` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `width` and `height` are never read [INFO] [stdout] --> src/display.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct Display { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 4 | window: Window, [INFO] [stdout] 5 | width: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 6 | height: usize, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cycles` is never read [INFO] [stdout] --> src/vdp.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Vdp { [INFO] [stdout] | --- field in this struct [INFO] [stdout] ... [INFO] [stdout] 20 | cycles: u32, // Total cycles in the current frame (tracked externally) [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: crate `rustyG3N` should have a snake case name [INFO] [stdout] | [INFO] [stdout] = help: convert the identifier to snake case: `rusty_g3_n` [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/vdp.rs:188:34 [INFO] [stdout] | [INFO] [stdout] 188 | let sprite_top = ((y_pos as i32) - 128); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 188 - let sprite_top = ((y_pos as i32) - 128); [INFO] [stdout] 188 + let sprite_top = (y_pos as i32) - 128; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/vdp.rs:191:41 [INFO] [stdout] | [INFO] [stdout] 191 | let row_in_sprite = ((scanline as i32) - sprite_top); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 191 - let row_in_sprite = ((scanline as i32) - sprite_top); [INFO] [stdout] 191 + let row_in_sprite = (scanline as i32) - sprite_top; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/vdp.rs:193:25 [INFO] [stdout] | [INFO] [stdout] 193 | ((x_pos as i32) - 128), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 193 - ((x_pos as i32) - 128), [INFO] [stdout] 193 + (x_pos as i32) - 128, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Exception` [INFO] [stdout] --> src/main.rs:9:36 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::m68k_cpu::{CPU as M68K, Exception}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `IoDevice` [INFO] [stdout] --> src/main.rs:11:27 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::z80_cpu::{Z80, IoDevice}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `right_aligned` [INFO] [stdout] --> src/vdp.rs:117:13 [INFO] [stdout] | [INFO] [stdout] 117 | let right_aligned = (h_pos_reg & 0x80) != 0; [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_right_aligned` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `width` and `height` are never read [INFO] [stdout] --> src/display.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct Display { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 4 | window: Window, [INFO] [stdout] 5 | width: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 6 | height: usize, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_key_down` is never used [INFO] [stdout] --> src/display.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl Display { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn is_key_down(&self, key: minifb::Key) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/m68k_cpu.rs:147:5 [INFO] [stdout] | [INFO] [stdout] 140 | pub enum Operation { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 147 | Eor, [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | Bclr, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | Tas, [INFO] [stdout] | ^^^ [INFO] [stdout] 173 | Rol, [INFO] [stdout] | ^^^ [INFO] [stdout] 174 | Roxl, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 180 | And, [INFO] [stdout] | ^^^ [INFO] [stdout] 181 | Or, [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 189 | Jmp, [INFO] [stdout] | ^^^ [INFO] [stdout] 190 | Adda, [INFO] [stdout] | ^^^^ [INFO] [stdout] 191 | Suba, [INFO] [stdout] | ^^^^ [INFO] [stdout] 192 | Mulu, [INFO] [stdout] | ^^^^ [INFO] [stdout] 193 | Cmp, [INFO] [stdout] | ^^^ [INFO] [stdout] 194 | Scc, [INFO] [stdout] | ^^^ [INFO] [stdout] 195 | Dbcc, [INFO] [stdout] | ^^^^ [INFO] [stdout] 196 | Pea, [INFO] [stdout] | ^^^ [INFO] [stdout] 197 | Link, [INFO] [stdout] | ^^^^ [INFO] [stdout] 198 | Unlk, [INFO] [stdout] | ^^^^ [INFO] [stdout] 199 | NopAlt, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | Lsl, [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | RoxlMem, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 227 | RoxrMem, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 238 | LslMem, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Operation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `request_interrupt` and `get_interrupt_ack` are never used [INFO] [stdout] --> src/m68k_cpu.rs:457:12 [INFO] [stdout] | [INFO] [stdout] 274 | impl CPU { [INFO] [stdout] | -------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 457 | pub fn request_interrupt(&mut self, level: u8, vector: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 539 | pub fn get_interrupt_ack(&self) -> (Option, BusState) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/z80_cpu.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 47 | pub struct Registers { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 58 | pub b_alt: u8, // Alternate B register [INFO] [stdout] | ^^^^^ [INFO] [stdout] 59 | pub c_alt: u8, // Alternate C register [INFO] [stdout] | ^^^^^ [INFO] [stdout] 60 | pub d_alt: u8, // Alternate D register [INFO] [stdout] | ^^^^^ [INFO] [stdout] 61 | pub e_alt: u8, // Alternate E register [INFO] [stdout] | ^^^^^ [INFO] [stdout] 62 | pub h_alt: u8, // Alternate H register [INFO] [stdout] | ^^^^^ [INFO] [stdout] 63 | pub l_alt: u8, // Alternate L register [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub i: u8, // Interrupt vector register [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_af` and `set_af` are never used [INFO] [stdout] --> src/z80_cpu.rs:101:12 [INFO] [stdout] | [INFO] [stdout] 72 | impl Registers { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn get_af(&self) -> u16 { ((self.a as u16) << 8) | self.f as u16 } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | pub fn set_af(&mut self, value: u16) { self.a = (value >> 8) as u8; self.f = value as u8; } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DummyIoDevice` is never constructed [INFO] [stdout] --> src/z80_cpu.rs:125:12 [INFO] [stdout] | [INFO] [stdout] 125 | pub struct DummyIoDevice; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/z80_cpu.rs:1454:12 [INFO] [stdout] | [INFO] [stdout] 142 | impl Z80 { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 1454 | pub fn trigger_nmi(&mut self, memory: &mut dyn Z80Memory) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1464 | pub fn trigger_int(&mut self, memory: &mut dyn Z80Memory, io: &mut dyn IoDevice, bus_value: u8) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1498 | pub fn get_a(&self) -> u8 { self.registers.a } [INFO] [stdout] | ^^^^^ [INFO] [stdout] 1499 | pub fn get_b(&self) -> u8 { self.registers.b } [INFO] [stdout] | ^^^^^ [INFO] [stdout] 1500 | pub fn get_bc(&self) -> u16 { self.registers.get_bc() } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 1501 | pub fn get_de(&self) -> u16 { self.registers.get_de() } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 1502 | pub fn get_hl(&self) -> u16 { self.registers.get_hl() } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 1503 | pub fn get_sp(&self) -> u16 { self.registers.sp } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 1504 | pub fn get_pc(&self) -> u16 { self.registers.pc } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 1505 | pub fn get_ix(&self) -> u16 { self.registers.ix } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 1506 | pub fn get_iy(&self) -> u16 { self.registers.iy } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 1507 | pub fn get_flag(&self, flag: u8) -> bool { self.registers.get_flag(flag) } [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 1508 | pub fn is_halted(&self) -> bool { self.halted } [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1511 | pub fn set_a(&mut self, value: u8) { self.registers.a = value } [INFO] [stdout] | ^^^^^ [INFO] [stdout] 1512 | pub fn set_sp(&mut self, value: u16) { self.registers.sp = value } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 1513 | pub fn set_flag(&mut self, flag: u8, value: bool) { self.registers.set_flag(flag, value) } [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cycles` is never read [INFO] [stdout] --> src/vdp.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Vdp { [INFO] [stdout] | --- field in this struct [INFO] [stdout] ... [INFO] [stdout] 20 | cycles: u32, // Total cycles in the current frame (tracked externally) [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `read_data`, `check_hblank_interrupt`, `check_vblank_interrupt`, `reset_interrupt_flags`, and `is_dma_active` are never used [INFO] [stdout] --> src/vdp.rs:350:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl Vdp { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 350 | pub fn read_data(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 359 | pub fn check_hblank_interrupt(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 363 | pub fn check_vblank_interrupt(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 367 | pub fn reset_interrupt_flags(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 372 | pub fn is_dma_active(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 04s [INFO] running `Command { std: "docker" "inspect" "400233f086a2b7d68ecdf224ea082267c44546e3f81e55506b57596bd3e231f3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "400233f086a2b7d68ecdf224ea082267c44546e3f81e55506b57596bd3e231f3", kill_on_drop: false }` [INFO] [stdout] 400233f086a2b7d68ecdf224ea082267c44546e3f81e55506b57596bd3e231f3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] fd01b285f2d1a4a1dbc10c668bc5a4590477f54f8bb71788adadd9fd4d23ca90 [INFO] running `Command { std: "docker" "start" "-a" "fd01b285f2d1a4a1dbc10c668bc5a4590477f54f8bb71788adadd9fd4d23ca90", kill_on_drop: false }` [INFO] [stderr] Compiling rustyG3N v0.2.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/vdp.rs:188:34 [INFO] [stdout] | [INFO] [stdout] 188 | let sprite_top = ((y_pos as i32) - 128); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 188 - let sprite_top = ((y_pos as i32) - 128); [INFO] [stdout] 188 + let sprite_top = (y_pos as i32) - 128; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/vdp.rs:191:41 [INFO] [stdout] | [INFO] [stdout] 191 | let row_in_sprite = ((scanline as i32) - sprite_top); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 191 - let row_in_sprite = ((scanline as i32) - sprite_top); [INFO] [stdout] 191 + let row_in_sprite = (scanline as i32) - sprite_top; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/vdp.rs:193:25 [INFO] [stdout] | [INFO] [stdout] 193 | ((x_pos as i32) - 128), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 193 - ((x_pos as i32) - 128), [INFO] [stdout] 193 + (x_pos as i32) - 128, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `right_aligned` [INFO] [stdout] --> src/vdp.rs:117:13 [INFO] [stdout] | [INFO] [stdout] 117 | let right_aligned = (h_pos_reg & 0x80) != 0; [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_right_aligned` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `width` and `height` are never read [INFO] [stdout] --> src/display.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct Display { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 4 | window: Window, [INFO] [stdout] 5 | width: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 6 | height: usize, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cycles` is never read [INFO] [stdout] --> src/vdp.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Vdp { [INFO] [stdout] | --- field in this struct [INFO] [stdout] ... [INFO] [stdout] 20 | cycles: u32, // Total cycles in the current frame (tracked externally) [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: crate `rustyG3N` should have a snake case name [INFO] [stdout] | [INFO] [stdout] = help: convert the identifier to snake case: `rusty_g3_n` [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/vdp.rs:188:34 [INFO] [stdout] | [INFO] [stdout] 188 | let sprite_top = ((y_pos as i32) - 128); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 188 - let sprite_top = ((y_pos as i32) - 128); [INFO] [stdout] 188 + let sprite_top = (y_pos as i32) - 128; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/vdp.rs:191:41 [INFO] [stdout] | [INFO] [stdout] 191 | let row_in_sprite = ((scanline as i32) - sprite_top); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 191 - let row_in_sprite = ((scanline as i32) - sprite_top); [INFO] [stdout] 191 + let row_in_sprite = (scanline as i32) - sprite_top; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/vdp.rs:193:25 [INFO] [stdout] | [INFO] [stdout] 193 | ((x_pos as i32) - 128), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 193 - ((x_pos as i32) - 128), [INFO] [stdout] 193 + (x_pos as i32) - 128, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/vdp.rs:188:34 [INFO] [stdout] | [INFO] [stdout] 188 | let sprite_top = ((y_pos as i32) - 128); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 188 - let sprite_top = ((y_pos as i32) - 128); [INFO] [stdout] 188 + let sprite_top = (y_pos as i32) - 128; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/vdp.rs:191:41 [INFO] [stdout] | [INFO] [stdout] 191 | let row_in_sprite = ((scanline as i32) - sprite_top); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 191 - let row_in_sprite = ((scanline as i32) - sprite_top); [INFO] [stdout] 191 + let row_in_sprite = (scanline as i32) - sprite_top; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/vdp.rs:193:25 [INFO] [stdout] | [INFO] [stdout] 193 | ((x_pos as i32) - 128), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 193 - ((x_pos as i32) - 128), [INFO] [stdout] 193 + (x_pos as i32) - 128, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Exception` [INFO] [stdout] --> src/main.rs:9:36 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::m68k_cpu::{CPU as M68K, Exception}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `IoDevice` [INFO] [stdout] --> src/main.rs:11:27 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::z80_cpu::{Z80, IoDevice}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `right_aligned` [INFO] [stdout] --> src/vdp.rs:117:13 [INFO] [stdout] | [INFO] [stdout] 117 | let right_aligned = (h_pos_reg & 0x80) != 0; [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_right_aligned` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `width` and `height` are never read [INFO] [stdout] --> src/display.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct Display { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 4 | window: Window, [INFO] [stdout] 5 | width: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 6 | height: usize, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cycles` is never read [INFO] [stdout] --> src/vdp.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Vdp { [INFO] [stdout] | --- field in this struct [INFO] [stdout] ... [INFO] [stdout] 20 | cycles: u32, // Total cycles in the current frame (tracked externally) [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `right_aligned` [INFO] [stdout] --> src/vdp.rs:117:13 [INFO] [stdout] | [INFO] [stdout] 117 | let right_aligned = (h_pos_reg & 0x80) != 0; [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_right_aligned` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `width` and `height` are never read [INFO] [stdout] --> src/display.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct Display { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 4 | window: Window, [INFO] [stdout] 5 | width: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 6 | height: usize, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_key_down` is never used [INFO] [stdout] --> src/display.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl Display { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn is_key_down(&self, key: minifb::Key) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/m68k_cpu.rs:147:5 [INFO] [stdout] | [INFO] [stdout] 140 | pub enum Operation { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 147 | Eor, [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | Bclr, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | Tas, [INFO] [stdout] | ^^^ [INFO] [stdout] 173 | Rol, [INFO] [stdout] | ^^^ [INFO] [stdout] 174 | Roxl, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 180 | And, [INFO] [stdout] | ^^^ [INFO] [stdout] 181 | Or, [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 189 | Jmp, [INFO] [stdout] | ^^^ [INFO] [stdout] 190 | Adda, [INFO] [stdout] | ^^^^ [INFO] [stdout] 191 | Suba, [INFO] [stdout] | ^^^^ [INFO] [stdout] 192 | Mulu, [INFO] [stdout] | ^^^^ [INFO] [stdout] 193 | Cmp, [INFO] [stdout] | ^^^ [INFO] [stdout] 194 | Scc, [INFO] [stdout] | ^^^ [INFO] [stdout] 195 | Dbcc, [INFO] [stdout] | ^^^^ [INFO] [stdout] 196 | Pea, [INFO] [stdout] | ^^^ [INFO] [stdout] 197 | Link, [INFO] [stdout] | ^^^^ [INFO] [stdout] 198 | Unlk, [INFO] [stdout] | ^^^^ [INFO] [stdout] 199 | NopAlt, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | Lsl, [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | RoxlMem, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 227 | RoxrMem, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 238 | LslMem, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Operation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `request_interrupt` and `get_interrupt_ack` are never used [INFO] [stdout] --> src/m68k_cpu.rs:457:12 [INFO] [stdout] | [INFO] [stdout] 274 | impl CPU { [INFO] [stdout] | -------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 457 | pub fn request_interrupt(&mut self, level: u8, vector: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 539 | pub fn get_interrupt_ack(&self) -> (Option, BusState) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/z80_cpu.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 47 | pub struct Registers { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 58 | pub b_alt: u8, // Alternate B register [INFO] [stdout] | ^^^^^ [INFO] [stdout] 59 | pub c_alt: u8, // Alternate C register [INFO] [stdout] | ^^^^^ [INFO] [stdout] 60 | pub d_alt: u8, // Alternate D register [INFO] [stdout] | ^^^^^ [INFO] [stdout] 61 | pub e_alt: u8, // Alternate E register [INFO] [stdout] | ^^^^^ [INFO] [stdout] 62 | pub h_alt: u8, // Alternate H register [INFO] [stdout] | ^^^^^ [INFO] [stdout] 63 | pub l_alt: u8, // Alternate L register [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub i: u8, // Interrupt vector register [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_af` and `set_af` are never used [INFO] [stdout] --> src/z80_cpu.rs:101:12 [INFO] [stdout] | [INFO] [stdout] 72 | impl Registers { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn get_af(&self) -> u16 { ((self.a as u16) << 8) | self.f as u16 } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | pub fn set_af(&mut self, value: u16) { self.a = (value >> 8) as u8; self.f = value as u8; } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DummyIoDevice` is never constructed [INFO] [stdout] --> src/z80_cpu.rs:125:12 [INFO] [stdout] | [INFO] [stdout] 125 | pub struct DummyIoDevice; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/z80_cpu.rs:1454:12 [INFO] [stdout] | [INFO] [stdout] 142 | impl Z80 { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 1454 | pub fn trigger_nmi(&mut self, memory: &mut dyn Z80Memory) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1464 | pub fn trigger_int(&mut self, memory: &mut dyn Z80Memory, io: &mut dyn IoDevice, bus_value: u8) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1498 | pub fn get_a(&self) -> u8 { self.registers.a } [INFO] [stdout] | ^^^^^ [INFO] [stdout] 1499 | pub fn get_b(&self) -> u8 { self.registers.b } [INFO] [stdout] | ^^^^^ [INFO] [stdout] 1500 | pub fn get_bc(&self) -> u16 { self.registers.get_bc() } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 1501 | pub fn get_de(&self) -> u16 { self.registers.get_de() } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 1502 | pub fn get_hl(&self) -> u16 { self.registers.get_hl() } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 1503 | pub fn get_sp(&self) -> u16 { self.registers.sp } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 1504 | pub fn get_pc(&self) -> u16 { self.registers.pc } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 1505 | pub fn get_ix(&self) -> u16 { self.registers.ix } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 1506 | pub fn get_iy(&self) -> u16 { self.registers.iy } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 1507 | pub fn get_flag(&self, flag: u8) -> bool { self.registers.get_flag(flag) } [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 1508 | pub fn is_halted(&self) -> bool { self.halted } [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1511 | pub fn set_a(&mut self, value: u8) { self.registers.a = value } [INFO] [stdout] | ^^^^^ [INFO] [stdout] 1512 | pub fn set_sp(&mut self, value: u16) { self.registers.sp = value } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 1513 | pub fn set_flag(&mut self, flag: u8, value: bool) { self.registers.set_flag(flag, value) } [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cycles` is never read [INFO] [stdout] --> src/vdp.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Vdp { [INFO] [stdout] | --- field in this struct [INFO] [stdout] ... [INFO] [stdout] 20 | cycles: u32, // Total cycles in the current frame (tracked externally) [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `read_data`, `check_hblank_interrupt`, `check_vblank_interrupt`, `reset_interrupt_flags`, and `is_dma_active` are never used [INFO] [stdout] --> src/vdp.rs:350:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl Vdp { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 350 | pub fn read_data(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 359 | pub fn check_hblank_interrupt(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 363 | pub fn check_vblank_interrupt(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 367 | pub fn reset_interrupt_flags(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 372 | pub fn is_dma_active(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.62s [INFO] running `Command { std: "docker" "inspect" "fd01b285f2d1a4a1dbc10c668bc5a4590477f54f8bb71788adadd9fd4d23ca90", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fd01b285f2d1a4a1dbc10c668bc5a4590477f54f8bb71788adadd9fd4d23ca90", kill_on_drop: false }` [INFO] [stdout] fd01b285f2d1a4a1dbc10c668bc5a4590477f54f8bb71788adadd9fd4d23ca90 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] ede43c80be8e6a3c08a94bb8a49a6d6362425c77b954834b7c8d853db726a5ae [INFO] running `Command { std: "docker" "start" "-a" "ede43c80be8e6a3c08a94bb8a49a6d6362425c77b954834b7c8d853db726a5ae", kill_on_drop: false }` [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/vdp.rs:188:34 [INFO] [stderr] | [INFO] [stderr] 188 | let sprite_top = ((y_pos as i32) - 128); [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 188 - let sprite_top = ((y_pos as i32) - 128); [INFO] [stderr] 188 + let sprite_top = (y_pos as i32) - 128; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/vdp.rs:191:41 [INFO] [stderr] | [INFO] [stderr] 191 | let row_in_sprite = ((scanline as i32) - sprite_top); [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 191 - let row_in_sprite = ((scanline as i32) - sprite_top); [INFO] [stderr] 191 + let row_in_sprite = (scanline as i32) - sprite_top; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/vdp.rs:193:25 [INFO] [stderr] | [INFO] [stderr] 193 | ((x_pos as i32) - 128), [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 193 - ((x_pos as i32) - 128), [INFO] [stderr] 193 + (x_pos as i32) - 128, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused variable: `right_aligned` [INFO] [stderr] --> src/vdp.rs:117:13 [INFO] [stderr] | [INFO] [stderr] 117 | let right_aligned = (h_pos_reg & 0x80) != 0; [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_right_aligned` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: fields `width` and `height` are never read [INFO] [stderr] --> src/display.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 3 | pub struct Display { [INFO] [stderr] | ------- fields in this struct [INFO] [stderr] 4 | window: Window, [INFO] [stderr] 5 | width: usize, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 6 | height: usize, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: field `cycles` is never read [INFO] [stderr] --> src/vdp.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct Vdp { [INFO] [stderr] | --- field in this struct [INFO] [stderr] ... [INFO] [stderr] 20 | cycles: u32, // Total cycles in the current frame (tracked externally) [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: crate `rustyG3N` should have a snake case name [INFO] [stderr] | [INFO] [stderr] = help: convert the identifier to snake case: `rusty_g3_n` [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `rustyG3N` (lib) generated 7 warnings (run `cargo fix --lib -p rustyG3N` to apply 3 suggestions) [INFO] [stderr] warning: `rustyG3N` (lib test) generated 6 warnings (6 duplicates) [INFO] [stderr] warning: unused import: `Exception` [INFO] [stderr] --> src/main.rs:9:36 [INFO] [stderr] | [INFO] [stderr] 9 | use crate::m68k_cpu::{CPU as M68K, Exception}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `IoDevice` [INFO] [stderr] --> src/main.rs:11:27 [INFO] [stderr] | [INFO] [stderr] 11 | use crate::z80_cpu::{Z80, IoDevice}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `is_key_down` is never used [INFO] [stderr] --> src/display.rs:37:12 [INFO] [stderr] | [INFO] [stderr] 9 | impl Display { [INFO] [stderr] | ------------ method in this implementation [INFO] [stderr] ... [INFO] [stderr] 37 | pub fn is_key_down(&self, key: minifb::Key) -> bool { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple variants are never constructed [INFO] [stderr] --> src/m68k_cpu.rs:147:5 [INFO] [stderr] | [INFO] [stderr] 140 | pub enum Operation { [INFO] [stderr] | --------- variants in this enum [INFO] [stderr] ... [INFO] [stderr] 147 | Eor, [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 157 | Bclr, [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 172 | Tas, [INFO] [stderr] | ^^^ [INFO] [stderr] 173 | Rol, [INFO] [stderr] | ^^^ [INFO] [stderr] 174 | Roxl, [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 180 | And, [INFO] [stderr] | ^^^ [INFO] [stderr] 181 | Or, [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 189 | Jmp, [INFO] [stderr] | ^^^ [INFO] [stderr] 190 | Adda, [INFO] [stderr] | ^^^^ [INFO] [stderr] 191 | Suba, [INFO] [stderr] | ^^^^ [INFO] [stderr] 192 | Mulu, [INFO] [stderr] | ^^^^ [INFO] [stderr] 193 | Cmp, [INFO] [stderr] | ^^^ [INFO] [stderr] 194 | Scc, [INFO] [stderr] | ^^^ [INFO] [stderr] 195 | Dbcc, [INFO] [stderr] | ^^^^ [INFO] [stderr] 196 | Pea, [INFO] [stderr] | ^^^ [INFO] [stderr] 197 | Link, [INFO] [stderr] | ^^^^ [INFO] [stderr] 198 | Unlk, [INFO] [stderr] | ^^^^ [INFO] [stderr] 199 | NopAlt, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 216 | Lsl, [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 226 | RoxlMem, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 227 | RoxrMem, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 238 | LslMem, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Operation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: methods `request_interrupt` and `get_interrupt_ack` are never used [INFO] [stderr] --> src/m68k_cpu.rs:457:12 [INFO] [stderr] | [INFO] [stderr] 274 | impl CPU { [INFO] [stderr] | -------------------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 457 | pub fn request_interrupt(&mut self, level: u8, vector: Option) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 539 | pub fn get_interrupt_ack(&self) -> (Option, BusState) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple fields are never read [INFO] [stderr] --> src/z80_cpu.rs:58:9 [INFO] [stderr] | [INFO] [stderr] 47 | pub struct Registers { [INFO] [stderr] | --------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 58 | pub b_alt: u8, // Alternate B register [INFO] [stderr] | ^^^^^ [INFO] [stderr] 59 | pub c_alt: u8, // Alternate C register [INFO] [stderr] | ^^^^^ [INFO] [stderr] 60 | pub d_alt: u8, // Alternate D register [INFO] [stderr] | ^^^^^ [INFO] [stderr] 61 | pub e_alt: u8, // Alternate E register [INFO] [stderr] | ^^^^^ [INFO] [stderr] 62 | pub h_alt: u8, // Alternate H register [INFO] [stderr] | ^^^^^ [INFO] [stderr] 63 | pub l_alt: u8, // Alternate L register [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 68 | pub i: u8, // Interrupt vector register [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: methods `get_af` and `set_af` are never used [INFO] [stderr] --> src/z80_cpu.rs:101:12 [INFO] [stderr] | [INFO] [stderr] 72 | impl Registers { [INFO] [stderr] | -------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 101 | pub fn get_af(&self) -> u16 { ((self.a as u16) << 8) | self.f as u16 } [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 104 | pub fn set_af(&mut self, value: u16) { self.a = (value >> 8) as u8; self.f = value as u8; } [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `DummyIoDevice` is never constructed [INFO] [stderr] --> src/z80_cpu.rs:125:12 [INFO] [stderr] | [INFO] [stderr] 125 | pub struct DummyIoDevice; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple methods are never used [INFO] [stderr] --> src/z80_cpu.rs:1454:12 [INFO] [stderr] | [INFO] [stderr] 142 | impl Z80 { [INFO] [stderr] | -------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 1454 | pub fn trigger_nmi(&mut self, memory: &mut dyn Z80Memory) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1464 | pub fn trigger_int(&mut self, memory: &mut dyn Z80Memory, io: &mut dyn IoDevice, bus_value: u8) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1498 | pub fn get_a(&self) -> u8 { self.registers.a } [INFO] [stderr] | ^^^^^ [INFO] [stderr] 1499 | pub fn get_b(&self) -> u8 { self.registers.b } [INFO] [stderr] | ^^^^^ [INFO] [stderr] 1500 | pub fn get_bc(&self) -> u16 { self.registers.get_bc() } [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 1501 | pub fn get_de(&self) -> u16 { self.registers.get_de() } [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 1502 | pub fn get_hl(&self) -> u16 { self.registers.get_hl() } [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 1503 | pub fn get_sp(&self) -> u16 { self.registers.sp } [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 1504 | pub fn get_pc(&self) -> u16 { self.registers.pc } [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 1505 | pub fn get_ix(&self) -> u16 { self.registers.ix } [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 1506 | pub fn get_iy(&self) -> u16 { self.registers.iy } [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 1507 | pub fn get_flag(&self, flag: u8) -> bool { self.registers.get_flag(flag) } [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] 1508 | pub fn is_halted(&self) -> bool { self.halted } [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1511 | pub fn set_a(&mut self, value: u8) { self.registers.a = value } [INFO] [stderr] | ^^^^^ [INFO] [stderr] 1512 | pub fn set_sp(&mut self, value: u16) { self.registers.sp = value } [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 1513 | pub fn set_flag(&mut self, flag: u8, value: bool) { self.registers.set_flag(flag, value) } [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `read_data`, `check_hblank_interrupt`, `check_vblank_interrupt`, `reset_interrupt_flags`, and `is_dma_active` are never used [INFO] [stderr] --> src/vdp.rs:350:12 [INFO] [stderr] | [INFO] [stderr] 26 | impl Vdp { [INFO] [stderr] | -------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 350 | pub fn read_data(&self) -> u16 { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 359 | pub fn check_hblank_interrupt(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 363 | pub fn check_vblank_interrupt(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 367 | pub fn reset_interrupt_flags(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 372 | pub fn is_dma_active(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `rustyG3N` (bin "rustyG3N" test) generated 16 warnings (6 duplicates) (run `cargo fix --bin "rustyG3N" --tests` to apply 2 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.17s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/rustyG3N-e915c4f5cd72b08f) [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/rustyG3N-b328417694c2a17e) [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] [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" "ede43c80be8e6a3c08a94bb8a49a6d6362425c77b954834b7c8d853db726a5ae", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ede43c80be8e6a3c08a94bb8a49a6d6362425c77b954834b7c8d853db726a5ae", kill_on_drop: false }` [INFO] [stdout] ede43c80be8e6a3c08a94bb8a49a6d6362425c77b954834b7c8d853db726a5ae