repo: yaxgbc
commit: 24a0033363e43a1b9db22190c385eca376865c84 aka no-gods-no-, run: 426
status: error in 28.187s
description: callback error: stack traceback:
[C]: in ?
[C]: in field 'run'
[string "goodfile"]:2: in main chunk
deployed: false
artifacts
Mon, 11 Mar 2024 04:14:56 +0000
step:
git clone log (stdout)
Mon, 11 Mar 2024 04:14:56 +0000
step:
git clone log (stderr)
Cloning into 'tmpdir'...
warning: redirecting to https://github.com/iximeow/yaxgbc.git/
Mon, 11 Mar 2024 04:14:57 +0000
step:
git checkout log (stdout)
Mon, 11 Mar 2024 04:14:57 +0000
step:
git checkout log (stderr)
Note: switching to '24a0033363e43a1b9db22190c385eca376865c84'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:
git switch -c
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 24a0033 factor gbc state out into a discrete struct
Mon, 11 Mar 2024 04:14:57 +0000
step:
cargo build log (stdout)
Mon, 11 Mar 2024 04:14:57 +0000
step:
cargo build log (stderr)
warning: unused manifest key: dependencies.rodio.default-feature
Compiling libc v0.2.139
Compiling proc-macro2 v1.0.66
Compiling unicode-ident v1.0.6
Compiling autocfg v1.1.0
Compiling cfg-if v1.0.0
Compiling version_check v0.9.4
Compiling bitflags v1.3.2
Compiling parking_lot_core v0.9.8
Compiling smallvec v1.11.0
Compiling scopeguard v1.2.0
Compiling proc-macro2 v0.4.30
Compiling pkg-config v0.3.27
Compiling once_cell v1.17.0
Compiling lazy_static v1.4.0
Compiling arrayvec v0.7.4
Compiling ahash v0.8.3
Compiling proc-macro-error-attr v1.0.4
Compiling lock_api v0.4.10
Compiling ttf-parser v0.19.1
Compiling log v0.4.19
Compiling syn v1.0.107
Compiling unicode-xid v0.1.0
Compiling quote v1.0.32
Compiling alsa-sys v0.3.1
Compiling syn v2.0.28
Compiling num-traits v0.2.15
Compiling proc-macro-error v1.0.4
Compiling encoding_rs v0.8.33
Compiling syn v0.15.44
Compiling ab_glyph_rasterizer v0.1.8
Compiling nix v0.24.3
Compiling getrandom v0.2.8
Compiling parking_lot v0.12.1
Compiling quote v0.6.13
Compiling owned_ttf_parser v0.19.0
Compiling indexmap v1.9.2
Compiling miniquad v0.3.16
Compiling ab_glyph v0.2.21
Compiling byteorder v1.5.0
Compiling tinyvec_macros v0.1.1
Compiling nohash-hasher v0.2.0
Compiling cpal v0.15.2
Compiling tinyvec v1.6.0
Compiling ogg v0.8.0
Compiling alsa v0.7.1
Compiling rand_core v0.6.4
Compiling tokio v1.28.2
Compiling hashbrown v0.12.3
Compiling webbrowser v0.5.5
Compiling heck v0.4.0
Compiling dasp_sample v0.11.0
Compiling ppv-lite86 v0.2.17
Compiling os_str_bytes v6.4.1
Compiling clap_lex v0.2.4
Compiling rand_chacha v0.3.1
Compiling quad-url v0.1.1
Compiling yaxpeax-arch v0.2.7
Compiling lewton v0.10.2
Compiling num_cpus v1.16.0
Compiling mio v0.8.8
Compiling signal-hook-registry v1.4.1
Compiling socket2 v0.4.9
Compiling atty v0.2.14
Compiling bytes v1.5.0
Compiling termcolor v1.1.3
Compiling textwrap v0.16.0
Compiling num_enum v0.2.3
Compiling claxon v0.4.3
Compiling either v1.8.0
Compiling strsim v0.10.0
Compiling pin-project-lite v0.2.13
Compiling hound v3.5.1
Compiling windows-targets v0.42.2
Compiling itertools v0.10.5
Compiling windows v0.46.0
Compiling bytemuck_derive v1.4.1
Compiling tokio-macros v2.1.0
Compiling rand v0.8.5
Compiling hex v0.4.3
Compiling yaxpeax-sm83 v0.2.0 (https://www.github.com/iximeow/yaxpeax-sm83.git?rev=8332b3750cd3f42ca83d02347afc560b37992a69#8332b375)
Compiling clap_derive v3.2.18
Compiling bytemuck v1.13.1
Compiling symphonia-core v0.5.3
Compiling ecolor v0.21.0
Compiling emath v0.21.0
Compiling epaint v0.21.0
Compiling egui v0.21.0
Compiling symphonia-metadata v0.5.3
Compiling clap v3.2.23
Compiling symphonia-bundle-mp3 v0.5.3
Compiling symphonia v0.5.3
Compiling rodio v0.17.3
Compiling egui-miniquad v0.14.0
Compiling yaxpeax-gbc v0.2.10 (/home/iximeow/tmpdir)
warning: unused import: `std::mem::size_of`
--> src/main.rs:11:5
|
11 | use std::mem::size_of;
| ^^^^^^^^^^^^^^^^^
|
= note: `#[warn(unused_imports)]` on by default
warning: unused import: `Decoder`
--> src/main.rs:13:20
|
13 | use yaxpeax_arch::{Decoder, ReadError};
| ^^^^^^^
warning: unnecessary parentheses around assigned value
--> src/apu.rs:89:35
|
89 | let period_step = (value & 0x07);
| ^ ^
|
= note: `#[warn(unused_parens)]` on by default
help: remove these parentheses
|
89 - let period_step = (value & 0x07);
89 + let period_step = value & 0x07;
|
warning: unnecessary parentheses around assigned value
--> src/apu.rs:223:46
|
223 | self.channel_4_clock_shift = (value >> 4);
| ^ ^
|
help: remove these parentheses
|
223 - self.channel_4_clock_shift = (value >> 4);
223 + self.channel_4_clock_shift = value >> 4;
|
warning: unused import: `crate::Cpu`
--> src/cpu.rs:1351:13
|
1351 | use crate::Cpu;
| ^^^^^^^^^^
warning: unused import: `crate::FlatMapper`
--> src/cpu.rs:1352:13
|
1352 | use crate::FlatMapper;
| ^^^^^^^^^^^^^^^^^
warning: unused import: `crate::MemoryMapping`
--> src/cpu.rs:1353:13
|
1353 | use crate::MemoryMapping;
| ^^^^^^^^^^^^^^^^^^^^
warning: unused import: `crate::cpu::DecorateExt`
--> src/main.rs:19:5
|
19 | use crate::cpu::DecorateExt;
| ^^^^^^^^^^^^^^^^^^^^^^^
warning: unused import: `std::fmt::Write`
--> src/frontend/gui.rs:1:5
|
1 | use std::fmt::Write;
| ^^^^^^^^^^^^^^^
warning: unused imports: `AtomicBool`, `Ordering`
--> src/frontend/gui.rs:3:25
|
3 | use std::sync::atomic::{AtomicBool, Ordering};
| ^^^^^^^^^^ ^^^^^^^^
warning: unused imports: `LCDC`, `STAT`
--> src/frontend/gui.rs:5:13
|
5 | use crate::{STAT, SCX, SCY, IF, IE, GBC, LCDC, LY, LYC};
| ^^^^ ^^^^
warning: unused import: `egui::Vec2`
--> src/frontend/gui.rs:11:5
|
11 | use egui::Vec2;
| ^^^^^^^^^^
warning: unnecessary parentheses around `if` condition
--> src/main.rs:460:12
|
460 | if (self.lcdc & 0b0000_1000 == 0) {
| ^ ^
|
help: remove these parentheses
|
460 - if (self.lcdc & 0b0000_1000 == 0) {
460 + if self.lcdc & 0b0000_1000 == 0 {
|
warning: unnecessary parentheses around assigned value
--> src/main.rs:862:42
|
862 | let tile_xoffs = (line_x % 8);
| ^ ^
|
help: remove these parentheses
|
862 - let tile_xoffs = (line_x % 8);
862 + let tile_xoffs = line_x % 8;
|
warning: unnecessary parentheses around assigned value
--> src/main.rs:1240:52
|
1240 | self.state.management_bits[reg] |= (value & 0b0011_0000);
| ^ ^
|
help: remove these parentheses
|
1240 - self.state.management_bits[reg] |= (value & 0b0011_0000);
1240 + self.state.management_bits[reg] |= value & 0b0011_0000;
|
warning: unreachable statement
--> src/cpu.rs:1047:9
|
1045 | return;
| ------ any code following this expression is unreachable
1046 |
1047 | let from_linear = storage.recursive_translate(from);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
|
= note: `#[warn(unreachable_code)]` on by default
warning: unreachable statement
--> src/cpu.rs:1066:9
|
1064 | return;
| ------ any code following this expression is unreachable
1065 |
1066 | / if self.branch_trace.len() > TRACE_DEPTH {
1067 | | self.branch_trace.pop_back();
1068 | | }
| |_________^ unreachable statement
warning: unreachable statement
--> src/cpu.rs:1114:9
|
1112 | return;
| ------ any code following this expression is unreachable
1113 |
1114 | / if self.branch_trace.len() > TRACE_DEPTH {
1115 | | self.branch_trace.pop_back();
1116 | | }
| |_________^ unreachable statement
warning: unreachable statement
--> src/cpu.rs:1151:9
|
1149 | return;
| ------ any code following this expression is unreachable
1150 |
1151 | let from_linear = storage.recursive_translate(from);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
warning: unreachable statement
--> src/cpu.rs:1173:9
|
1171 | return;
| ------ any code following this expression is unreachable
1172 |
1173 | let from_linear = storage.recursive_translate(from);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
warning: unreachable statement
--> src/main.rs:1368:17
|
1367 | panic!("unhandled write {:04x}", reg);
| ------------------------------------- any code following this expression is unreachable
1368 | self.state.management_bits[reg] = value;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
warning: unused import: `Write`
--> src/main.rs:6:16
|
6 | use std::fmt::{Write as FmtWrite};
| ^^^^^
warning: unreachable pattern
--> src/cpu.rs:1674:9
|
1674 | 0xff0f => Some("IE"),
| ^^^^^^
|
= note: `#[warn(unreachable_patterns)]` on by default
warning: unused variable: `word`
--> src/cpu.rs:100:32
|
100 | fn on_word_read(&mut self, word: u8) {
| ^^^^ help: if this is intentional, prefix it with an underscore: `_word`
|
= note: `#[warn(unused_variables)]` on by default
warning: unused variable: `storage`
--> src/cpu.rs:1043:51
|
1043 | fn trace_int<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16, int_bit: u8) {
| ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_storage`
warning: unused variable: `from`
--> src/cpu.rs:1043:91
|
1043 | fn trace_int<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16, int_bit: u8) {
| ^^^^ help: if this is intentional, prefix it with an underscore: `_from`
warning: unused variable: `to`
--> src/cpu.rs:1043:102
|
1043 | fn trace_int<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16, int_bit: u8) {
| ^^ help: if this is intentional, prefix it with an underscore: `_to`
warning: unused variable: `int_bit`
--> src/cpu.rs:1043:111
|
1043 | fn trace_int<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16, int_bit: u8) {
| ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_int_bit`
warning: unused variable: `call_kind`
--> src/cpu.rs:1086:38
|
1086 | Some(CallRecord { addrs, call_kind }) => {
| ^^^^^^^^^ help: try ignoring the field: `call_kind: _`
warning: unused variable: `storage`
--> src/cpu.rs:1062:52
|
1062 | fn trace_reti<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16) {
| ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_storage`
warning: unused variable: `from`
--> src/cpu.rs:1062:92
|
1062 | fn trace_reti<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16) {
| ^^^^ help: if this is intentional, prefix it with an underscore: `_from`
warning: unused variable: `to`
--> src/cpu.rs:1062:103
|
1062 | fn trace_reti<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16) {
| ^^ help: if this is intentional, prefix it with an underscore: `_to`
warning: unused variable: `storage`
--> src/cpu.rs:1110:51
|
1110 | fn trace_ret<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16) {
| ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_storage`
warning: unused variable: `from`
--> src/cpu.rs:1110:91
|
1110 | fn trace_ret<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16) {
| ^^^^ help: if this is intentional, prefix it with an underscore: `_from`
warning: unused variable: `to`
--> src/cpu.rs:1110:102
|
1110 | fn trace_ret<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16) {
| ^^ help: if this is intentional, prefix it with an underscore: `_to`
warning: unused variable: `storage`
--> src/cpu.rs:1147:52
|
1147 | fn trace_call<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16) {
| ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_storage`
warning: unused variable: `from`
--> src/cpu.rs:1147:92
|
1147 | fn trace_call<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16) {
| ^^^^ help: if this is intentional, prefix it with an underscore: `_from`
warning: unused variable: `to`
--> src/cpu.rs:1147:103
|
1147 | fn trace_call<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16) {
| ^^ help: if this is intentional, prefix it with an underscore: `_to`
warning: unused variable: `storage`
--> src/cpu.rs:1169:54
|
1169 | fn trace_branch<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16) {
| ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_storage`
warning: unused variable: `from`
--> src/cpu.rs:1169:94
|
1169 | fn trace_branch<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16) {
| ^^^^ help: if this is intentional, prefix it with an underscore: `_from`
warning: unused variable: `to`
--> src/cpu.rs:1169:105
|
1169 | fn trace_branch<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16) {
| ^^ help: if this is intentional, prefix it with an underscore: `_to`
warning: unused variable: `dpi_scale`
--> src/frontend/gui.rs:37:13
|
37 | let dpi_scale = ctx.dpi_scale();
| ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dpi_scale`
warning: unused variable: `y`
--> src/frontend/gui.rs:103:13
|
103 | for y in 0..SCREEN_HEIGHT {
| ^ help: if this is intentional, prefix it with an underscore: `_y`
warning: unused variable: `x`
--> src/frontend/gui.rs:104:17
|
104 | for x in 0..SCREEN_WIDTH {
| ^ help: if this is intentional, prefix it with an underscore: `_x`
warning: unused variable: `y`
--> src/frontend/gui.rs:116:21
|
116 | for y in 0..OAM_DEBUG_PANEL_HEIGHT {
| ^ help: if this is intentional, prefix it with an underscore: `_y`
warning: unused variable: `x`
--> src/frontend/gui.rs:118:25
|
118 | for x in 0..42 {
| ^ help: if this is intentional, prefix it with an underscore: `_x`
warning: unused variable: `conf`
--> src/frontend/gui.rs:245:9
|
245 | let conf = miniquad::conf::Conf {
| ^^^^ help: if this is intentional, prefix it with an underscore: `_conf`
warning: unused variable: `i`
--> src/main.rs:88:13
|
88 | let mut i = 0;
| ^ help: if this is intentional, prefix it with an underscore: `_i`
warning: unused variable: `clock_total`
--> src/main.rs:89:13
|
89 | let mut clock_total = 0;
| ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_clock_total`
warning: value assigned to `screen_time` is never read
--> src/main.rs:608:13
|
608 | screen_time -= screen_time % Self::SCREEN_TIME;
| ^^^^^^^^^^^
|
= help: maybe it is overwritten before being read?
= note: `#[warn(unused_assignments)]` on by default
warning: unused variable: `tile_base`
--> src/main.rs:811:25
|
811 | let tile_base = self.background_tile_base();
| ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tile_base`
warning: unused variable: `window_tile_base`
--> src/main.rs:812:25
|
812 | let window_tile_base = self.window_tile_base();
| ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_window_tile_base`
warning: unused variable: `window_y_offset`
--> src/main.rs:833:98
|
833 | let (line_x, tile_data, attributes) = window_coords.and_then(|(window_y, window_y_offset)| {
| ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_window_y_offset`
warning: unused variable: `pc_before`
--> src/main.rs:1867:13
|
1867 | let pc_before = self.cpu.pc;
| ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pc_before`
warning: variable does not need to be mutable
--> src/cpu.rs:1306:13
|
1306 | let mut buf = [
| ----^^^
| |
| help: remove this `mut`
|
= note: `#[warn(unused_mut)]` on by default
warning: variable does not need to be mutable
--> src/cpu.rs:1334:13
|
1334 | let mut lcd = crate::Lcd::new();
| ----^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> src/cpu.rs:1335:13
|
1335 | let mut apu = crate::Apu::new();
| ----^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> src/frontend/tui.rs:8:13
|
8 | let mut gb = gb_state.lock().unwrap();
| ----^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> src/frontend/gui.rs:146:13
|
146 | let mut vertex_buffers = vec![self.vertex_buffer];
| ----^^^^^^^^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> src/frontend/gui.rs:147:13
|
147 | let mut images = vec![texture];
| ----^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> src/frontend/gui.rs:255:55
|
255 | miniquad::start(miniquad::conf::Conf::default(), |mut ctx| {
| ----^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> src/main.rs:88:9
|
88 | let mut i = 0;
| ----^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> src/main.rs:89:9
|
89 | let mut clock_total = 0;
| ----^^^^^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> src/main.rs:1101:29
|
1101 | let mut res = self.state.management_bits[reg];
| ----^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> src/main.rs:2660:13
|
2660 | let mut memory = MemoryMapping {
| ----^^^^^^
| |
| help: remove this `mut`
warning: constant `CLOCKS_PER_FRAME` is never used
--> src/main.rs:90:11
|
90 | const CLOCKS_PER_FRAME: u64 = 4_190_000 / 60;
| ^^^^^^^^^^^^^^^^
|
= note: `#[warn(dead_code)]` on by default
warning: fields `next_line` and `next_draw_time` are never read
--> src/main.rs:232:5
|
222 | struct Lcd {
| --- fields in this struct
...
232 | next_line: u64,
| ^^^^^^^^^
233 | next_draw_time: u64,
| ^^^^^^^^^^^^^^
warning: enum `GBState` is never used
--> src/main.rs:1380:6
|
1380 | enum GBState {
| ^^^^^^^
warning: constant `WAVE_RAM_START` is never used
--> src/main.rs:1468:7
|
1468 | const WAVE_RAM_START: usize = 0x130;
| ^^^^^^^^^^^^^^
warning: constant `WAVE_RAM_END` is never used
--> src/main.rs:1469:7
|
1469 | const WAVE_RAM_END: usize = 0x13f;
| ^^^^^^^^^^^^
warning: function `dump_mem_region` is never used
--> src/main.rs:1597:4
|
1597 | fn dump_mem_region(mem_map: &dyn MemoryBanks, start: u16, words: u16, width: u16) {
| ^^^^^^^^^^^^^^^
warning: fields `battery`, `timer`, and `rumble` are never read
--> src/main.rs:2063:5
|
2059 | struct CartridgeFeatures {
| ----------------- fields in this struct
...
2063 | battery: bool,
| ^^^^^^^
2064 | timer: bool,
| ^^^^^
2065 | rumble: bool,
| ^^^^^^
|
= note: `CartridgeFeatures` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
warning: field `features` is never read
--> src/main.rs:2129:5
|
2128 | struct GBCCart {
| ------- field in this struct
2129 | features: CartridgeFeatures,
| ^^^^^^^^
warning: associated function `palette_number` is never used
--> src/main.rs:281:8
|
281 | fn palette_number(&self) -> u16 {
| ^^^^^^^^^^^^^^
warning: associated constant `VBLANK_TIME` is never used
--> src/main.rs:330:11
|
330 | const VBLANK_TIME: u64 = 4560; // vblank is 10 scan lines
| ^^^^^^^^^^^
warning: associated function `sprite_double_size` is never used
--> src/main.rs:483:8
|
483 | fn sprite_double_size(&self) -> bool {
| ^^^^^^^^^^^^^^^^^^
warning: associated function `sprite_enable` is never used
--> src/main.rs:487:8
|
487 | fn sprite_enable(&self) -> bool {
| ^^^^^^^^^^^^^
warning: associated function `read_at` is never used
--> src/main.rs:929:8
|
929 | fn read_at(data: &'a dyn MemoryBanks, addr: u16) -> Self {
| ^^^^^^^
warning: fields `channel_active`, `channel_2_pace`, and `channel_4_wavelength` are never read
--> src/apu.rs:22:5
|
6 | pub struct Apu {
| --- fields in this struct
...
22 | channel_active: [bool; 4],
| ^^^^^^^^^^^^^^
...
45 | channel_2_pace: i8,
| ^^^^^^^^^^^^^^
...
79 | channel_4_wavelength: u16,
| ^^^^^^^^^^^^^^^^^^^^
warning: associated function `set_nr52` is never used
--> src/apu.rs:741:8
|
741 | fn set_nr52(&mut self, v: u8) {
| ^^^^^^^^
warning: field `memory` is never read
--> src/cpu.rs:1613:5
|
1611 | pub(crate) struct DecoratedInstruction<'instr, 'data> {
| -------------------- field in this struct
1612 | cpu: &'instr Cpu,
1613 | memory: &'instr MemoryMapping<'data>,
| ^^^^^^
warning: associated function `flag_z` is never used
--> src/cpu.rs:1247:8
|
1247 | fn flag_z(&self) -> bool {
| ^^^^^^
warning: function `execute_test` is never used
--> src/cpu.rs:1327:8
|
1327 | fn execute_test(cpu: &mut Cpu, program: &[u8]) {
| ^^^^^^^^^^^^
warning: function `do_ui` is never used
--> src/frontend/tui.rs:6:15
|
6 | pub(crate) fn do_ui(gb_state: Arc>) {
| ^^^^^
warning: function `run` is never used
--> src/timer.rs:2:8
|
2 | pub fn run(tx: std::sync::mpsc::Sender<()>) {
| ^^^
warning: function `with_test_mapping` is never used
--> src/main.rs:2638:8
|
2638 | fn with_test_mapping(f: impl Fn(MemoryMapping) -> U) -> U {
| ^^^^^^^^^^^^^^^^^
warning: unused `Result` that must be used
--> src/frontend/tui.rs:77:17
|
77 | write!(screen, "{}", [".", "+", "*", "#"][gb.state.lcd.display[(i * 160 + j) as usize] as usize]);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: this `Result` may be an `Err` variant, which should be handled
= note: `#[warn(unused_must_use)]` on by default
= note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info)
warning: unused `Result` that must be used
--> src/frontend/tui.rs:79:13
|
79 | write!(screen, "\n");
| ^^^^^^^^^^^^^^^^^^^^
|
= note: this `Result` may be an `Err` variant, which should be handled
= note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info)
warning: `yaxpeax-gbc` (bin "yaxgbc") generated 88 warnings
Finished dev [unoptimized + debuginfo] target(s) in 25.79s
Mon, 11 Mar 2024 04:15:23 +0000
step:
cargo test log (stdout)
Mon, 11 Mar 2024 04:15:23 +0000
step:
cargo test log (stderr)
warning: unused manifest key: dependencies.rodio.default-feature
Compiling yaxpeax-gbc v0.2.10 (/home/iximeow/tmpdir)
warning: unused import: `std::mem::size_of`
--> src/main.rs:11:5
|
11 | use std::mem::size_of;
| ^^^^^^^^^^^^^^^^^
|
= note: `#[warn(unused_imports)]` on by default
warning: unused import: `Decoder`
--> src/main.rs:13:20
|
13 | use yaxpeax_arch::{Decoder, ReadError};
| ^^^^^^^
warning: unnecessary parentheses around assigned value
--> src/apu.rs:89:35
|
89 | let period_step = (value & 0x07);
| ^ ^
|
= note: `#[warn(unused_parens)]` on by default
help: remove these parentheses
|
89 - let period_step = (value & 0x07);
89 + let period_step = value & 0x07;
|
warning: unnecessary parentheses around assigned value
--> src/apu.rs:223:46
|
223 | self.channel_4_clock_shift = (value >> 4);
| ^ ^
|
help: remove these parentheses
|
223 - self.channel_4_clock_shift = (value >> 4);
223 + self.channel_4_clock_shift = value >> 4;
|
warning: unused import: `crate::FlatMapper`
--> src/cpu.rs:1352:13
|
1352 | use crate::FlatMapper;
| ^^^^^^^^^^^^^^^^^
warning: unused import: `crate::MemoryMapping`
--> src/cpu.rs:1353:13
|
1353 | use crate::MemoryMapping;
| ^^^^^^^^^^^^^^^^^^^^
warning: unused import: `crate::cpu::DecorateExt`
--> src/main.rs:19:5
|
19 | use crate::cpu::DecorateExt;
| ^^^^^^^^^^^^^^^^^^^^^^^
warning: unused import: `std::fmt::Write`
--> src/frontend/gui.rs:1:5
|
1 | use std::fmt::Write;
| ^^^^^^^^^^^^^^^
warning: unused imports: `AtomicBool`, `Ordering`
--> src/frontend/gui.rs:3:25
|
3 | use std::sync::atomic::{AtomicBool, Ordering};
| ^^^^^^^^^^ ^^^^^^^^
warning: unused imports: `LCDC`, `STAT`
--> src/frontend/gui.rs:5:13
|
5 | use crate::{STAT, SCX, SCY, IF, IE, GBC, LCDC, LY, LYC};
| ^^^^ ^^^^
warning: unused import: `egui::Vec2`
--> src/frontend/gui.rs:11:5
|
11 | use egui::Vec2;
| ^^^^^^^^^^
warning: unnecessary parentheses around `if` condition
--> src/main.rs:460:12
|
460 | if (self.lcdc & 0b0000_1000 == 0) {
| ^ ^
|
help: remove these parentheses
|
460 - if (self.lcdc & 0b0000_1000 == 0) {
460 + if self.lcdc & 0b0000_1000 == 0 {
|
warning: unnecessary parentheses around assigned value
--> src/main.rs:862:42
|
862 | let tile_xoffs = (line_x % 8);
| ^ ^
|
help: remove these parentheses
|
862 - let tile_xoffs = (line_x % 8);
862 + let tile_xoffs = line_x % 8;
|
warning: unnecessary parentheses around assigned value
--> src/main.rs:1240:52
|
1240 | self.state.management_bits[reg] |= (value & 0b0011_0000);
| ^ ^
|
help: remove these parentheses
|
1240 - self.state.management_bits[reg] |= (value & 0b0011_0000);
1240 + self.state.management_bits[reg] |= value & 0b0011_0000;
|
warning: unreachable statement
--> src/cpu.rs:1047:9
|
1045 | return;
| ------ any code following this expression is unreachable
1046 |
1047 | let from_linear = storage.recursive_translate(from);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
|
= note: `#[warn(unreachable_code)]` on by default
warning: unreachable statement
--> src/cpu.rs:1066:9
|
1064 | return;
| ------ any code following this expression is unreachable
1065 |
1066 | / if self.branch_trace.len() > TRACE_DEPTH {
1067 | | self.branch_trace.pop_back();
1068 | | }
| |_________^ unreachable statement
warning: unreachable statement
--> src/cpu.rs:1114:9
|
1112 | return;
| ------ any code following this expression is unreachable
1113 |
1114 | / if self.branch_trace.len() > TRACE_DEPTH {
1115 | | self.branch_trace.pop_back();
1116 | | }
| |_________^ unreachable statement
warning: unreachable statement
--> src/cpu.rs:1151:9
|
1149 | return;
| ------ any code following this expression is unreachable
1150 |
1151 | let from_linear = storage.recursive_translate(from);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
warning: unreachable statement
--> src/cpu.rs:1173:9
|
1171 | return;
| ------ any code following this expression is unreachable
1172 |
1173 | let from_linear = storage.recursive_translate(from);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
warning: unreachable statement
--> src/main.rs:1368:17
|
1367 | panic!("unhandled write {:04x}", reg);
| ------------------------------------- any code following this expression is unreachable
1368 | self.state.management_bits[reg] = value;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
error[E0609]: no field `ram` on type `MemoryMapping<'_>`
--> src/main.rs:2672:20
|
2672 | memory.ram[0x000_000] = 0x00;
| ^^^ unknown field
|
= note: available fields are: `cart`, `state`, `verbose`
help: one of the expressions' fields has a field of the same name
|
2672 | memory.state.ram[0x000_000] = 0x00;
| ++++++
error[E0609]: no field `ram` on type `MemoryMapping<'_>`
--> src/main.rs:2674:20
|
2674 | memory.ram[0x000_000] = 0xaa;
| ^^^ unknown field
|
= note: available fields are: `cart`, `state`, `verbose`
help: one of the expressions' fields has a field of the same name
|
2674 | memory.state.ram[0x000_000] = 0xaa;
| ++++++
error[E0609]: no field `ram` on type `MemoryMapping<'_>`
--> src/main.rs:2677:20
|
2677 | memory.ram[0x000_001] = 0xff;
| ^^^ unknown field
|
= note: available fields are: `cart`, `state`, `verbose`
help: one of the expressions' fields has a field of the same name
|
2677 | memory.state.ram[0x000_001] = 0xff;
| ++++++
error[E0609]: no field `ram` on type `MemoryMapping<'_>`
--> src/main.rs:2679:31
|
2679 | assert_eq!(memory.ram[0x000_001], 0xab);
| ^^^ unknown field
|
= note: available fields are: `cart`, `state`, `verbose`
help: one of the expressions' fields has a field of the same name
|
2679 | assert_eq!(memory.state.ram[0x000_001], 0xab);
| ++++++
error[E0609]: no field `ram` on type `MemoryMapping<'_>`
--> src/main.rs:2681:20
|
2681 | memory.ram[0x001_001] = 0xff;
| ^^^ unknown field
|
= note: available fields are: `cart`, `state`, `verbose`
help: one of the expressions' fields has a field of the same name
|
2681 | memory.state.ram[0x001_001] = 0xff;
| ++++++
error[E0609]: no field `ram` on type `MemoryMapping<'_>`
--> src/main.rs:2683:31
|
2683 | assert_eq!(memory.ram[0x001_001], 0xab);
| ^^^ unknown field
|
= note: available fields are: `cart`, `state`, `verbose`
help: one of the expressions' fields has a field of the same name
|
2683 | assert_eq!(memory.state.ram[0x001_001], 0xab);
| ++++++
error[E0609]: no field `management_bits` on type `MemoryMapping<'_>`
--> src/main.rs:2685:20
|
2685 | memory.management_bits[SVBK] = 0x01;
| ^^^^^^^^^^^^^^^ unknown field
|
= note: available fields are: `cart`, `state`, `verbose`
help: one of the expressions' fields has a field of the same name
|
2685 | memory.state.management_bits[SVBK] = 0x01;
| ++++++
error[E0609]: no field `management_bits` on type `MemoryMapping<'_>`
--> src/main.rs:2688:31
|
2688 | assert_eq!(memory.management_bits[SVBK], 0x03);
| ^^^^^^^^^^^^^^^ unknown field
|
= note: available fields are: `cart`, `state`, `verbose`
help: one of the expressions' fields has a field of the same name
|
2688 | assert_eq!(memory.state.management_bits[SVBK], 0x03);
| ++++++
error[E0609]: no field `ram` on type `MemoryMapping<'_>`
--> src/main.rs:2692:20
|
2692 | memory.ram[0x003_001] = 0xff;
| ^^^ unknown field
|
= note: available fields are: `cart`, `state`, `verbose`
help: one of the expressions' fields has a field of the same name
|
2692 | memory.state.ram[0x003_001] = 0xff;
| ++++++
error[E0609]: no field `ram` on type `MemoryMapping<'_>`
--> src/main.rs:2694:31
|
2694 | assert_eq!(memory.ram[0x003_001], 0xab);
| ^^^ unknown field
|
= note: available fields are: `cart`, `state`, `verbose`
help: one of the expressions' fields has a field of the same name
|
2694 | assert_eq!(memory.state.ram[0x003_001], 0xab);
| ++++++
warning: unused import: `Write`
--> src/main.rs:6:16
|
6 | use std::fmt::{Write as FmtWrite};
| ^^^^^
For more information about this error, try `rustc --explain E0609`.
warning: `yaxpeax-gbc` (bin "yaxgbc" test) generated 21 warnings
error: could not compile `yaxpeax-gbc` due to 10 previous errors; 21 warnings emitted
metrics
name | midgardx86_64 Ivy Bridge @ 3.700GHz |