[INFO] updating cached repository Spalynx/soliloquy [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/Spalynx/soliloquy [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/Spalynx/soliloquy" "work/ex/clippy-test-run/sources/stable/gh/Spalynx/soliloquy"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/Spalynx/soliloquy'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/Spalynx/soliloquy" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/Spalynx/soliloquy"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/Spalynx/soliloquy'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] bd559286b45fd781abb5ccf37c35a868a78f3790 [INFO] sha for GitHub repo Spalynx/soliloquy: bd559286b45fd781abb5ccf37c35a868a78f3790 [INFO] validating manifest of Spalynx/soliloquy on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of Spalynx/soliloquy on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing Spalynx/soliloquy [INFO] finished frobbing Spalynx/soliloquy [INFO] frobbed toml for Spalynx/soliloquy written to work/ex/clippy-test-run/sources/stable/gh/Spalynx/soliloquy/Cargo.toml [INFO] started frobbing Spalynx/soliloquy [INFO] finished frobbing Spalynx/soliloquy [INFO] frobbed toml for Spalynx/soliloquy written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/Spalynx/soliloquy/Cargo.toml [INFO] crate Spalynx/soliloquy has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting Spalynx/soliloquy against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-4/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/Spalynx/soliloquy:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] fc63ffea04676eb5b4efbbf0df7ef68903cd3efa900b0aab008c404ca1b45a29 [INFO] running `"docker" "start" "-a" "fc63ffea04676eb5b4efbbf0df7ef68903cd3efa900b0aab008c404ca1b45a29"` [INFO] [stderr] Checking soliloquy v0.1.2 (/opt/crater/workdir) [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/core/cpu.rs:163:9 [INFO] [stderr] | [INFO] [stderr] 163 | / return match flag.as_ref() { [INFO] [stderr] 164 | | "N" | "n" => self.status & (1 << 7) == 128, [INFO] [stderr] 165 | | "V" | "v" => self.status & (1 << 6) == 64, [INFO] [stderr] 166 | | "S" | "s" => self.status & (1 << 5) == 32, [INFO] [stderr] ... | [INFO] [stderr] 172 | | _ => panic!("NOT A FLAG"), [INFO] [stderr] 173 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 163 | match flag.as_ref() { [INFO] [stderr] 164 | "N" | "n" => self.status & (1 << 7) == 128, [INFO] [stderr] 165 | "V" | "v" => self.status & (1 << 6) == 64, [INFO] [stderr] 166 | "S" | "s" => self.status & (1 << 5) == 32, [INFO] [stderr] 167 | "B" | "b" => self.status & (1 << 4) == 16, [INFO] [stderr] 168 | "D" | "d" => self.status & (1 << 3) == 8, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/core/memory.rs:11:9 [INFO] [stderr] | [INFO] [stderr] 11 | / return MEM { [INFO] [stderr] 12 | | values: [0; 0x800], [INFO] [stderr] 13 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 11 | MEM { [INFO] [stderr] 12 | values: [0; 0x800], [INFO] [stderr] 13 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/core/memory.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 30 | return self.values[zp as usize]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.values[zp as usize]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cpu` [INFO] [stderr] --> src/core/cpu.rs:577:21 [INFO] [stderr] | [INFO] [stderr] 577 | fn load (&self, cpu: &mut CPU) -> u8 [INFO] [stderr] | ^^^ help: consider using `_cpu` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cpu` [INFO] [stderr] --> src/core/cpu.rs:579:21 [INFO] [stderr] | [INFO] [stderr] 579 | fn save (&self, cpu: &mut CPU, storeval: u8) [INFO] [stderr] | ^^^ help: consider using `_cpu` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `storeval` [INFO] [stderr] --> src/core/cpu.rs:579:36 [INFO] [stderr] | [INFO] [stderr] 579 | fn save (&self, cpu: &mut CPU, storeval: u8) [INFO] [stderr] | ^^^^^^^^ help: consider using `_storeval` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `game` [INFO] [stderr] --> src/core/nes.rs:29:28 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn boot(&mut self, game: &ROM) { [INFO] [stderr] | ^^^^ help: consider using `_game` instead [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `AccumulatorAM` [INFO] [stderr] --> src/core/cpu.rs:558:1 [INFO] [stderr] | [INFO] [stderr] 558 | pub struct AccumulatorAM; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `AbsoluteAM` [INFO] [stderr] --> src/core/cpu.rs:560:1 [INFO] [stderr] | [INFO] [stderr] 560 | pub struct AbsoluteAM {pub address: u16} /*6*/ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `AbsoluteXAM` [INFO] [stderr] --> src/core/cpu.rs:561:1 [INFO] [stderr] | [INFO] [stderr] 561 | pub struct AbsoluteXAM {pub address: u16} /*7*/ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `AbsoluteYAM` [INFO] [stderr] --> src/core/cpu.rs:562:1 [INFO] [stderr] | [INFO] [stderr] 562 | pub struct AbsoluteYAM {pub address: u16} /*8*/ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `ZeroPageAM` [INFO] [stderr] --> src/core/cpu.rs:563:1 [INFO] [stderr] | [INFO] [stderr] 563 | pub struct ZeroPageAM {pub address: u8} /*3*/ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `ZeroPageXAM` [INFO] [stderr] --> src/core/cpu.rs:564:1 [INFO] [stderr] | [INFO] [stderr] 564 | pub struct ZeroPageXAM {pub address: u8} /*4*/ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `ZeroPageYAM` [INFO] [stderr] --> src/core/cpu.rs:565:1 [INFO] [stderr] | [INFO] [stderr] 565 | pub struct ZeroPageYAM {pub address: u8} /*5*/ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `IndexedIndirectAM` [INFO] [stderr] --> src/core/cpu.rs:566:1 [INFO] [stderr] | [INFO] [stderr] 566 | pub struct IndexedIndirectAM{pub address: u8} /*12*/ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `IndirectIndexedAM` [INFO] [stderr] --> src/core/cpu.rs:567:1 [INFO] [stderr] | [INFO] [stderr] 567 | pub struct IndirectIndexedAM{pub address: u8} /*11*/ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Instructions` [INFO] [stderr] --> src/core/cpu.rs:659:1 [INFO] [stderr] | [INFO] [stderr] 659 | pub struct Instructions { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/core/cpu.rs:670:5 [INFO] [stderr] | [INFO] [stderr] 670 | pub fn new() -> Instructions { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `NES` [INFO] [stderr] --> src/core/nes.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | pub struct NES { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/core/nes.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | pub fn new() -> NES { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `boot` [INFO] [stderr] --> src/core/nes.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn boot(&mut self, game: &ROM) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `fde_loop` [INFO] [stderr] --> src/core/nes.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | pub fn fde_loop (&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `shutdown` [INFO] [stderr] --> src/core/nes.rs:43:5 [INFO] [stderr] | [INFO] [stderr] 43 | pub fn shutdown (&mut self){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `ROM` [INFO] [stderr] --> src/core/cartridge.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | pub struct ROM { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/core/cartridge.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | pub fn new() -> ROM { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/core/cpu.rs:141:29 [INFO] [stderr] | [INFO] [stderr] 141 | self.status = match flag.as_ref() { [INFO] [stderr] | ^^^^^^^^^^^^^ help: try this: `flag` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_asref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `1` [INFO] [stderr] --> src/core/cpu.rs:156:50 [INFO] [stderr] | [INFO] [stderr] 156 | "C" | "c" => if val { self.status | (1 << 0)} [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `1` [INFO] [stderr] --> src/core/cpu.rs:157:50 [INFO] [stderr] | [INFO] [stderr] 157 | else { self.status & !(1 << 0)}, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/core/cpu.rs:163:22 [INFO] [stderr] | [INFO] [stderr] 163 | return match flag.as_ref() { [INFO] [stderr] | ^^^^^^^^^^^^^ help: try this: `flag` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `1` [INFO] [stderr] --> src/core/cpu.rs:171:40 [INFO] [stderr] | [INFO] [stderr] 171 | "C" | "c" => self.status & (1 << 0) == 1, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of left operand [INFO] [stderr] --> src/core/cpu.rs:180:19 [INFO] [stderr] | [INFO] [stderr] 180 | match &self.status & y { [INFO] [stderr] | ------------^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: use the left value directly: `self.status` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/core/cpu.rs:184:13 [INFO] [stderr] | [INFO] [stderr] 184 | y = y / 2; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `y /= 2` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/core/cpu.rs:218:33 [INFO] [stderr] | [INFO] [stderr] 218 | pub fn CLC(&mut self) { self.status = self.status ^ (1);} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.status ^= (1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/core/cpu.rs:220:33 [INFO] [stderr] | [INFO] [stderr] 220 | pub fn CLD(&mut self) { self.status = self.status ^ (1 << 3); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.status ^= (1 << 3)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/core/cpu.rs:222:33 [INFO] [stderr] | [INFO] [stderr] 222 | pub fn CLI(&mut self) { self.status = self.status ^ (1 << 2); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.status ^= (1 << 2)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/core/cpu.rs:224:33 [INFO] [stderr] | [INFO] [stderr] 224 | pub fn CLV(&mut self) { self.status = self.status ^ (1 << 6); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.status ^= (1 << 6)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/core/cpu.rs:227:33 [INFO] [stderr] | [INFO] [stderr] 227 | pub fn SEC(&mut self) { self.status = self.status | (1 << 0); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.status |= (1 << 0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `1` [INFO] [stderr] --> src/core/cpu.rs:227:61 [INFO] [stderr] | [INFO] [stderr] 227 | pub fn SEC(&mut self) { self.status = self.status | (1 << 0); } [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/core/cpu.rs:229:33 [INFO] [stderr] | [INFO] [stderr] 229 | pub fn SED(&mut self) { self.status = self.status | (1 << 3); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.status |= (1 << 3)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/core/cpu.rs:231:33 [INFO] [stderr] | [INFO] [stderr] 231 | pub fn SEI(&mut self) { self.status = self.status | (1 << 2); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.status |= (1 << 2)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/core/cpu.rs:264:22 [INFO] [stderr] | [INFO] [stderr] 264 | let a: u16 = self.a as u16; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(self.a)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/core/cpu.rs:265:22 [INFO] [stderr] | [INFO] [stderr] 265 | let b: u16 = am.load(self) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(am.load(self))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/core/cpu.rs:359:13 [INFO] [stderr] | [INFO] [stderr] 359 | / if b & 128 == 128 { true } [INFO] [stderr] 360 | | else { false }; [INFO] [stderr] | |_______________________________________^ help: you can reduce it to: `b & 128 == 128` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/core/cpu.rs:382:13 [INFO] [stderr] | [INFO] [stderr] 382 | / if b & 1 == 1 { true } [INFO] [stderr] 383 | | else { false }; [INFO] [stderr] | |___________________________________^ help: you can reduce it to: `b & 1 == 1` [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/core/./cpu_test.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | / pub mod cpu_test { [INFO] [stderr] 10 | | //Tests could be greatly improved with [INFO] [stderr] 11 | | // [before_each]/[assemblyintialize]... Maybe one day! [INFO] [stderr] 12 | | use super::*; [INFO] [stderr] ... | [INFO] [stderr] 568 | | fn testOP_TYA() { assert!(false);} [INFO] [stderr] 569 | | } [INFO] [stderr] | [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::module_inception)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/core/cpu.rs:590:38 [INFO] [stderr] | [INFO] [stderr] 590 | { cpu.memory.get( self.address + cpu.x as u16 ) } [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u16::from(cpu.x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/core/cpu.rs:592:38 [INFO] [stderr] | [INFO] [stderr] 592 | { cpu.memory.set( self.address + cpu.x as u16, storeval ); } [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u16::from(cpu.x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/core/cpu.rs:596:38 [INFO] [stderr] | [INFO] [stderr] 596 | { cpu.memory.get( self.address + cpu.y as u16) } [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u16::from(cpu.y)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/core/cpu.rs:598:38 [INFO] [stderr] | [INFO] [stderr] 598 | { cpu.memory.set( self.address + cpu.y as u16, storeval ); } [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u16::from(cpu.y)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/core/./cpu_test.rs:171:29 [INFO] [stderr] | [INFO] [stderr] 171 | cpu.memory.set(165, 01); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::zero_prefixed_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 171 | cpu.memory.set(165, 1); [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 171 | cpu.memory.set(165, 0o1); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/core/./cpu_test.rs:174:35 [INFO] [stderr] | [INFO] [stderr] 174 | assert_eq!(cpu.memory.get(0001), 19, "IndexIndir save"); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 174 | assert_eq!(cpu.memory.get(1), 19, "IndexIndir save"); [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 174 | assert_eq!(cpu.memory.get(0o1), 19, "IndexIndir save"); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/core/./cpu_test.rs:180:29 [INFO] [stderr] | [INFO] [stderr] 180 | cpu.memory.set(245, 02); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 180 | cpu.memory.set(245, 2); [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 180 | cpu.memory.set(245, 0o2); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/core/cpu.rs:623:40 [INFO] [stderr] | [INFO] [stderr] 623 | cpu.memory.get( bytes_to_word!(high as u16,low as u16) ) [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(high)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/core/cpu.rs:623:52 [INFO] [stderr] | [INFO] [stderr] 623 | cpu.memory.get( bytes_to_word!(high as u16,low as u16) ) [INFO] [stderr] | ^^^^^^^^^^ help: try: `u16::from(low)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/core/./cpu_test.rs:183:35 [INFO] [stderr] | [INFO] [stderr] 183 | assert_eq!(cpu.memory.get(0022), 20, "IndirIndex save"); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 183 | assert_eq!(cpu.memory.get(22), 20, "IndirIndex save"); [INFO] [stderr] | ^^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 183 | assert_eq!(cpu.memory.get(0o22), 20, "IndirIndex save"); [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/core/cpu.rs:629:40 [INFO] [stderr] | [INFO] [stderr] 629 | cpu.memory.set( bytes_to_word!(high as u16,low as u16), storeval ); [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(high)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/core/cpu.rs:629:52 [INFO] [stderr] | [INFO] [stderr] 629 | cpu.memory.set( bytes_to_word!(high as u16,low as u16), storeval ); [INFO] [stderr] | ^^^^^^^^^^ help: try: `u16::from(low)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/core/cpu.rs:637:40 [INFO] [stderr] | [INFO] [stderr] 637 | cpu.memory.get( bytes_to_word!(high as u16,low as u16) + cpu.y as u16 ) [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(high)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/core/cpu.rs:637:52 [INFO] [stderr] | [INFO] [stderr] 637 | cpu.memory.get( bytes_to_word!(high as u16,low as u16) + cpu.y as u16 ) [INFO] [stderr] | ^^^^^^^^^^ help: try: `u16::from(low)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/core/cpu.rs:637:66 [INFO] [stderr] | [INFO] [stderr] 637 | cpu.memory.get( bytes_to_word!(high as u16,low as u16) + cpu.y as u16 ) [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u16::from(cpu.y)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/core/cpu.rs:643:40 [INFO] [stderr] | [INFO] [stderr] 643 | cpu.memory.set( bytes_to_word!(high as u16,low as u16) + cpu.y as u16, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(high)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/core/cpu.rs:643:52 [INFO] [stderr] | [INFO] [stderr] 643 | cpu.memory.set( bytes_to_word!(high as u16,low as u16) + cpu.y as u16, [INFO] [stderr] | ^^^^^^^^^^ help: try: `u16::from(low)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/core/cpu.rs:643:66 [INFO] [stderr] | [INFO] [stderr] 643 | cpu.memory.set( bytes_to_word!(high as u16,low as u16) + cpu.y as u16, [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u16::from(cpu.y)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `address` [INFO] [stderr] --> src/core/memory.rs:29:18 [INFO] [stderr] | [INFO] [stderr] 29 | let zp = address & 255; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `address` [INFO] [stderr] --> src/core/memory.rs:46:18 [INFO] [stderr] | [INFO] [stderr] 46 | let zp = address & 255; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/core/./cpu_test.rs:344:43 [INFO] [stderr] | [INFO] [stderr] 344 | test_cpu.LDA(ImmediateAM{address: 0b01111111u8}); //+127 [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `0b0111_1111u8` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/core/./cpu_test.rs:345:43 [INFO] [stderr] | [INFO] [stderr] 345 | test_cpu.ADC(ImmediateAM{address: 0b00000010u8}); //+2 [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `0b0000_0010u8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/core/./cpu_test.rs:348:32 [INFO] [stderr] | [INFO] [stderr] 348 | assert_eq!(test_cpu.a, 0b10000001u8); // = -127 [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `0b1000_0001u8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/core/./cpu_test.rs:392:38 [INFO] [stderr] | [INFO] [stderr] 392 | cpu.LDA(ImmediateAM{address: 0b00000001u8}); //+1 [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `0b0000_0001u8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/core/./cpu_test.rs:393:38 [INFO] [stderr] | [INFO] [stderr] 393 | cpu.SBC(ImmediateAM{address: 0b00000010u8}); //+2 [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `0b0000_0010u8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/core/./cpu_test.rs:396:27 [INFO] [stderr] | [INFO] [stderr] 396 | assert_eq!(cpu.a, 0b11111111u8); // = -1 (254) [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `0b1111_1111u8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/core/./cpu_test.rs:409:38 [INFO] [stderr] | [INFO] [stderr] 409 | cpu.LDA(ImmediateAM{address: 0b11000001u8}); [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `0b1100_0001u8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/core/./cpu_test.rs:410:38 [INFO] [stderr] | [INFO] [stderr] 410 | cpu.AND(ImmediateAM{address: 0b10111111u8}); //Resetting the 6th bit with AND. [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `0b1011_1111u8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/core/./cpu_test.rs:412:27 [INFO] [stderr] | [INFO] [stderr] 412 | assert_eq!(cpu.a, 0b10000001u8); [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `0b1000_0001u8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/core/./cpu_test.rs:420:38 [INFO] [stderr] | [INFO] [stderr] 420 | cpu.LDA(ImmediateAM{address: 0b01010101u8}); [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `0b0101_0101u8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/core/./cpu_test.rs:421:38 [INFO] [stderr] | [INFO] [stderr] 421 | cpu.ORA(ImmediateAM{address: 0b10001101u8}); //Random OR operation, really. [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `0b1000_1101u8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/core/./cpu_test.rs:423:27 [INFO] [stderr] | [INFO] [stderr] 423 | assert_eq!(cpu.a, 0b11011101u8); [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `0b1101_1101u8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/core/./cpu_test.rs:430:38 [INFO] [stderr] | [INFO] [stderr] 430 | cpu.LDA(ImmediateAM{address: 0b11111111u8}); [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `0b1111_1111u8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/core/./cpu_test.rs:431:38 [INFO] [stderr] | [INFO] [stderr] 431 | cpu.EOR(ImmediateAM{address: 0b11111111u8}); //Exclusive OR, should return nothing. [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `0b1111_1111u8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/core/./cpu_test.rs:443:38 [INFO] [stderr] | [INFO] [stderr] 443 | cpu.LDA(ImmediateAM{address: 0b11111111u8}); [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `0b1111_1111u8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/core/./cpu_test.rs:446:27 [INFO] [stderr] | [INFO] [stderr] 446 | assert_eq!(cpu.a, 0b11111110u8); [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `0b1111_1110u8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/core/./cpu_test.rs:455:38 [INFO] [stderr] | [INFO] [stderr] 455 | cpu.LDA(ImmediateAM{address: 0b11111111u8}); [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `0b1111_1111u8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/core/./cpu_test.rs:458:27 [INFO] [stderr] | [INFO] [stderr] 458 | assert_eq!(cpu.a, 0b01111111u8); [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `0b0111_1111u8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/core/./cpu_test.rs:468:38 [INFO] [stderr] | [INFO] [stderr] 468 | cpu.LDA(ImmediateAM{address: 0b01111110u8}); [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `0b0111_1110u8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/core/./cpu_test.rs:471:27 [INFO] [stderr] | [INFO] [stderr] 471 | assert_eq!(cpu.a, 0b11111101u8); [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `0b1111_1101u8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/core/./cpu_test.rs:481:38 [INFO] [stderr] | [INFO] [stderr] 481 | cpu.LDA(ImmediateAM{address: 0b01111110u8}); [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `0b0111_1110u8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/core/./cpu_test.rs:484:27 [INFO] [stderr] | [INFO] [stderr] 484 | assert_eq!(cpu.a, 0b10111111u8); [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `0b1011_1111u8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/core/cpu.rs:163:9 [INFO] [stderr] | [INFO] [stderr] 163 | / return match flag.as_ref() { [INFO] [stderr] 164 | | "N" | "n" => self.status & (1 << 7) == 128, [INFO] [stderr] 165 | | "V" | "v" => self.status & (1 << 6) == 64, [INFO] [stderr] 166 | | "S" | "s" => self.status & (1 << 5) == 32, [INFO] [stderr] ... | [INFO] [stderr] 172 | | _ => panic!("NOT A FLAG"), [INFO] [stderr] 173 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 163 | match flag.as_ref() { [INFO] [stderr] 164 | "N" | "n" => self.status & (1 << 7) == 128, [INFO] [stderr] 165 | "V" | "v" => self.status & (1 << 6) == 64, [INFO] [stderr] 166 | "S" | "s" => self.status & (1 << 5) == 32, [INFO] [stderr] 167 | "B" | "b" => self.status & (1 << 4) == 16, [INFO] [stderr] 168 | "D" | "d" => self.status & (1 << 3) == 8, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/core/memory.rs:11:9 [INFO] [stderr] | [INFO] [stderr] 11 | / return MEM { [INFO] [stderr] 12 | | values: [0; 0x800], [INFO] [stderr] 13 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 11 | MEM { [INFO] [stderr] 12 | values: [0; 0x800], [INFO] [stderr] 13 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/core/memory.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 30 | return self.values[zp as usize]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.values[zp as usize]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cpu` [INFO] [stderr] --> src/core/cpu.rs:577:21 [INFO] [stderr] | [INFO] [stderr] 577 | fn load (&self, cpu: &mut CPU) -> u8 [INFO] [stderr] | ^^^ help: consider using `_cpu` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cpu` [INFO] [stderr] --> src/core/cpu.rs:579:21 [INFO] [stderr] | [INFO] [stderr] 579 | fn save (&self, cpu: &mut CPU, storeval: u8) [INFO] [stderr] | ^^^ help: consider using `_cpu` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `storeval` [INFO] [stderr] --> src/core/cpu.rs:579:36 [INFO] [stderr] | [INFO] [stderr] 579 | fn save (&self, cpu: &mut CPU, storeval: u8) [INFO] [stderr] | ^^^^^^^^ help: consider using `_storeval` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `game` [INFO] [stderr] --> src/core/nes.rs:29:28 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn boot(&mut self, game: &ROM) { [INFO] [stderr] | ^^^^ help: consider using `_game` instead [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `NES` [INFO] [stderr] --> src/core/nes.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | pub struct NES { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/core/nes.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | pub fn new() -> NES { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `boot` [INFO] [stderr] --> src/core/nes.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn boot(&mut self, game: &ROM) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `fde_loop` [INFO] [stderr] --> src/core/nes.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | pub fn fde_loop (&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `shutdown` [INFO] [stderr] --> src/core/nes.rs:43:5 [INFO] [stderr] | [INFO] [stderr] 43 | pub fn shutdown (&mut self){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `ROM` [INFO] [stderr] --> src/core/cartridge.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | pub struct ROM { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/core/cartridge.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | pub fn new() -> ROM { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/core/cpu.rs:141:29 [INFO] [stderr] | [INFO] [stderr] 141 | self.status = match flag.as_ref() { [INFO] [stderr] | ^^^^^^^^^^^^^ help: try this: `flag` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_asref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `1` [INFO] [stderr] --> src/core/cpu.rs:156:50 [INFO] [stderr] | [INFO] [stderr] 156 | "C" | "c" => if val { self.status | (1 << 0)} [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `1` [INFO] [stderr] --> src/core/cpu.rs:157:50 [INFO] [stderr] | [INFO] [stderr] 157 | else { self.status & !(1 << 0)}, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/core/cpu.rs:163:22 [INFO] [stderr] | [INFO] [stderr] 163 | return match flag.as_ref() { [INFO] [stderr] | ^^^^^^^^^^^^^ help: try this: `flag` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `1` [INFO] [stderr] --> src/core/cpu.rs:171:40 [INFO] [stderr] | [INFO] [stderr] 171 | "C" | "c" => self.status & (1 << 0) == 1, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of left operand [INFO] [stderr] --> src/core/cpu.rs:180:19 [INFO] [stderr] | [INFO] [stderr] 180 | match &self.status & y { [INFO] [stderr] | ------------^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: use the left value directly: `self.status` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/core/cpu.rs:184:13 [INFO] [stderr] | [INFO] [stderr] 184 | y = y / 2; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `y /= 2` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/core/cpu.rs:218:33 [INFO] [stderr] | [INFO] [stderr] 218 | pub fn CLC(&mut self) { self.status = self.status ^ (1);} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.status ^= (1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/core/cpu.rs:220:33 [INFO] [stderr] | [INFO] [stderr] 220 | pub fn CLD(&mut self) { self.status = self.status ^ (1 << 3); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.status ^= (1 << 3)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/core/cpu.rs:222:33 [INFO] [stderr] | [INFO] [stderr] 222 | pub fn CLI(&mut self) { self.status = self.status ^ (1 << 2); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.status ^= (1 << 2)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/core/cpu.rs:224:33 [INFO] [stderr] | [INFO] [stderr] 224 | pub fn CLV(&mut self) { self.status = self.status ^ (1 << 6); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.status ^= (1 << 6)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/core/cpu.rs:227:33 [INFO] [stderr] | [INFO] [stderr] 227 | pub fn SEC(&mut self) { self.status = self.status | (1 << 0); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.status |= (1 << 0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `1` [INFO] [stderr] --> src/core/cpu.rs:227:61 [INFO] [stderr] | [INFO] [stderr] 227 | pub fn SEC(&mut self) { self.status = self.status | (1 << 0); } [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/core/cpu.rs:229:33 [INFO] [stderr] | [INFO] [stderr] 229 | pub fn SED(&mut self) { self.status = self.status | (1 << 3); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.status |= (1 << 3)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/core/cpu.rs:231:33 [INFO] [stderr] | [INFO] [stderr] 231 | pub fn SEI(&mut self) { self.status = self.status | (1 << 2); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.status |= (1 << 2)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/core/cpu.rs:264:22 [INFO] [stderr] | [INFO] [stderr] 264 | let a: u16 = self.a as u16; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(self.a)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/core/cpu.rs:265:22 [INFO] [stderr] | [INFO] [stderr] 265 | let b: u16 = am.load(self) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(am.load(self))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/core/cpu.rs:359:13 [INFO] [stderr] | [INFO] [stderr] 359 | / if b & 128 == 128 { true } [INFO] [stderr] 360 | | else { false }; [INFO] [stderr] | |_______________________________________^ help: you can reduce it to: `b & 128 == 128` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/core/cpu.rs:382:13 [INFO] [stderr] | [INFO] [stderr] 382 | / if b & 1 == 1 { true } [INFO] [stderr] 383 | | else { false }; [INFO] [stderr] | |___________________________________^ help: you can reduce it to: `b & 1 == 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/core/cpu.rs:590:38 [INFO] [stderr] | [INFO] [stderr] 590 | { cpu.memory.get( self.address + cpu.x as u16 ) } [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u16::from(cpu.x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/core/cpu.rs:592:38 [INFO] [stderr] | [INFO] [stderr] 592 | { cpu.memory.set( self.address + cpu.x as u16, storeval ); } [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u16::from(cpu.x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/core/cpu.rs:596:38 [INFO] [stderr] | [INFO] [stderr] 596 | { cpu.memory.get( self.address + cpu.y as u16) } [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u16::from(cpu.y)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/core/cpu.rs:598:38 [INFO] [stderr] | [INFO] [stderr] 598 | { cpu.memory.set( self.address + cpu.y as u16, storeval ); } [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u16::from(cpu.y)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/core/cpu.rs:623:40 [INFO] [stderr] | [INFO] [stderr] 623 | cpu.memory.get( bytes_to_word!(high as u16,low as u16) ) [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(high)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/core/cpu.rs:623:52 [INFO] [stderr] | [INFO] [stderr] 623 | cpu.memory.get( bytes_to_word!(high as u16,low as u16) ) [INFO] [stderr] | ^^^^^^^^^^ help: try: `u16::from(low)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/core/cpu.rs:629:40 [INFO] [stderr] | [INFO] [stderr] 629 | cpu.memory.set( bytes_to_word!(high as u16,low as u16), storeval ); [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(high)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/core/cpu.rs:629:52 [INFO] [stderr] | [INFO] [stderr] 629 | cpu.memory.set( bytes_to_word!(high as u16,low as u16), storeval ); [INFO] [stderr] | ^^^^^^^^^^ help: try: `u16::from(low)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/core/cpu.rs:637:40 [INFO] [stderr] | [INFO] [stderr] 637 | cpu.memory.get( bytes_to_word!(high as u16,low as u16) + cpu.y as u16 ) [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(high)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/core/cpu.rs:637:52 [INFO] [stderr] | [INFO] [stderr] 637 | cpu.memory.get( bytes_to_word!(high as u16,low as u16) + cpu.y as u16 ) [INFO] [stderr] | ^^^^^^^^^^ help: try: `u16::from(low)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/core/cpu.rs:637:66 [INFO] [stderr] | [INFO] [stderr] 637 | cpu.memory.get( bytes_to_word!(high as u16,low as u16) + cpu.y as u16 ) [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u16::from(cpu.y)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/core/cpu.rs:643:40 [INFO] [stderr] | [INFO] [stderr] 643 | cpu.memory.set( bytes_to_word!(high as u16,low as u16) + cpu.y as u16, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(high)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/core/cpu.rs:643:52 [INFO] [stderr] | [INFO] [stderr] 643 | cpu.memory.set( bytes_to_word!(high as u16,low as u16) + cpu.y as u16, [INFO] [stderr] | ^^^^^^^^^^ help: try: `u16::from(low)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/core/cpu.rs:643:66 [INFO] [stderr] | [INFO] [stderr] 643 | cpu.memory.set( bytes_to_word!(high as u16,low as u16) + cpu.y as u16, [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u16::from(cpu.y)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `address` [INFO] [stderr] --> src/core/memory.rs:29:18 [INFO] [stderr] | [INFO] [stderr] 29 | let zp = address & 255; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `address` [INFO] [stderr] --> src/core/memory.rs:46:18 [INFO] [stderr] | [INFO] [stderr] 46 | let zp = address & 255; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.97s [INFO] running `"docker" "inspect" "fc63ffea04676eb5b4efbbf0df7ef68903cd3efa900b0aab008c404ca1b45a29"` [INFO] running `"docker" "rm" "-f" "fc63ffea04676eb5b4efbbf0df7ef68903cd3efa900b0aab008c404ca1b45a29"` [INFO] [stdout] fc63ffea04676eb5b4efbbf0df7ef68903cd3efa900b0aab008c404ca1b45a29